:root {
  --font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --color-bg: #fafaf8;
  --color-surface: #f1f2f4;
  --color-text: #17191d;
  --color-text-muted: #686b73;
  --color-border: rgb(23 25 29 / 16%);
  --color-accent-50: #f7edff;
  --color-accent-100: #ecd9ff;
  --color-accent: #8600ef;
  --color-accent-hover: #7200cc;
  --color-bg-dark: #090a0c;
  --color-surface-dark: #15171b;
  --color-text-dark: #f5f6f7;
  --color-text-muted-dark: #a4a7ae;
  --color-border-dark: rgb(255 255 255 / 20%);
  --color-success: #147d45;
  --color-warning: #6c00c4;
  --color-error: #b42318;
  --text-display-xl: clamp(3.5rem, 7vw, 6rem);
  --text-display: clamp(3rem, 5.5vw, 5rem);
  --text-h1: clamp(2.5rem, 4.5vw, 4rem);
  --text-h2: clamp(2.25rem, 3.8vw, 3.5rem);
  --text-h3: clamp(1.75rem, 2.7vw, 2.5rem);
  --text-body-lg: clamp(1.1875rem, 1.5vw, 1.5rem);
  --text-body: clamp(1rem, 1.2vw, 1.125rem);
  --space-2xs: .25rem;
  --space-xs: .5rem;
  --space-sm: .75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: clamp(2.5rem, 5vw, 4rem);
  --space-3xl: clamp(4rem, 8vw, 7rem);
  --space-section: clamp(5rem, 11vw, 10rem);
  --space-section-hero: clamp(6rem, 14vw, 12.5rem);
  --container: 78.75rem;
  --container-wide: 105rem;
  --page-gutter: clamp(1.25rem, 6.25vw, 5rem);
  --grid-gap: clamp(1rem, 1.8vw, 1.5rem);
  --radius-sm: .5rem;
  --radius-md: .875rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;
  --radius-pill: 999px;
  --border-subtle: 1px solid var(--color-border);
  --shadow-card: 0 12px 40px rgb(9 10 12 / 8%);
  --shadow-float: 0 20px 60px rgb(9 10 12 / 16%);
  --z-sticky: 100;
  --z-header: 200;
  --z-overlay: 400;
  --motion-fast: 160ms;
  --motion-standard: 320ms;
  --motion-slow: 700ms;
  --motion-cinematic: 900ms;
  --ease-standard: cubic-bezier(.2, .8, .2, 1);
  --ease-expressive: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font: 400 var(--text-body)/1.55 var(--font-body); letter-spacing: -.008em; overflow-x: hidden; }
#smooth-wrapper { overflow: hidden; }
#smooth-content { min-height: 100%; }
body.menu-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
p, h1, h2, h3, ul, ol, dl, figure { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.02em; text-wrap: balance; }
h1 { max-width: 16ch; margin-bottom: var(--space-lg); font-size: var(--text-display); line-height: 1.02; }
h2 { max-width: 18ch; margin-bottom: var(--space-lg); font-size: var(--text-h2); line-height: 1.07; }
h3 { margin-bottom: var(--space-sm); font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.16; }
p { max-width: 70ch; }
.container { width: min(calc(100% - 2 * var(--page-gutter)), var(--container)); margin-inline: auto; }
.theme-dark { background: var(--color-bg-dark); color: var(--color-text-dark); }
.theme-dark p { color: var(--color-text-muted-dark); }
.section { padding-block: var(--space-section); }
.section--large { padding-block: var(--space-section-hero); }
.section--surface { background: var(--color-surface); }
.section-header { display: grid; align-items: end; gap: var(--space-md); margin-bottom: var(--space-2xl); }
.section-header h2 { margin-bottom: 0; }
.section-header > p:last-child { margin-bottom: 0; color: var(--color-text-muted); font-size: var(--text-body-lg); }
.theme-dark .section-header > p:last-child { color: var(--color-text-muted-dark); }
.eyebrow { margin-bottom: var(--space-sm); color: var(--color-accent); font-size: .78rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.skip-link { position: fixed; z-index: 999; top: .5rem; left: .5rem; padding: .75rem 1rem; border-radius: var(--radius-sm); background: var(--color-text); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }

.global-header { position: sticky; z-index: var(--z-header); top: 0; height: 4rem; border-bottom: 1px solid transparent; background: rgb(250 250 248 / 92%); backdrop-filter: blur(16px); transition: border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease; }
.global-header.is-scrolled { border-color: var(--color-border); box-shadow: 0 8px 24px rgb(9 10 12 / 5%); }
.header-inner { display: flex; width: min(calc(100% - 2rem), 90rem); height: 100%; margin-inline: auto; align-items: center; justify-content: space-between; gap: 1rem; }
.header-logo { display: flex; width: clamp(9.25rem, 13vw, 12rem); align-items: center; text-decoration: none; }
.brand-logo, .brand-logo picture, .brand-logo img { display: block; width: 100%; }
.desktop-nav { display: none; }
.desktop-nav ul, .mobile-menu ul, .global-footer ul { margin: 0; padding: 0; list-style: none; }
.desktop-nav ul { display: flex; align-items: center; gap: clamp(.7rem, 1.2vw, 1.2rem); }
.desktop-nav a { color: var(--color-text-muted); font-size: .82rem; font-weight: 500; line-height: 1.2; text-decoration: none; transition: color var(--motion-fast) ease; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color: var(--color-text); }
.header-actions { display: flex; align-items: center; gap: .5rem; }
.header-actions [data-header-cta] { display: none; }
.menu-toggle { display: inline-grid; width: 2.75rem; height: 2.75rem; padding: 0; place-content: center; gap: .35rem; border: 1px solid var(--color-border); border-radius: 50%; background: transparent; color: var(--color-text); cursor: pointer; }
.menu-toggle span { display: block; width: 1.1rem; height: 1px; background: currentColor; transition: transform var(--motion-standard) var(--ease-standard); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(.175rem) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-.175rem) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: var(--z-overlay); inset: 4rem 0 0; padding: var(--space-xl) var(--page-gutter) var(--space-2xl); overflow-y: auto; background: var(--color-bg); }
.mobile-menu[hidden] { display: none; }
.mobile-menu li { border-bottom: 1px solid var(--color-border); }
.mobile-menu nav a { display: flex; min-height: 3.5rem; align-items: center; font-size: clamp(1.25rem, 5vw, 2rem); font-weight: 500; text-decoration: none; }
.mobile-menu > .button { width: 100%; margin-top: var(--space-xl); }

.button { display: inline-flex; min-height: 2.75rem; padding: .75rem 1.4rem; align-items: center; justify-content: center; gap: .6rem; border: 1px solid transparent; border-radius: var(--radius-pill); font-size: .95rem; font-weight: 600; line-height: 1; text-decoration: none; transition: transform var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease; }
.button span { transition: transform var(--motion-fast) ease; }
.button:hover { transform: translateY(-1px); }
.button:hover span { transform: translate(2px, -2px); }
.button--primary { background: var(--color-accent); color: white; }
.button--primary:hover { background: var(--color-accent-hover); }
.button--secondary { border-color: var(--color-border); background: transparent; color: var(--color-text); }
.button--secondary:hover { border-color: var(--color-text); }
.button--text { min-height: 3rem; padding: .8rem 1.3rem; border-color: rgb(134 0 239 / 38%); background: var(--color-accent-50); color: var(--color-accent); box-shadow: 0 .65rem 1.75rem rgb(80 16 125 / 7%); }
.button--text:hover { border-color: var(--color-accent); background: var(--color-accent); color: white; transform: translateY(-2px); }
.button--light { background: var(--color-text-dark); color: var(--color-bg-dark); }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; }

.hero { position: relative; display: grid; min-height: clamp(36rem, 82svh, 54rem); align-items: end; padding-block: clamp(7rem, 14vw, 10rem) var(--space-2xl); overflow: hidden; }
.hero--compact { min-height: min(42rem, 78svh); align-items: center; padding-block: clamp(7rem, 12vw, 9rem) var(--space-3xl); }
.hero-content { position: relative; z-index: 2; }
.hero--media { color: white; }
.hero--media::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 12%) 20%, rgb(0 0 0 / 78%) 100%); content: ""; }
.hero-media-picture, .hero-media-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media-picture img { object-fit: cover; object-position: 58% center; }
.hero-lead { max-width: 60ch; margin-bottom: var(--space-xl); color: var(--color-text-muted); font-size: var(--text-body-lg); line-height: 1.45; }
.hero--media .hero-lead { color: rgb(255 255 255 / 86%); }
.hero--media .button--secondary { border-color: rgb(255 255 255 / 60%); color: white; }
.credibility-strip { border-bottom: var(--border-subtle); background: var(--color-bg); }
.credibility-grid { display: grid; }
.credibility-grid p { margin: 0; padding: 1.4rem 0; border-bottom: var(--border-subtle); color: var(--color-text-muted); font-size: .92rem; }
.credibility-grid p:last-child { border-bottom: 0; }
.credibility-title { display: block; margin-bottom: .2rem; color: var(--color-text); font-weight: 600; }

.split-intro { display: grid; gap: var(--space-2xl); }
.split-intro-heading .section-header { margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.split-intro-heading > .button { margin-top: 0; }
.section-cta { display: flex; margin-top: clamp(2rem, 5vw, 4rem); justify-content: flex-start; }
.prose p { color: var(--color-text-muted); font-size: var(--text-body-lg); }
.prose p:last-of-type { margin-bottom: var(--space-xl); }
.journey-grid, .principles-grid, .solution-list { display: grid; gap: 0; border-top: 1px solid var(--color-border-dark); }
.feature-item { position: relative; padding: var(--space-xl) 0; border-bottom: 1px solid var(--color-border); }
.theme-dark .feature-item { border-color: var(--color-border-dark); }
.feature-item > span { display: block; margin-bottom: var(--space-lg); color: var(--color-accent); font-size: .78rem; font-weight: 600; }
.feature-item p { margin-bottom: 0; color: var(--color-text-muted); }
.theme-dark .feature-item p { color: var(--color-text-muted-dark); }
.moments-grid { display: grid; gap: var(--grid-gap); }
.moment-card { display: flex; min-height: 25rem; padding: clamp(1.5rem, 4vw, 2.5rem); flex-direction: column; align-items: flex-start; border-radius: var(--radius-xl); background: var(--color-bg); }
.moment-card h3 { margin-top: auto; }
.moment-card .button { margin-top: var(--space-md); }

.video-story { position: relative; min-height: 100svh; overflow: hidden; }
.video-story-media { position: absolute; inset: 0; }
.video-story-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 20%), rgb(0 0 0 / 82%)); content: ""; }
.video-story video { width: 100%; height: 100%; object-fit: cover; }
.video-control { position: absolute; z-index: 2; top: 5rem; right: var(--page-gutter); display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgb(255 255 255 / 44%); border-radius: 50%; background: rgb(9 10 12 / 72%); color: white; cursor: pointer; }
.video-story-copy { position: relative; z-index: 2; display: flex; min-height: 100svh; padding-block: var(--space-3xl); flex-direction: column; justify-content: flex-end; }
.video-story-copy h2 { font-size: var(--text-display); }
.video-story-copy p { max-width: 58ch; font-size: var(--text-body-lg); }
.video-story-copy .button { width: auto; align-self: flex-start; }

.projects-grid { display: grid; gap: var(--space-xl) var(--grid-gap); }
.project-card { min-width: 0; overflow: hidden; border-radius: var(--radius-xl); background: var(--color-surface); }
.section--surface .project-card { background: var(--color-bg); }
.project-card > a { display: block; height: 100%; text-decoration: none; }
.project-card-media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: #d8dade; }
.project-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--motion-cinematic) var(--ease-expressive); }
.project-card:hover .project-card-media img { transform: scale(1.02); }
.project-card-body { display: grid; min-height: 13rem; padding: var(--space-lg); align-content: space-between; gap: var(--space-md); }
.project-card-body h3 { margin-bottom: 0; }
.project-location, .project-area { margin-bottom: .35rem; color: var(--color-text-muted); font-size: .84rem; }
.project-area { color: var(--color-accent); font-size: 1.05rem; font-weight: 700; letter-spacing: -.015em; }
.project-card-link { display: flex; align-items: center; justify-content: space-between; font-size: .9rem; font-weight: 600; }
.section-action { margin-top: var(--space-2xl); }

.logo-cloud { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--color-border); background: var(--color-border); }
.logo-cloud-item { display: grid; min-height: 9rem; padding: 1.25rem; place-items: center; background: var(--color-bg); }
.logo-cloud-item picture { display: flex; width: 100%; height: 4.5rem; align-items: center; justify-content: center; }
.logo-cloud-item img { width: auto; max-width: 82%; max-height: 4.5rem; object-fit: contain; filter: grayscale(1); }

.cta-section { padding-block: var(--space-section); }
.cta-inner { display: grid; align-items: end; gap: var(--space-2xl); }
.cta-inner h2 { max-width: 15ch; }
.cta-inner p:last-child { color: var(--color-text-muted-dark); }
.cta-inner .button { justify-self: start; }
.role-grid, .audience-grid { display: grid; gap: var(--space-3xl); }
.role-grid article, .audience-grid article { padding-top: var(--space-xl); border-top: 1px solid var(--color-border-dark); }
.role-grid h2, .audience-grid h2 { font-size: var(--text-h3); }

.solution-chapter { scroll-margin-top: 4rem; }
.solutions-page .hero-media-picture img { object-position: center; filter: saturate(.82) contrast(1.05); }
.solutions-page .hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 79%) 42%, rgb(4 4 6 / 16%) 76%), linear-gradient(0deg, rgb(4 4 6 / 78%), transparent 52%); }
.solution-chapter-media { position: relative; margin: clamp(2.5rem, 5vw, 4.5rem) 0 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-bg-dark); }
.solution-chapter-media picture,
.solution-chapter-media img { display: block; width: 100%; }
.solution-chapter-media img { aspect-ratio: 16 / 8.5; object-fit: cover; filter: saturate(.88) contrast(1.02); }
.solution-chapter-media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgb(5 5 8 / 88%), transparent); content: ""; pointer-events: none; }
.solution-chapter-media figcaption { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); max-width: 35rem; margin: 0; color: white; font-size: clamp(1.05rem, 1.7vw, 1.5rem); line-height: 1.4; }
.solution-chapter .solution-list { margin-top: clamp(2.75rem, 5vw, 4.5rem); }
.solution-chapter.section--surface .solution-chapter-media { box-shadow: 0 1.5rem 4rem rgb(41 14 62 / 12%); }
.process-flow { display: grid; margin: clamp(2.5rem, 5vw, 4.5rem) 0 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; }
.process-flow li { position: relative; display: flex; min-width: 0; min-height: 7.5rem; padding: 2.75rem 1.35rem 1.25rem; align-items: flex-end; overflow: hidden; border: 1px solid var(--color-border-dark); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(134 0 239 / 13%), rgb(255 255 255 / 2%) 55%), #0d0e11; color: var(--color-text-dark); font-size: clamp(1.05rem, 1.5vw, 1.35rem); font-weight: 600; }
.process-flow li::before { position: absolute; top: 1.2rem; left: 1.35rem; width: .65rem; height: .65rem; border: 1px solid rgb(203 132 255 / 72%); border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 0 .35rem rgb(134 0 239 / 12%), 0 0 1.5rem rgb(134 0 239 / 42%); content: ""; }
.process-flow li::after { position: absolute; top: 1.5rem; left: 2.6rem; width: 2.4rem; height: 1px; background: linear-gradient(90deg, rgb(181 76 255 / 70%), transparent); content: ""; }
.process-note { max-width: 52rem; margin: clamp(2rem, 4vw, 3.5rem) 0 0; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }

@media (max-width: 1068px) {
  .process-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 734px) {
  .process-flow { grid-template-columns: 1fr; gap: .75rem; }
  .process-flow li { min-height: 6.5rem; }
}

.project-filters { display: flex; margin: 0 calc(var(--page-gutter) * -1); padding: 0 var(--page-gutter) .5rem; gap: .5rem; overflow-x: auto; }
.project-filters button { min-height: 2.75rem; padding: .6rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: transparent; white-space: nowrap; }
.project-filters button[aria-pressed="true"] { border-color: var(--color-text); background: var(--color-text); color: white; }
.project-filters button:disabled { opacity: .48; cursor: not-allowed; }
.filter-note { margin: .6rem 0 var(--space-2xl); color: var(--color-text-muted); font-size: .82rem; }
.criteria-cloud { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: .65rem; list-style: none; }
.criteria-cloud li { padding: .8rem 1rem; border: var(--border-subtle); border-radius: var(--radius-pill); background: var(--color-bg); }
.owners-criteria .section-header { margin-bottom: clamp(2.75rem, 6vw, 5rem); }
.criteria-grid { display: grid; gap: 1rem; }
.criteria-group { position: relative; min-width: 0; padding: clamp(1.5rem, 3vw, 2.35rem); overflow: hidden; border: 1px solid rgb(134 0 239 / 16%); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(134 0 239 / 9%), transparent 48%), var(--color-surface); box-shadow: 0 1.25rem 3rem rgb(50 14 77 / 6%); }
.criteria-group::after { position: absolute; top: -5rem; right: -5rem; width: 11rem; aspect-ratio: 1; border: 1px solid rgb(134 0 239 / 12%); border-radius: 50%; content: ""; box-shadow: inset 0 0 0 2.2rem rgb(134 0 239 / 3%); }
.criteria-group-icon { position: relative; z-index: 1; display: grid; width: 3.5rem; height: 3.5rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); place-items: center; border: 1px solid rgb(134 0 239 / 28%); border-radius: 50%; background: rgb(134 0 239 / 8%); color: var(--color-accent); }
.criteria-group-icon svg { width: 1.55rem; height: 1.55rem; }
.criteria-group-number { position: relative; z-index: 1; display: block; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); color: var(--color-accent); font-size: clamp(4.75rem, 7vw, 7rem); font-weight: 500; line-height: .78; letter-spacing: -.07em; }
.criteria-group h3 { position: relative; z-index: 1; margin-bottom: 1.4rem; font-size: clamp(1.55rem, 2.2vw, 2.2rem); }
.criteria-group ul { position: relative; z-index: 1; margin: 0; padding: 0; list-style: none; }
.criteria-group li { display: flex; padding: .72rem 0; align-items: center; gap: .75rem; border-top: 1px solid var(--color-border); color: var(--color-text-muted); }
.criteria-group li::before { width: .42rem; height: .42rem; flex: 0 0 auto; border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 0 .25rem rgb(134 0 239 / 8%); content: ""; }

@media (min-width: 735px) {
  .criteria-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .criteria-group:last-child { grid-column: 1 / -1; }
}

@media (min-width: 1069px) {
  .criteria-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .criteria-group:last-child { grid-column: auto; }
}

/* Proprietários e investidores: o terreno e a decisão aparecem no conteúdo */
.owners-page .hero-media-picture img { object-position: center; filter: saturate(.82) contrast(1.04); }
.owners-page .hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 78%) 40%, rgb(4 4 6 / 14%) 76%), linear-gradient(0deg, rgb(4 4 6 / 78%), transparent 52%); }
.owners-intro { overflow: hidden; }
.owners-analysis-media { position: relative; margin: clamp(2.75rem, 6vw, 5.5rem) 0 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-bg-dark); }
.owners-analysis-media picture,
.owners-analysis-media img,
.owners-investment-media picture,
.owners-investment-media img { display: block; width: 100%; }
.owners-analysis-media img { aspect-ratio: 16 / 8.5; object-fit: cover; filter: saturate(.86) contrast(1.03); }
.owners-analysis-media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgb(5 5 8 / 88%), transparent); content: ""; pointer-events: none; }
.owners-analysis-media figcaption { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); max-width: 37rem; margin: 0; color: white; font-size: clamp(1.05rem, 1.7vw, 1.5rem); line-height: 1.4; }
.owners-investment .container { display: grid; gap: clamp(3rem, 6vw, 5rem); }
.owners-investment-media { overflow: hidden; border-radius: var(--radius-lg); background: #111116; }
.owners-investment-media img { aspect-ratio: 16 / 8.5; object-fit: cover; filter: saturate(.84) contrast(1.04); }
.owners-investment .audience-grid { gap: var(--grid-gap); }
.owners-investment .audience-grid p { color: var(--color-text-muted-dark); }
.segments { margin-bottom: var(--space-2xl); color: var(--color-text-muted); font-size: var(--text-body-lg); line-height: 1.7; }

/* Lojistas e operadores: escolha do ponto, ecossistema e implantação */
.operators-page .hero-media-picture img { object-position: center; filter: saturate(.86) contrast(1.04); }
.operators-page .hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 94%) 0%, rgb(4 4 6 / 72%) 43%, rgb(4 4 6 / 10%) 76%), linear-gradient(0deg, rgb(4 4 6 / 78%), transparent 52%); }
.operators-ecosystem { position: relative; min-height: clamp(38rem, 66vw, 58rem); overflow: hidden; border-block: 1px solid var(--color-border-dark); }
.operators-ecosystem-picture,
.operators-ecosystem-picture img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.operators-ecosystem-picture img { object-fit: cover; filter: saturate(.88) contrast(1.04); }
.operators-ecosystem::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(5 5 8 / 96%) 0%, rgb(5 5 8 / 75%) 38%, rgb(5 5 8 / 8%) 72%), linear-gradient(0deg, rgb(5 5 8 / 78%), transparent 58%); content: ""; pointer-events: none; }
.operators-ecosystem-copy { position: relative; z-index: 1; display: flex; min-height: inherit; padding-block: var(--space-3xl); flex-direction: column; justify-content: flex-end; }
.operators-ecosystem-copy h2 { max-width: 13ch; font-size: var(--text-h1); letter-spacing: -.055em; }
.operators-ecosystem-copy p { max-width: 36rem; margin: 0; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }
.operators-preparation-media { position: relative; margin: clamp(2.75rem, 5vw, 4.5rem) 0 clamp(2.75rem, 5vw, 4.5rem); overflow: hidden; border-radius: var(--radius-lg); background: var(--color-bg-dark); }
.operators-preparation-media picture,
.operators-preparation-media img { display: block; width: 100%; }
.operators-preparation-media img { aspect-ratio: 16 / 8.5; object-fit: cover; filter: saturate(.86) contrast(1.03); }
.operators-preparation-media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgb(5 5 8 / 88%), transparent); content: ""; pointer-events: none; }
.operators-preparation-media figcaption { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); max-width: 38rem; margin: 0; color: white; font-size: clamp(1.05rem, 1.7vw, 1.5rem); line-height: 1.4; }
.operators-page .segments { max-width: 68rem; }

.accordion { border-top: var(--border-subtle); }
.accordion-item { border-bottom: var(--border-subtle); }
.accordion-item h3 { margin: 0; }
.accordion-item button { display: flex; width: 100%; min-height: 4.5rem; padding: 1rem 0; align-items: center; justify-content: space-between; border: 0; background: transparent; color: var(--color-text); font-weight: 600; text-align: left; cursor: pointer; }
.accordion-item button span { font-size: 1.5rem; font-weight: 400; transition: transform var(--motion-standard) var(--ease-standard); }
.accordion-item button[aria-expanded="true"] span { transform: rotate(45deg); }
.accordion-item [role="region"] { padding: 0 2rem 1.5rem 0; }
.accordion-item [role="region"] p { color: var(--color-text-muted); }
.disclaimer { margin-top: var(--space-2xl); padding: var(--space-lg); border-left: 4px solid var(--color-accent); background: var(--color-accent-50); }
.disclaimer p { margin: .4rem 0 0; }
.group-flow { margin: 0; padding: 0; list-style: none; }
.group-flow li { display: grid; padding: var(--space-xl) 0; grid-template-columns: 3rem 1fr; gap: var(--space-md); border-top: 1px solid var(--color-border-dark); }
.group-flow li > span { color: var(--color-accent); font-size: .8rem; font-weight: 600; }
.group-flow h3 { margin-bottom: .3rem; }
.group-flow p { margin-bottom: 0; }

.contact-layout { display: grid; gap: var(--space-3xl); }
.contact-form { padding: var(--space-lg); border: var(--border-subtle); border-radius: var(--radius-xl); background: white; }
.form-grid { display: grid; gap: var(--space-lg); }
.form-field { min-width: 0; }
.form-field label { display: block; margin-bottom: .45rem; font-size: .9rem; font-weight: 600; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 3.25rem; padding: .8rem .95rem; border: 1px solid #8b8e95; border-radius: var(--radius-md); background: white; color: var(--color-text); }
.form-field textarea { min-height: 9rem; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--color-accent); outline: 2px solid var(--color-accent); outline-offset: 1px; }
.form-field [aria-invalid="true"] { border-color: var(--color-error); }
.field-help, .field-error { margin: .4rem 0 0; font-size: .78rem; }
.field-help { color: var(--color-text-muted); }
.field-error { min-height: 1.1em; color: var(--color-error); }
.technical-note { margin: var(--space-lg) 0; padding: 1rem; border-radius: var(--radius-md); background: var(--color-surface); color: var(--color-text-muted); font-size: .84rem; }
.submit-button { min-width: 12rem; border: 0; cursor: pointer; }
.submit-button:disabled { opacity: .68; cursor: wait; }
.form-status { margin-top: var(--space-lg); }
.form-status:not(:empty) { padding: 1rem; border-radius: var(--radius-md); background: #f3eafe; color: #4d008d; }
.legal-pending { max-width: 48rem; padding: var(--space-2xl); border: var(--border-subtle); border-radius: var(--radius-xl); background: white; }
.not-found { display: grid; min-height: calc(100svh - 4rem); padding-block: var(--space-section); align-items: center; }
.not-found p:not(.eyebrow) { color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }

.breadcrumbs { padding-top: var(--space-lg); }
.breadcrumbs ol { display: flex; margin: 0; padding: 0; flex-wrap: wrap; gap: .4rem; list-style: none; color: var(--color-text-muted); font-size: .82rem; }
.breadcrumbs li:not(:last-child)::after { margin-left: .4rem; content: "/"; }
.project-detail-hero { padding-bottom: var(--space-2xl); }
.project-detail-title { padding-top: var(--space-section); }
.project-detail-area { color: var(--color-text-muted); font-size: var(--text-body-lg); }
.project-detail-media { width: min(calc(100% - 2rem), var(--container-wide)); margin-inline: auto; overflow: hidden; border-radius: var(--radius-xl); }
.project-detail-media picture, .project-detail-media img { display: block; width: 100%; }
.project-detail-media img { aspect-ratio: 16 / 9; object-fit: cover; }
.project-detail-intro { display: grid; gap: var(--space-2xl); }
.project-detail-intro dl { margin: 0; border-top: var(--border-subtle); }
.project-detail-intro dl div { display: grid; padding: 1rem 0; grid-template-columns: 1fr 1fr; border-bottom: var(--border-subtle); }
.project-detail-intro dt { color: var(--color-text-muted); }
.project-detail-intro dd { margin: 0; font-weight: 600; text-align: right; }
.gallery-shell { position: relative; }
.gallery-track { display: flex; margin: 0 calc(var(--page-gutter) * -1); padding: 0 var(--page-gutter) var(--space-lg); gap: 1rem; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.gallery-item { min-width: min(88vw, 68rem); margin-bottom: 0; scroll-snap-align: start; }
.gallery-item picture, .gallery-item img { display: block; width: 100%; }
.gallery-item img { aspect-ratio: 16 / 10; border-radius: var(--radius-lg); background: white; object-fit: contain; }
.gallery-item figcaption { margin-top: .65rem; color: var(--color-text-muted); font-size: .8rem; }
.gallery-controls { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; }
.gallery-controls button { width: 2.75rem; height: 2.75rem; border: var(--border-subtle); border-radius: 50%; background: var(--color-bg); cursor: pointer; }
.gallery-controls span { color: var(--color-text-muted); font-size: .8rem; }

.global-footer { padding-block: 0 var(--space-xl); background: var(--color-bg-dark); color: var(--color-text-dark); }
.footer-top { display: grid; gap: var(--space-3xl); }
.brand-logo--footer { width: min(15rem, 80vw); margin-bottom: var(--space-xl); }
.footer-brand p { color: var(--color-text-muted-dark); }
.global-footer nav ul { display: grid; }
.global-footer nav a { display: flex; min-height: 3rem; align-items: center; border-bottom: 1px solid var(--color-border-dark); text-decoration: none; }
.footer-bottom { display: flex; margin-top: var(--space-3xl); padding-top: var(--space-lg); justify-content: space-between; gap: 1rem; border-top: 1px solid var(--color-border-dark); color: var(--color-text-muted-dark); font-size: .8rem; }

.motion-ready [data-reveal] { opacity: 0; transform: translateY(1.75rem); transition: opacity var(--motion-slow) var(--ease-expressive), transform var(--motion-slow) var(--ease-expressive); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (min-width: 735px) {
  .header-actions [data-header-cta] { display: inline-flex; }
  .credibility-grid { grid-template-columns: repeat(3, 1fr); }
  .credibility-grid p { padding: 1.5rem; border-right: var(--border-subtle); border-bottom: 0; }
  .credibility-grid p:first-child { padding-left: 0; }
  .credibility-grid p:last-child { border-right: 0; }
  .section-header { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); }
  .section-header .eyebrow { grid-column: 1 / -1; }
  .section-header h2 + p { grid-column: 2; }
  .moments-grid, .principles-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .principles-grid { gap: var(--grid-gap); border-top: 0; }
  .principles-grid .feature-item { border-top: var(--border-subtle); }
  .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projects-grid--featured .project-card:first-child { grid-column: 1 / -1; }
  .projects-grid--featured .project-card:first-child .project-card-media { aspect-ratio: 2 / 1; }
  .logo-cloud { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .role-grid, .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solution-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--grid-gap); }
  .contact-form { padding: var(--space-2xl); }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-field--full { grid-column: 1 / -1; }
  .project-detail-intro { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1.2fr .8fr; }
}

@media (min-width: 1069px) {
  .hero-media-picture img { object-position: center; }
  .split-intro { grid-template-columns: 5fr 7fr; }
  .split-intro > .section-header { display: block; margin-bottom: 0; }
  .split-intro-heading .section-header { display: block; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
  .journey-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--grid-gap); border-top: 0; }
  .journey-grid .feature-item { min-height: 18rem; padding-top: var(--space-xl); border-top: 1px solid var(--color-border-dark); }
  .projects-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .projects-grid--featured .project-card:first-child { grid-column: span 2; grid-row: span 2; }
  .projects-grid--featured .project-card:first-child .project-card-media { aspect-ratio: 16 / 10; }
  .projects-grid--featured .project-card:first-child .project-card-body { min-height: 15rem; }
  .logo-cloud { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cta-inner { grid-template-columns: 1fr auto; }
  .cta-inner .button { justify-self: end; }
  .solution-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: 4fr 8fr; }
  .project-detail-title { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); }
  .project-detail-title .eyebrow { width: 100%; }
  .project-detail-title h1 { margin-bottom: 0; }
  .gallery-track { margin-inline: 0; padding-inline: 0; }
}

@media (min-width: 1180px) {
  .desktop-nav { display: block; }
  .menu-toggle { display: none; }
  .header-inner { width: min(calc(100% - 3rem), 90rem); }
}

@media (min-width: 1441px) {
  .project-detail-media { width: min(calc(100% - 3rem), var(--container-wide)); }
}

@media (max-width: 734px) {
  .hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .hero .button { width: 100%; }
  .project-card-body { min-height: 11rem; }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="full"]) *,
  html:not([data-motion="full"]) *::before,
  html:not([data-motion="full"]) *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  html:not([data-motion="full"]) .video-story video { display: none; }
  html:not([data-motion="full"]) .video-story-media { background: url("../derived/video/poster-source-1280.avif") center / cover no-repeat; }
  html:not([data-motion="full"]) .video-control { display: none; }
}

@media (prefers-contrast: more) {
  :root { --color-text-muted: #474a51; --color-text-muted-dark: #d0d2d7; --color-border: rgb(23 25 29 / 40%); --color-border-dark: rgb(255 255 255 / 45%); }
}

/* EG Grupo visual language translated to the EG Malls purple identity. */
:root {
  --color-accent-deep: #4d008d;
  --color-accent-rich: #6c00c4;
  --color-accent-bright: #a93cff;
  --color-purple-surface: #f3eafe;
  --color-purple-border: rgb(154 44 255 / 34%);
  --text-display-xl: clamp(4rem, 8vw, 7.8rem);
  --text-display: clamp(3.35rem, 7.2vw, 7rem);
  --text-h1: clamp(3rem, 6vw, 5.7rem);
  --text-h2: clamp(2.8rem, 5.5vw, 5rem);
  --radius-xl: 1.25rem;
}

html { background: var(--color-bg-dark); scroll-behavior: auto; }
body { background: var(--color-bg-dark); color: var(--color-text-dark); }
h1, h2, h3 { font-weight: 600; letter-spacing: -.045em; }
h1 { line-height: .94; }
h2 { line-height: 1.01; }
::selection { background: var(--color-accent); color: white; }

.section:not(.theme-dark),
.project-detail-page .section:not(.theme-dark) { background: var(--color-bg); color: var(--color-text); }
.section--surface,
.section.section--surface {
  background: radial-gradient(circle at 86% 8%, rgb(134 0 239 / 11%), transparent 28rem), var(--color-purple-surface);
}
.theme-dark { background: radial-gradient(circle at 82% 12%, rgb(134 0 239 / 10%), transparent 30rem), var(--color-bg-dark); }

.global-header {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
  height: 4.75rem;
  border-color: transparent;
  background: linear-gradient(180deg, rgb(5 5 7 / 58%), transparent);
  color: var(--color-text-dark);
  backdrop-filter: none;
  transition: height var(--motion-standard) var(--ease-standard), background var(--motion-standard), border-color var(--motion-standard), backdrop-filter var(--motion-standard);
}
.global-header.is-scrolled { height: 4rem; border-color: var(--color-border-dark); background: rgb(9 10 12 / 91%); box-shadow: none; backdrop-filter: blur(16px); }
.header-inner { width: min(calc(100% - 2 * clamp(1.25rem, 3.4vw, 3rem)), 100rem); }
.header-logo { width: clamp(12rem, 17vw, 16rem); transform-origin: left center; transition: transform var(--motion-standard) var(--ease-expressive); }
.global-header.is-scrolled .header-logo { transform: scale(.82); }
.desktop-nav a { position: relative; color: rgb(245 246 247 / 72%); }
.desktop-nav a::after { position: absolute; right: 0; bottom: -.5rem; left: 0; height: 1px; background: var(--color-accent-bright); content: ""; transform: scaleX(0); transform-origin: left; transition: transform var(--motion-standard) var(--ease-expressive); }
.desktop-nav a:hover,
.desktop-nav a[aria-current="page"] { color: white; }
.desktop-nav a:hover::after,
.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle { border-color: var(--color-border-dark); background: rgb(9 10 12 / 42%); color: white; }
.mobile-menu { background: var(--color-bg-dark); color: white; }
.mobile-menu li { border-color: var(--color-border-dark); }

.button { --glow-x: 50%; --glow-y: 50%; position: relative; isolation: isolate; min-height: 3rem; padding-inline: 1.55rem; overflow: hidden; }
.button::before { position: absolute; z-index: -1; top: var(--glow-y); left: var(--glow-x); width: 7rem; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(255 255 255 / 36%) 0%, rgb(255 255 255 / 8%) 42%, transparent 70%); content: ""; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(.65); transition: opacity var(--motion-fast) ease, transform var(--motion-standard) var(--ease-expressive); }
.button:hover::before { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.button:focus-visible { outline: 2px solid var(--color-accent-bright); outline-offset: 4px; }
.button--primary { background: linear-gradient(135deg, var(--color-accent-rich), var(--color-accent)); box-shadow: 0 10px 30px rgb(134 0 239 / 20%); }
.button--primary:hover { background: linear-gradient(135deg, var(--color-accent-deep), var(--color-accent)); }
.button--secondary { border-color: currentColor; }
.button--outline { border-color: rgb(134 0 239 / 42%); background: linear-gradient(135deg, rgb(134 0 239 / 9%), rgb(181 76 255 / 3%)); color: var(--color-accent-deep); box-shadow: 0 .75rem 2rem rgb(80 16 125 / 8%); }
.button--outline:hover { border-color: var(--color-accent); background: linear-gradient(135deg, var(--color-accent-rich), var(--color-accent)); color: white; box-shadow: 0 1rem 2.5rem rgb(134 0 239 / 22%); transform: translateY(-2px); }
.button--light { background: white; color: var(--color-bg-dark); }

.hero {
  min-height: max(46rem, 100svh);
  padding: 0;
  align-items: stretch;
  color: white;
  background: radial-gradient(circle at 78% 28%, rgb(134 0 239 / 34%), transparent 24rem), radial-gradient(circle at 62% 70%, rgb(77 0 141 / 25%), transparent 30rem), var(--color-bg-dark);
}
.hero--compact { min-height: max(38rem, 78svh); padding: 0; }
.hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 94%) 0%, rgb(4 4 6 / 62%) 47%, rgb(4 4 6 / 8%) 80%), linear-gradient(0deg, rgb(4 4 6 / 88%) 0%, transparent 48%), linear-gradient(180deg, rgb(4 4 6 / 48%), transparent 28%); }
.hero-media-picture img { object-position: 58% center; filter: saturate(.8) contrast(1.08); }
.hero-ambient { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.hero-ambient i { position: absolute; border: 1px solid rgb(169 60 255 / 22%); border-radius: 50%; }
.hero-ambient i:first-child { top: 16%; right: 3%; width: min(46rem, 56vw); aspect-ratio: 1; }
.hero-ambient i:nth-child(2) { top: 29%; right: 12%; width: min(30rem, 38vw); aspect-ratio: 1; }
.hero-ambient i:nth-child(3) { top: 43%; right: 21%; width: min(14rem, 18vw); aspect-ratio: 1; background: rgb(134 0 239 / 9%); }
.hero--media .hero-ambient { opacity: .3; }
.hero-content { display: grid; min-height: inherit; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 1fr auto auto; gap: var(--grid-gap); padding-top: clamp(8.5rem, 18vh, 12rem); padding-bottom: clamp(3.25rem, 7vh, 5rem); }
.hero--compact .hero-content { row-gap: 0; }
.hero-content > .eyebrow { grid-column: 1 / 7; align-self: start; color: rgb(255 255 255 / 68%); }
.hero-content > h1 { grid-column: 1 / 11; align-self: center; max-width: 12ch; margin: 0; font-size: var(--text-display-xl); letter-spacing: -.06em; }
.hero--compact .hero-content > h1 { grid-row: 2; grid-column: 1 / 10; align-self: end; max-width: 13ch; margin-bottom: 1rem; font-size: var(--text-h1); }
.hero-bottom { display: flex; grid-column: 1 / 13; align-items: end; justify-content: space-between; gap: 2rem; padding-top: 2rem; border-top: 1px solid var(--color-border-dark); }
.hero--compact .hero-bottom { grid-row: 3; padding-top: 0; border-top: 0; }
.hero-lead { max-width: 38rem; margin: 0; color: rgb(255 255 255 / 76%); font-size: var(--text-body-lg); }
.hero-bottom .button-row { justify-content: flex-end; }
.hero--dark .button--secondary { border-color: rgb(255 255 255 / 48%); color: white; }
.hero-index { display: grid; grid-column: 1 / 13; grid-template-columns: repeat(5, 1fr); gap: .7rem; margin-top: 1.25rem; }
.hero-index span { position: relative; display: flex; min-height: clamp(5.5rem, 7vw, 7rem); padding: 1.25rem; align-items: flex-end; gap: .65rem; overflow: hidden; border: 1px solid rgb(255 255 255 / 17%); border-radius: var(--radius-sm); background: linear-gradient(145deg, rgb(255 255 255 / 11%), rgb(255 255 255 / 3%)); box-shadow: inset 0 1px rgb(255 255 255 / 8%), 0 12px 32px rgb(0 0 0 / 16%); backdrop-filter: blur(12px); font-size: clamp(1rem, 1.3vw, 1.35rem); font-weight: 600; transition: transform var(--motion-standard) var(--ease-expressive), border-color var(--motion-standard), background var(--motion-standard); }
.hero-index span::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--color-accent-bright); content: ""; transform: scaleX(.18); transform-origin: left; transition: transform var(--motion-standard) var(--ease-expressive); }
.hero-index span:hover { border-color: rgb(169 60 255 / 55%); background: linear-gradient(145deg, rgb(134 0 239 / 20%), rgb(255 255 255 / 4%)); transform: translateY(-4px); }
.hero-index span:hover::after { transform: scaleX(1); }
.hero-index small { color: var(--color-accent-bright); font: .7rem ui-monospace, monospace; }

.credibility-strip { border: 0; border-top: 1px solid var(--color-border-dark); background: var(--color-bg-dark); color: white; }
.credibility-grid { grid-template-columns: repeat(3, 1fr); padding-block: clamp(3rem, 6vw, 5rem); }
.credibility-grid p { padding: .25rem clamp(1rem, 2.5vw, 2rem); border: 0; color: var(--color-text-muted-dark); }
.credibility-grid p:first-child { padding-left: clamp(1rem, 2.5vw, 2rem); }
.credibility-title { margin-bottom: .75rem; color: white; font-size: clamp(1.25rem, 2vw, 1.8rem); font-weight: 500; letter-spacing: -.03em; }
.credibility-icon { display: grid; width: 3.25rem; height: 3.25rem; margin-bottom: 1.25rem; place-items: center; border: 1px solid rgb(181 76 255 / 32%); border-radius: 50%; background: linear-gradient(145deg, rgb(134 0 239 / 24%), rgb(181 76 255 / 7%)); color: #b54cff; box-shadow: 0 0 2rem rgb(134 0 239 / 12%); }
.credibility-icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.section-header h2 { letter-spacing: -.052em; }
.split-intro .section-header h2 { max-width: 13ch; }
.journey-section { padding-block: clamp(4rem, 7vw, 6.5rem); border-top: 1px solid var(--color-border-dark); }
.journey-grid,
.solution-list { margin-top: clamp(3rem, 7vw, 6rem); }
.feature-item { display: grid; grid-template-columns: .7fr 3fr 5fr; gap: var(--grid-gap); padding: clamp(1.5rem, 3vw, 2.5rem) 0; align-items: start; }
.feature-item > span { margin: .25rem 0 0; font-family: ui-monospace, monospace; }
.feature-item h3 { font-size: clamp(1.55rem, 2.5vw, 2.5rem); }
.feature-item p { max-width: 35rem; margin: 0; }

.moment-card { min-height: 27rem; border: 1px solid var(--color-purple-border); border-radius: var(--radius-lg); background: linear-gradient(160deg, rgb(134 0 239 / 12%), transparent 52%), var(--color-bg-dark); color: white; box-shadow: 0 18px 50px rgb(77 0 141 / 12%); }
.moment-card p { color: var(--color-text-muted-dark); }
.moment-card .button--text { border-color: rgb(181 76 255 / 42%); background: rgb(134 0 239 / 14%); color: white; box-shadow: 0 .75rem 2rem rgb(0 0 0 / 16%); }
.moment-card .button--text:hover { border-color: var(--color-accent-bright); background: var(--color-accent); }

/* Home: do ativo em funcionamento à gestão contínua */
.home .hero-media-picture img { object-position: center; filter: saturate(.88) contrast(1.05); }
.home .hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 96%) 0%, rgb(4 4 6 / 74%) 43%, rgb(4 4 6 / 8%) 76%), linear-gradient(0deg, rgb(4 4 6 / 79%), transparent 54%); }
.home-journey-media { position: relative; margin: clamp(2.25rem, 4vw, 3.5rem) 0 clamp(1.5rem, 3vw, 2.5rem); overflow: hidden; border-radius: var(--radius-lg); background: #111116; }
.home-journey-media picture,
.home-journey-media img { display: block; width: 100%; }
.home-journey-media img { aspect-ratio: 16 / 8.5; object-fit: cover; filter: saturate(.84) contrast(1.04); }
.home-journey-media::after { position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgb(5 5 8 / 90%), transparent); content: ""; pointer-events: none; }
.home-journey-media figcaption { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); max-width: 34rem; margin: 0; color: white; font-size: clamp(1.05rem, 1.7vw, 1.5rem); line-height: 1.4; }
.journey-section .journey-grid { margin-top: 0; }
.journey-section .feature-item { min-height: 0; padding: clamp(1.15rem, 2vw, 1.65rem) 0; grid-template-columns: minmax(8.5rem, 2fr) minmax(0, 3fr); gap: clamp(1rem, 2vw, 2rem); }
.journey-section .feature-item h3 { font-size: clamp(1.4rem, 1.8vw, 1.8rem); }
.journey-section .feature-item p { font-size: .94rem; line-height: 1.55; }
.home-management { position: relative; min-height: clamp(38rem, 66vw, 58rem); overflow: hidden; border-block: 1px solid var(--color-border-dark); }
.home-management-picture,
.home-management-picture img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.home-management-picture img { object-fit: cover; filter: saturate(.86) contrast(1.04); }
.home-management::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(5 5 8 / 97%) 0%, rgb(5 5 8 / 76%) 40%, rgb(5 5 8 / 8%) 72%), linear-gradient(0deg, rgb(5 5 8 / 80%), transparent 56%); content: ""; pointer-events: none; }
.home-management-copy { position: relative; z-index: 1; display: flex; min-height: inherit; padding-block: var(--space-3xl); flex-direction: column; justify-content: flex-end; }
.home-management-copy h2 { max-width: 14ch; font-size: var(--text-h1); letter-spacing: -.055em; }
.home-management-copy p { max-width: 38rem; margin: 0; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }

.video-story { border-block: 1px solid var(--color-border-dark); }
.video-story-media::after { background: linear-gradient(90deg, rgb(27 2 47 / 96%) 0%, rgb(79 0 132 / 74%) 58%, rgb(67 0 112 / 62%) 100%), linear-gradient(0deg, rgb(28 0 48 / 88%), rgb(134 0 239 / 18%) 62%, rgb(20 0 35 / 42%)); }
.video-story-copy h2 { max-width: 13ch; letter-spacing: -.055em; }

.featured-projects-slider { position: relative; margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.projects-slider-viewport { position: relative; overflow: hidden; }
.projects-slider-viewport::before,
.projects-slider-viewport::after { position: absolute; z-index: 2; top: 0; bottom: 0; width: clamp(2.5rem, 6vw, 6rem); content: ""; pointer-events: none; }
.projects-slider-viewport::before { left: 0; background: linear-gradient(90deg, var(--color-bg), transparent); }
.projects-slider-viewport::after { right: 0; background: linear-gradient(270deg, var(--color-bg), transparent); }
.projects-grid--featured { display: flex; width: max-content; gap: 1rem; margin: 0; padding: 0; will-change: transform; }
.projects-grid--featured .project-card { width: min(25rem, 34vw); flex: 0 0 min(25rem, 34vw); }
.projects-slider-arrow { position: absolute; z-index: 3; top: 50%; display: grid; width: 3.25rem; height: 3.25rem; padding: 0; place-items: center; border: 1px solid rgb(255 255 255 / 58%); border-radius: 50%; background: var(--color-accent); color: white; font-size: 1.35rem; line-height: 1; cursor: pointer; box-shadow: 0 .6rem 1.8rem rgb(18 4 30 / 20%); transform: translateY(-50%); transition: background var(--motion-fast), border-color var(--motion-fast), opacity var(--motion-fast), transform var(--motion-fast); }
.projects-slider-arrow:hover:not(:disabled) { border-color: var(--color-accent); background: var(--color-accent-bright); transform: translateY(-50%) scale(1.06); }
.projects-slider-arrow:disabled { opacity: .28; cursor: default; }
.projects-slider-arrow--prev { left: clamp(.5rem, 1.4vw, 1.25rem); }
.projects-slider-arrow--next { right: clamp(.5rem, 1.4vw, 1.25rem); }
.home .projects-grid--featured .project-card:first-child { grid-column: auto; grid-row: auto; }
.project-card { border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: none; transition: transform var(--motion-standard) var(--ease-expressive), border-color var(--motion-standard); }
.project-card:hover { border-color: rgb(134 0 239 / 35%); transform: translateY(-4px); }
.project-card-media { border-radius: calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0; }
.home-journey-media,
.eg-result-visual,
.owners-analysis-media,
.owners-investment-media,
.operators-preparation-media,
.role-story { overflow: hidden; }
.project-card-body { min-height: 11rem; }
.project-card-body h3 { font-size: clamp(1.5rem, 2.4vw, 2.35rem); }
.home .projects-grid--featured .project-card .project-card-media,
.home .projects-grid--featured .project-card:first-child .project-card-media { aspect-ratio: 16 / 9; }
.home .projects-grid--featured .project-card .project-card-body,
.home .projects-grid--featured .project-card:first-child .project-card-body { min-height: 8.25rem; padding: 1.25rem; }
.home .projects-grid--featured .project-card-body h3 { font-size: clamp(1.2rem, 1.55vw, 1.55rem); }
.home .projects-grid--featured .project-location,
.home .projects-grid--featured .project-area { color: var(--color-accent); font-size: 1rem; font-weight: 700; }

.logo-cloud { border-color: var(--color-border); border-radius: var(--radius-lg); overflow: hidden; }
.logo-cloud-item { min-height: 8rem; }
.logo-cloud-item img { opacity: .66; transition: filter var(--motion-standard), opacity var(--motion-standard), transform var(--motion-standard); }
.logo-cloud-item:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.04); }

.cta-section { position: relative; min-height: 40rem; display: grid; align-items: center; overflow: hidden; border-top: 1px solid var(--color-border-dark); background: radial-gradient(circle at 78% 40%, rgb(134 0 239 / 34%), transparent 24rem), var(--color-bg-dark); }
.cta-section::after { position: absolute; right: -8rem; width: min(38rem, 70vw); aspect-ratio: 1; border: 1px solid rgb(169 60 255 / 22%); border-radius: 50%; content: ""; box-shadow: inset 0 0 0 6rem rgb(134 0 239 / 4%), inset 0 0 0 12rem rgb(134 0 239 / 3%); }
.cta-inner { position: relative; z-index: 1; grid-template-columns: minmax(0, 8fr) minmax(12rem, 4fr); }
.cta-inner h2 { max-width: 14ch; font-size: var(--text-h2); letter-spacing: -.055em; }
.cta-inner .button { justify-self: end; }

.project-detail-hero { padding-top: 4.75rem; background: var(--color-bg-dark); color: white; }
.project-detail-title { padding-block: clamp(4rem, 10vw, 8rem); }
.project-detail-title h1 { max-width: 13ch; font-size: var(--text-h1); }
.project-detail-area,
.project-detail-page .breadcrumbs { color: var(--color-text-muted-dark); }
.project-detail-media { width: 100%; border-radius: 0; }
.project-detail-media img { max-height: 82svh; }

.global-footer { border-top: 1px solid var(--color-border-dark); background: #050507; }
.footer-brand p { max-width: 44rem; font-size: clamp(1.05rem, 1.55vw, 1.35rem); }
.global-footer nav a { transition: color var(--motion-fast), padding-left var(--motion-standard); }
.global-footer nav a:hover { padding-left: .75rem; color: var(--color-accent-bright); }
.motion-gsap [data-reveal] { visibility: inherit; }

@media (min-width: 735px) {
  .section-header { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .section-header > .eyebrow { grid-column: 1 / 4; padding-top: .55rem; }
  .section-header > h2 { grid-column: 4 / 13; }
  .section-header > p:last-child:not(.eyebrow) { grid-column: 8 / 13; margin-top: 1rem; }
  .split-intro { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .split-intro > .section-header,
  .split-intro-heading { grid-column: 1 / 8; }
  .split-intro .section-header { display: block; }
  .split-intro .prose { grid-column: 8 / 13; padding-top: 1rem; }
  .moments-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1380px) {
  .desktop-nav { display: block; }
  .header-actions [data-header-cta] { display: inline-flex; border: 1px solid var(--color-border-dark); background: rgb(255 255 255 / 5%); box-shadow: none; }
  .header-actions [data-header-cta]:hover { border-color: var(--color-accent-bright); background: var(--color-accent); }
  .menu-toggle { display: none; }
}

@media (max-width: 1379px) {
  .global-header { height: 4rem; background: rgb(9 10 12 / 86%); backdrop-filter: blur(14px); }
  .header-logo { width: 12.5rem; }
  .global-header.is-scrolled .header-logo { transform: scale(.9); }
  .desktop-nav { display: none; }
  .header-actions [data-header-cta] { display: none; }
  .menu-toggle { display: inline-grid; }
}

@media (max-width: 734px) {
  :root { --text-display-xl: clamp(3.35rem, 15.5vw, 5rem); --text-h1: clamp(2.85rem, 13vw, 4.4rem); }
  .hero, .hero--compact { min-height: max(43rem, 100svh); }
  .hero-content { display: flex; min-height: inherit; padding-top: 7.5rem; padding-bottom: clamp(2.5rem, 7vh, 3.5rem); flex-direction: column; }
  .hero-content > .eyebrow { max-width: 18rem; }
  .hero-content > h1,
  .hero--compact .hero-content > h1 { margin-block: auto; font-size: var(--text-display-xl); line-height: .91; }
  .hero--compact .hero-content > h1 { margin-top: auto; margin-bottom: 1rem; font-size: var(--text-h1); }
  .hero-bottom { align-items: stretch; flex-direction: column; gap: 1.5rem; }
  .hero-bottom .button-row { justify-content: flex-start; }
  .hero-bottom .button { width: 100%; }
  .hero-index { grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: 1rem; }
  .hero-index span { min-height: 5rem; padding: 1rem; }
  .hero-index span:last-child { grid-column: 1 / 3; }
  .hero-ambient i:first-child { width: 34rem; right: -18rem; }
  .hero-ambient i:nth-child(2) { width: 24rem; right: -12rem; }
  .credibility-grid { grid-template-columns: 1fr; }
  .credibility-grid p { padding: 1.25rem 0; border-left: 0; border-bottom: 1px solid var(--color-border-dark); }
  .credibility-grid p:last-child { border-bottom: 0; }
  .section-header h2 { font-size: clamp(2.65rem, 12vw, 4.2rem); }
  .feature-item { grid-template-columns: 2.6rem 1fr; gap: 1rem; }
  .feature-item h3 { align-self: center; }
  .feature-item p { grid-column: 2; }
  .projects-grid--featured .project-card { width: 78vw; flex-basis: 78vw; }
  .projects-slider-viewport::before,
  .projects-slider-viewport::after { width: 3.5rem; }
  .projects-slider-arrow { width: 2.8rem; height: 2.8rem; }
  .cta-section { min-height: 36rem; }
  .cta-inner { grid-template-columns: 1fr; }
  .cta-inner .button { justify-self: start; }
  .project-detail-title { padding-top: 5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="full"]) .hero-index span,
  html:not([data-motion="full"]) .project-card,
  html:not([data-motion="full"]) .global-header,
  html:not([data-motion="full"]) .header-logo { transition: none; }
}

/* Simplified content hierarchy and editorial visual system */
.section-header { align-items: start; }
.section-header h2 { max-width: 14ch; margin: 0; }
.section-header > p { max-width: 38rem; margin-bottom: 0; }
.journey-grid,
.principles-grid,
.solution-list { display: block; }
.feature-item { grid-template-columns: minmax(12rem, 3fr) minmax(0, 5fr); }
.feature-item h3 { margin: 0; }
.feature-item p { grid-column: auto; }
.project-location { margin-top: .55rem; }

.icon-grid { display: grid; gap: 1px; margin-top: clamp(3rem, 7vw, 6rem); overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-border); }
.icon-card { min-width: 0; min-height: 24rem; padding: clamp(1.5rem, 3.5vw, 2.75rem); background: var(--color-bg); }
.section--surface .icon-card { background: var(--color-surface); }
.line-icon { display: grid; width: 3.75rem; height: 3.75rem; margin-bottom: clamp(4rem, 9vw, 7.5rem); place-items: center; border: 1px solid rgb(134 0 239 / 28%); border-radius: 50%; background: linear-gradient(145deg, rgb(134 0 239 / 13%), transparent); color: var(--color-accent); }
.line-icon svg { width: 1.65rem; height: 1.65rem; }
.icon-card h3 { margin-bottom: 1rem; font-size: clamp(1.65rem, 2.6vw, 2.6rem); }
.icon-card p { max-width: 28rem; margin: 0; color: var(--color-text-muted); }

.generated-visual { position: relative; min-height: clamp(38rem, 72vw, 62rem); overflow: hidden; border-block: 1px solid var(--color-border-dark); }
.generated-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(5 5 8 / 96%) 0%, rgb(5 5 8 / 78%) 38%, rgb(5 5 8 / 14%) 76%), linear-gradient(0deg, rgb(5 5 8 / 84%), transparent 55%); content: ""; }
.generated-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.generated-visual-copy { position: relative; z-index: 1; display: flex; min-height: inherit; padding-block: var(--space-3xl); flex-direction: column; justify-content: flex-end; }
.generated-visual-copy h2 { max-width: 13ch; font-size: var(--text-h1); letter-spacing: -.055em; }
.generated-visual-copy p { max-width: 36rem; margin: 0; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }

@media (min-width: 735px) {
  .section-header > h2 { grid-column: 1 / 8; }
  .section-header > p:last-child { grid-column: 8 / 13; margin-top: 1rem; }
  .icon-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .journey-section .journey-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 4vw, 4rem); }
}

@media (max-width: 734px) {
  .home .hero--media::after { background: linear-gradient(0deg, rgb(4 4 6 / 98%) 0%, rgb(4 4 6 / 69%) 67%, rgb(4 4 6 / 18%) 100%); }
  .home .hero-media-picture img { object-position: 72% center; }
  .home-journey-media { margin-inline: calc(var(--page-gutter) * -.35); }
  .home-journey-media img { min-height: 29rem; aspect-ratio: 4 / 5; }
  .home-journey-media figcaption { right: 1.5rem; left: 1.5rem; }
  .journey-section { padding-block: 3.75rem; }
  .journey-section .feature-item { padding: 1.25rem 0; grid-template-columns: 1fr; gap: .55rem; }
  .journey-section .feature-item h3 { font-size: 1.55rem; }
  .journey-section .feature-item p { font-size: .93rem; }
  .home-management { min-height: 43rem; }
  .home-management::after { background: linear-gradient(0deg, rgb(5 5 8 / 97%) 0%, rgb(5 5 8 / 55%) 72%, rgb(5 5 8 / 18%) 100%); }
  .home-management-picture img { object-position: 68% center; }
  .home-management-copy h2 { font-size: clamp(2.65rem, 12vw, 4.2rem); }
  .operators-page .hero--media::after { background: linear-gradient(0deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 67%) 66%, rgb(4 4 6 / 18%) 100%); }
  .operators-page .hero-media-picture img { object-position: 70% center; }
  .operators-ecosystem { min-height: 43rem; }
  .operators-ecosystem::after { background: linear-gradient(0deg, rgb(5 5 8 / 97%) 0%, rgb(5 5 8 / 56%) 72%, rgb(5 5 8 / 18%) 100%); }
  .operators-ecosystem-picture img { object-position: 66% center; }
  .operators-ecosystem-copy h2 { font-size: clamp(2.65rem, 12vw, 4.2rem); }
  .operators-preparation-media { margin-inline: calc(var(--page-gutter) * -.35); }
  .operators-preparation-media img { min-height: 29rem; aspect-ratio: 4 / 5; }
  .operators-preparation-media figcaption { right: 1.5rem; left: 1.5rem; }
  .owners-page .hero--media::after { background: linear-gradient(0deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 69%) 66%, rgb(4 4 6 / 22%) 100%); }
  .owners-page .hero-media-picture img { object-position: 69% center; }
  .owners-analysis-media { margin-inline: calc(var(--page-gutter) * -.35); }
  .owners-analysis-media img { min-height: 29rem; aspect-ratio: 4 / 5; }
  .owners-analysis-media figcaption { right: 1.5rem; left: 1.5rem; }
  .owners-investment-media img { min-height: 27rem; aspect-ratio: 4 / 5; }
  .solutions-page .hero--media::after { background: linear-gradient(0deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 68%) 66%, rgb(4 4 6 / 24%) 100%); }
  .solutions-page .hero-media-picture img { object-position: 67% center; }
  .solution-chapter-media { margin-inline: calc(var(--page-gutter) * -.35); }
  .solution-chapter-media img { min-height: 29rem; aspect-ratio: 4 / 5; }
  .solution-chapter-media figcaption { right: 1.5rem; left: 1.5rem; }
  .feature-item { grid-template-columns: 1fr; gap: .75rem; }
  .feature-item p { grid-column: auto; }
  .icon-card { min-height: 20rem; }
  .line-icon { margin-bottom: 4rem; }
  .generated-visual { min-height: 42rem; }
  .generated-visual::after { background: linear-gradient(0deg, rgb(5 5 8 / 96%) 0%, rgb(5 5 8 / 50%) 72%, rgb(5 5 8 / 22%) 100%); }
  .generated-visual-copy h2 { font-size: clamp(2.65rem, 12vw, 4.2rem); }
}

/* EG Malls institutional page: realistic, content-led imagery */
.eg-malls-page .hero-media-picture img { object-position: center; filter: saturate(.84) contrast(1.04); }
.eg-malls-page .hero--media::after { background: linear-gradient(90deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 82%) 36%, rgb(4 4 6 / 18%) 72%), linear-gradient(0deg, rgb(4 4 6 / 82%), transparent 54%); }
.eg-intro-section { overflow: hidden; }
.eg-intro-section.section--large { padding-block: clamp(4rem, 7vw, 6.5rem); }
.eg-intro-section .split-intro { gap: clamp(2rem, 4vw, 3.5rem); }
.eg-intro-section .prose p { font-size: clamp(1.05rem, 1.45vw, 1.25rem); }
.eg-intro-section .prose p:last-child { margin-bottom: 0; }
.eg-result-visual { position: relative; margin: clamp(2.75rem, 5vw, 4.5rem) 0 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-bg-dark); }
.eg-result-visual picture,
.eg-result-visual img { display: block; width: 100%; }
.eg-result-visual img { aspect-ratio: 16 / 8.5; object-fit: cover; }
.eg-result-visual::after { position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, rgb(5 5 8 / 86%), transparent); content: ""; pointer-events: none; }
.eg-result-visual figcaption { position: absolute; z-index: 1; right: clamp(1.5rem, 4vw, 3rem); bottom: clamp(1.5rem, 4vw, 3rem); max-width: 33rem; margin: 0; color: white; font-size: clamp(1.15rem, 2vw, 1.7rem); line-height: 1.35; }

.role-stories { border-block: 1px solid var(--color-border-dark); }
.role-stories-heading { display: grid; gap: var(--space-lg); margin-bottom: clamp(3rem, 7vw, 6rem); }
.role-stories-heading h2 { max-width: 14ch; margin: 0; font-size: var(--text-h2); letter-spacing: -.05em; }
.role-stories-heading p { max-width: 38rem; margin: 0; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }
.role-story-grid { display: grid; gap: var(--grid-gap); }
.role-story { overflow: hidden; border: 1px solid var(--color-border-dark); border-radius: var(--radius-lg); background: linear-gradient(155deg, rgb(134 0 239 / 9%), transparent 44%), #0d0e11; }
.role-story > img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.role-story > div { padding: clamp(1.5rem, 3vw, 2.5rem); }
.role-story h3 { max-width: 16ch; margin-bottom: 1rem; font-size: clamp(1.75rem, 3vw, 2.8rem); }
.role-story p { max-width: 38rem; margin: 0; color: var(--color-text-muted-dark); }

.eg-malls-page .role-stories + .section { padding-block: clamp(4rem, 7vw, 6.5rem); }
.eg-malls-page .role-stories + .section .section-header h2 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.eg-malls-page .role-stories + .section .icon-grid { margin-top: clamp(2.25rem, 4.5vw, 3.75rem); }
.eg-malls-page .role-stories + .section .icon-card { min-height: 18rem; padding: clamp(1.35rem, 2.5vw, 2rem); }
.eg-malls-page .role-stories + .section .line-icon { width: 3.25rem; height: 3.25rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.eg-malls-page .role-stories + .section .line-icon svg { width: 1.4rem; height: 1.4rem; }
.eg-malls-page .role-stories + .section .icon-card h3 { font-size: clamp(1.45rem, 2.1vw, 2rem); }
.eg-malls-page .role-stories + .section .icon-card p { font-size: .96rem; }

@media (min-width: 735px) {
  .role-stories-heading { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .role-stories-heading h2 { grid-column: 1 / 8; }
  .role-stories-heading p { grid-column: 8 / 13; padding-top: 1rem; }
  .role-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 734px) {
  .eg-malls-page .hero--media::after { background: linear-gradient(0deg, rgb(4 4 6 / 97%) 0%, rgb(4 4 6 / 62%) 64%, rgb(4 4 6 / 28%) 100%); }
  .eg-malls-page .hero-media-picture img { object-position: 68% center; }
  .eg-result-visual { margin-inline: calc(var(--page-gutter) * -.35); }
  .eg-intro-section.section--large { padding-block: 3.75rem; }
  .eg-intro-section .split-intro { gap: 1.5rem; }
  .eg-result-visual { margin-top: 2.5rem; }
  .eg-result-visual img { min-height: 30rem; aspect-ratio: 4 / 5; }
  .eg-result-visual figcaption { left: 1.5rem; right: 1.5rem; }
  .role-story-grid { gap: 1rem; }
  .role-story > img { aspect-ratio: 4 / 3; }
  .eg-malls-page .role-stories + .section { padding-block: 3.75rem; }
  .eg-malls-page .role-stories + .section .section-header h2 { font-size: clamp(2.35rem, 10vw, 3.4rem); }
  .eg-malls-page .role-stories + .section .icon-card { min-height: 16rem; }
  .eg-malls-page .role-stories + .section .line-icon { margin-bottom: 2.5rem; }
}

/* Operadores: critérios compactos e independentes */
.operators-criteria .section-header { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.operators-criteria .icon-grid { margin-top: 0; gap: 1rem; overflow: visible; border: 0; background: transparent; }
.operators-criteria .icon-card { display: grid; min-height: 0; padding: clamp(1.5rem, 2.5vw, 2rem); grid-template-columns: 3.5rem minmax(0, 1fr); grid-template-rows: auto 1fr; gap: .65rem 1.25rem; align-items: start; border: 1px solid rgb(134 0 239 / 18%); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgb(134 0 239 / 8%), transparent 52%), var(--color-bg); box-shadow: 0 1.25rem 3rem rgb(55 16 84 / 6%); }
.operators-criteria .line-icon { width: 3.5rem; height: 3.5rem; margin: 0; grid-row: 1 / 3; background: linear-gradient(145deg, rgb(134 0 239 / 16%), transparent); }
.operators-criteria .icon-card h3 { margin: .15rem 0 0; font-size: clamp(1.45rem, 2vw, 1.9rem); }
.operators-criteria .icon-card p { margin: 0; align-self: start; font-size: .96rem; line-height: 1.6; }

@media (max-width: 1068px) and (min-width: 735px) {
  .operators-criteria .icon-grid { grid-template-columns: 1fr; }
}

@media (max-width: 734px) {
  .operators-criteria .icon-card { grid-template-columns: 3rem minmax(0, 1fr); gap: .5rem 1rem; }
  .operators-criteria .line-icon { width: 3rem; height: 3rem; }
}

/* Operadores: segmentos e processo sem sanfona */
.operator-segments-grid { display: grid; gap: 1rem; }
.operator-segments-grid article { min-width: 0; padding: clamp(1.4rem, 2.5vw, 2rem); border: 1px solid rgb(134 0 239 / 17%); border-radius: var(--radius-lg); background: linear-gradient(150deg, rgb(134 0 239 / 9%), transparent 55%), var(--color-surface); }
.operator-segments-grid h3 { margin-bottom: .75rem; font-size: clamp(1.3rem, 1.8vw, 1.7rem); }
.operator-segments-grid p { margin: 0; color: var(--color-text-muted); font-size: .94rem; line-height: 1.6; }
.operator-process { margin-top: clamp(4rem, 8vw, 7rem); }
.operator-process > h3 { max-width: 12ch; margin-bottom: clamp(2rem, 4vw, 3.5rem); font-size: clamp(2rem, 3.5vw, 3.2rem); letter-spacing: -.045em; }
.operator-process-grid { display: grid; gap: 1rem; }
.operator-process-grid article { position: relative; min-width: 0; padding: clamp(1.5rem, 2.5vw, 2rem); border-top: 2px solid var(--color-accent); border-radius: 0 0 var(--radius-lg) var(--radius-lg); background: var(--color-surface); box-shadow: 0 1.25rem 3rem rgb(55 16 84 / 5%); }
.operator-process-grid article > span { display: block; margin-bottom: clamp(2rem, 4vw, 3.5rem); color: var(--color-accent); font-size: clamp(3.75rem, 5.5vw, 5.5rem); font-weight: 500; line-height: .82; letter-spacing: -.075em; }
.operator-process-grid h4 { margin-bottom: .75rem; font-size: clamp(1.25rem, 1.8vw, 1.65rem); line-height: 1.2; }
.operator-process-grid p { margin: 0; color: var(--color-text-muted); font-size: .94rem; line-height: 1.6; }
.operator-disclaimer { display: grid; margin-top: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.5rem, 3vw, 2.5rem); grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; border: 1px solid var(--color-border-dark); border-radius: var(--radius-lg); background: radial-gradient(circle at 88% 12%, rgb(134 0 239 / 24%), transparent 20rem), #0b0b0e; color: white; }
.operator-disclaimer .criteria-group-icon { margin: 0; border-color: rgb(181 76 255 / 38%); background: rgb(134 0 239 / 16%); color: var(--color-accent-bright); }
.operator-disclaimer h3 { margin: .25rem 0 .6rem; font-size: 1.35rem; }
.operator-disclaimer p { max-width: 52rem; margin: 0; color: var(--color-text-muted-dark); line-height: 1.65; }

@media (min-width: 735px) {
  .operator-segments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .operator-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1069px) {
  .operator-segments-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 734px) {
  .operator-disclaimer { grid-template-columns: 1fr; }
}

/* Global EG Malls lead form */
.footer-lead { padding-block: clamp(4rem, 6vw, 6rem); border-bottom: 1px solid var(--color-border-dark); background: radial-gradient(circle at 82% 18%, rgb(134 0 239 / 22%), transparent 26rem), #070709; }
.footer-lead + .footer-top { margin-top: var(--space-section); }
.footer-lead-grid { display: grid; gap: clamp(3rem, 7vw, 6rem); align-items: start; }
.footer-lead-intro h2 { width: 100%; max-width: 11.5ch; margin-bottom: 1.5rem; font-size: clamp(2rem, 2.75vw, 3rem); line-height: 1.03; letter-spacing: -.035em; }
.footer-lead-intro p { max-width: 38rem; color: var(--color-text-muted-dark); font-size: var(--text-body-lg); }
.footer-lead-intro span { display: block; max-width: 36rem; padding-top: 1.25rem; border-top: 1px solid var(--color-border-dark); color: rgb(255 255 255 / 55%); font-size: .92rem; line-height: 1.65; }
.lead-form { min-width: 0; }
.lead-form fieldset { margin: 0; padding: 0; border: 0; }
.lead-form legend { margin-bottom: 1.25rem; color: white; font-size: 1rem; font-weight: 600; }
.form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.lead-profile-grid { display: grid; gap: .65rem; }
.lead-profile-grid button { display: flex; width: 100%; min-height: 5.25rem; padding: 1rem 1.1rem; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid var(--color-border-dark); border-radius: var(--radius-md); background: rgb(255 255 255 / 3%); color: white; text-align: left; cursor: pointer; transition: border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast); }
.lead-profile-grid button:hover { border-color: rgb(169 60 255 / 65%); background: rgb(134 0 239 / 10%); transform: translateY(-2px); }
.lead-profile-grid button.is-selected { border-color: var(--color-accent-bright); background: rgb(134 0 239 / 18%); }
.lead-profile-grid button span { display: grid; gap: .25rem; }
.lead-profile-grid strong { font-size: clamp(1.2rem, 1.5vw, 1.4rem); line-height: 1.18; letter-spacing: -.02em; }
.lead-profile-grid small { color: var(--color-text-muted-dark); font-size: .78rem; line-height: 1.4; }
.lead-profile-grid b { color: var(--color-accent-bright); font-weight: 400; }
.lead-form-body { margin-top: 2rem; }
.lead-field-row { display: grid; gap: 1rem; margin-bottom: 1rem; }
.lead-form-body label:not(.lead-consent) { display: grid; gap: .5rem; color: white; font-size: .88rem; font-weight: 600; }
.lead-form-body input:not([type="checkbox"]),
.lead-form-body textarea { width: 100%; min-height: 3.25rem; padding: .8rem .9rem; border: 1px solid rgb(255 255 255 / 24%); border-radius: var(--radius-md); outline: 0; background: rgb(255 255 255 / 5%); color: white; }
.lead-form-body textarea { min-height: 8.5rem; resize: vertical; }
.lead-form-body input:focus,
.lead-form-body textarea:focus { border-color: var(--color-accent-bright); box-shadow: 0 0 0 1px var(--color-accent-bright); }
.lead-form-body [aria-invalid="true"] { border-color: var(--color-error); }
.lead-message { margin-top: .25rem; }
.lead-consent { display: grid; margin-top: 1.25rem; grid-template-columns: 1.25rem 1fr; align-items: start; gap: .75rem; color: var(--color-text-muted-dark); font-size: .86rem; line-height: 1.55; }
.lead-consent input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--color-accent); }
.lead-consent a { color: white; text-decoration: underline; }
.lead-submit { margin-top: 1.75rem; border: 0; cursor: pointer; }
.lead-submit:disabled { opacity: .65; cursor: wait; }
.static-field-error { display: block; margin-top: .35rem; color: #ff8fa3; font-size: .76rem; font-weight: 500; }
.lead-form-status { min-height: 1.5rem; margin: 1rem 0 0; color: var(--color-text-muted-dark); font-size: .84rem; }
.lead-form-status.is-success { color: #b9ffcf; }
.lead-form-status.is-error { color: #ff9bad; }

@media (min-width: 735px) {
  .footer-lead-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .footer-lead-intro { position: sticky; top: clamp(6rem, 10vh, 8rem); align-self: start; }
  .lead-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead-profile-grid button:last-child { grid-column: 1 / -1; }
  .lead-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 734px) {
  .footer-lead { padding-block: 3.5rem; }
  .footer-lead-intro h2 { max-width: 13ch; font-size: clamp(2rem, 8.2vw, 2.65rem); }
  .lead-profile-grid button { min-height: 4.75rem; }
}
