@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&family=Archivo:wght@700;800&display=swap');

/* ── Custom Properties ─────────────────────────────────── */
:root {
  /* Navy scale */
  --navy-900: hsl(205,35%,14%);
  --navy-800: hsl(205,32%,20%);
  --navy-700: hsl(205,30%,27%);
  --navy-600: hsl(205,29%,35%);
  --navy-500: hsl(205,28%,45%);
  --navy-400: hsl(205,26%,58%);
  --navy-300: hsl(205,30%,72%);
  --navy-200: hsl(205,35%,85%);
  --navy-100: hsl(205,40%,94%);
  --navy-50:  hsl(205,45%,97%);

  /* Gray scale */
  --gray-900: hsl(210,10%,12%);
  --gray-800: hsl(210,8%,20%);
  --gray-700: hsl(210,7%,32%);
  --gray-600: hsl(210,6%,45%);
  --gray-500: hsl(210,6%,58%);
  --gray-400: hsl(210,8%,72%);
  --gray-300: hsl(210,10%,85%);
  --gray-200: hsl(210,12%,92%);
  --gray-100: hsl(210,15%,96%);
  --gray-50:  hsl(210,20%,98%);

  /* Fonts */
  --font-display: 'Bebas Neue', 'Helvetica Neue', Arial, sans-serif;
  --font-sans:    'Inter', 'Helvetica Neue', Arial, sans-serif;
  --font-tagline: 'Archivo', 'Helvetica Neue', Arial, sans-serif;

  /* Spacing */
  --page-pad: 64px;
  --section-v: 64px;
}

/* ── Palette themes ────────────────────────────────────── */
.theme-generic {
  --theme-bg:       var(--navy-900);
  --theme-bg2:      var(--navy-800);
  --theme-border:   var(--navy-700);
  --theme-heading:  #ffffff;
  --theme-heading2: var(--navy-200);
  --theme-body:     var(--navy-100);
  --theme-muted:    var(--navy-300);
  --theme-accent:   var(--navy-600);
}

.theme-fmcg {
  --theme-bg:       #0F1E3E;
  --theme-bg2:      #162232;
  --theme-border:   #1B4B72;
  --theme-heading:  #ffffff;
  --theme-heading2: #5A8FDE;
  --theme-body:     #A0A6AD;
  --theme-muted:    #6B8FAD;
  --theme-accent:   #2C689C;
}

.theme-agro {
  --theme-bg:       #212326;
  --theme-bg2:      #2A2D30;
  --theme-border:   #5A3528;
  --theme-heading:  #F2D4BA;
  --theme-heading2: #D9A98A;
  --theme-body:     #B0A189;
  --theme-muted:    #8A7A6A;
  --theme-accent:   #894630;
}

.theme-pharma {
  --theme-bg:       #33607F;
  --theme-bg2:      #21455E;
  --theme-border:   #5A8FB0;
  --theme-heading:  #E8EEF4;
  --theme-heading2: #9CC3DE;
  --theme-body:     #E8EEF4;
  --theme-muted:    #9CC3DE;
  --theme-accent:   #5A8FB0;
}

.theme-energy {
  --theme-bg:       #000000;
  --theme-bg2:      #1A1A1A;
  --theme-border:   #333333;
  --theme-heading:  #F2F2F2;
  --theme-heading2: #999999;
  --theme-body:     #D4D4D4;
  --theme-muted:    #888888;
  --theme-accent:   #F1AF00;
}

.theme-industry {
  --theme-bg:       #1B1B1D;
  --theme-bg2:      #2A2A2E;
  --theme-border:   #77777A;
  --theme-heading:  #EDEDEC;
  --theme-heading2: #A0A0A3;
  --theme-body:     #D4D4D6;
  --theme-muted:    #77777A;
  --theme-accent:   #333366;
}

/* ── Reset ─────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  color: var(--gray-700);
  background: #fff;
}

img { display: block; max-width: 100%; }
a { color: var(--navy-600); }
a:hover { color: var(--navy-900); }

/* ── Nav ────────────────────────────────────────────────── */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  background: hsl(205,35%,14%);
  border-bottom: 1px solid hsl(205,30%,27%);
  box-shadow: 0 1px 4px 0 hsla(205,35%,14%,.4);
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 10px 16px;
  flex-wrap: wrap;
}

.site-nav__logo {
  height: 66px;
  width: auto;
  flex: none;
  display: block;
}

.site-nav__links {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

.site-nav__link {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: hsl(205,30%,82%);
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: .08em;
  padding-bottom: 3px;
  border-bottom: 2px solid transparent;
  transition: color 160ms ease, border-color 160ms ease;
}

.site-nav__link:hover {
  color: #fff;
  border-bottom-color: #fff;
}

.site-nav__link--active {
  color: #fff;
  font-weight: 700;
  border-bottom-color: #fff;
}

.site-nav__contact {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: hsl(205,35%,14%);
  background: #fff;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 2px;
  white-space: nowrap;
  flex: none;
  transition: background 160ms ease;
}

.site-nav__contact:hover {
  background: hsl(205,40%,90%);
  color: hsl(205,35%,14%);
}

/* ── Buttons ────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  padding: 10px 22px;
  border-radius: 2px;
  border: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}

.btn-primary {
  background: var(--navy-600);
  color: #fff;
  border-color: var(--navy-600);
}
.btn-primary:hover {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
}

.btn-ghost {
  background: transparent;
  color: var(--navy-300);
  border-color: var(--navy-400);
}
.btn-ghost:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
  border-color: #fff;
}

/* ── Page sections ──────────────────────────────────────── */
.section {
  padding: var(--section-v) var(--page-pad);
}

.section--dark {
  background: var(--navy-900);
}

.section--dark2 {
  background: var(--navy-800);
}

.section-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* ── Hero (generic pages) ───────────────────────────────── */
.page-hero {
  background: #fff;
  color: hsl(210,7%,32%);
  padding: 44px var(--page-pad) 36px;
}

.page-hero__kicker {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: hsl(205,29%,35%);
  margin-bottom: 18px;
}

.page-hero__h1 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 48px;
  line-height: 1.15;
  color: hsl(205,35%,14%);
  margin-bottom: 24px;
  max-width: 800px;
}

.page-hero__body {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.65;
  color: hsl(210,7%,32%);
  max-width: 700px;
}

/* ── Content section (generic pages) ────────────────────── */
.content-section {
  background: var(--navy-800);
  padding: 64px var(--page-pad);
}

.content-section__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.content-section h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 28px;
  color: #fff;
  margin-bottom: 16px;
  margin-top: 40px;
}
.content-section h2:first-child { margin-top: 0; }

.content-section h3 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 20px;
  color: var(--navy-200);
  margin-bottom: 12px;
  margin-top: 32px;
}

.content-section p {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--navy-100);
  margin-bottom: 16px;
}

.content-section ul,
.content-section ol {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--navy-100);
  margin-bottom: 16px;
  padding-left: 24px;
}

.content-section li { margin-bottom: 6px; }

.content-section .intro-text {
  font-size: 18px;
  line-height: 1.7;
  color: hsl(205,30%,88%);
  margin-bottom: 24px;
}

/* ── Axis card (Services page) ──────────────────────────── */
.axis-card {
  background: var(--navy-900);
  border: 1px solid var(--navy-700);
  border-radius: 4px;
  padding: 36px;
  margin-bottom: 24px;
}

.axis-card__label {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--navy-300);
  margin-bottom: 8px;
}

.axis-card__tagline {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 24px;
  color: #fff;
  margin-bottom: 16px;
}

.axis-card p {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--navy-100);
  margin-bottom: 12px;
}

.axis-card ul {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--navy-100);
  padding-left: 20px;
  margin-bottom: 12px;
}

.axis-card__cases {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--navy-700);
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--navy-300);
}

.axis-card__cases a {
  color: var(--navy-200);
  text-decoration: none;
}
.axis-card__cases a:hover { text-decoration: underline; }

/* ── Sector section ─────────────────────────────────────── */
.sector-section {
  padding: 72px var(--page-pad);
}

.sector-section__nav {
  display: flex;
  gap: 8px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.sector-section__nav-link {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.6);
  transition: all .15s;
}
.sector-section__nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }

.sector-section h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 32px;
  line-height: 1.15;
  color: var(--theme-heading, #fff);
  margin-bottom: 20px;
}

.sector-section h3 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 22px;
  color: var(--theme-heading2, rgba(255,255,255,.7));
  margin-bottom: 14px;
  margin-top: 28px;
}

.sector-section p {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--theme-body, rgba(255,255,255,.85));
  margin-bottom: 14px;
}

/* ── Insights page ──────────────────────────────────────── */
.pub-card {
  background: var(--navy-900);
  border-radius: 4px;
  padding: 36px;
  margin-bottom: 20px;
}

.pub-card--small {
  padding: 22px;
}

.pub-card__type {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--navy-300);
}

.pub-card__type::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--navy-300);
  flex: none;
}

.pub-card__title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 28px;
  line-height: 1.1;
  color: #fff;
  margin-bottom: 12px;
}

.pub-card--small .pub-card__title {
  font-size: 17px;
}

.pub-card__meta {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--navy-300);
  margin-bottom: 14px;
}

.pub-card__desc {
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.6;
  color: hsl(205,30%,88%);
  margin-bottom: 16px;
}

.pub-card__download {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  color: var(--navy-300);
  text-decoration: none;
  letter-spacing: .04em;
}
.pub-card__download:hover { color: #fff; }

.pub-list-item {
  display: grid;
  grid-template-columns: 90px 1fr 120px;
  gap: 20px;
  align-items: baseline;
  padding: 16px 0;
  border-bottom: 1px solid var(--navy-700);
}

.pub-list-item__date {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--navy-300);
}

.pub-list-item__title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 17px;
  color: #fff;
  text-decoration: none;
}
.pub-list-item__title:hover { color: var(--navy-200); }

.pub-list-item__sector {
  font-family: var(--font-sans);
  font-size: 11px;
  color: var(--navy-300);
  margin-top: 3px;
}

.pub-list-item__type {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--navy-300);
  white-space: nowrap;
}
.pub-list-item__type::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--navy-300);
}

.linkedin-strip {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ── Case pages ─────────────────────────────────────────── */
.case-hero {
  background: #fff;
  color: hsl(210,7%,32%);
  padding: 44px var(--page-pad) 36px;
}

.case-hero__breadcrumb a { color: hsl(205,29%,35%); }

.case-hero__breadcrumb {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.case-hero__breadcrumb a {
  text-decoration: none;
  opacity: .7;
}
.case-hero__breadcrumb a:hover { opacity: 1; }

.case-hero__tags {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.tag {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 2px;
  border: 1px solid hsl(210,15%,82%);
  color: hsl(205,29%,35%);
}

.case-hero__h1 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 44px;
  line-height: 1.15;
  color: hsl(205,35%,14%);
  max-width: 900px;
}

.case-content {
  padding: 56px var(--page-pad) 80px;
}

.case-content__inner {
  max-width: 800px;
}

.case-content h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 22px;
  margin-bottom: 16px;
  margin-top: 40px;
  line-height: 1.2;
}
.case-content h2:first-child { margin-top: 0; }

.case-content p {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 16px;
}

.case-content ol {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 16px;
  padding-left: 20px;
}
.case-content ol li { margin-bottom: 8px; }

.case-encerramento {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid;
  font-family: var(--font-sans);
  font-size: 13px;
  opacity: .7;
}

/* ── Firm page ──────────────────────────────────────────── */
.team-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 40px;
}

.bio-card {
  background: var(--navy-900);
  border: 1px solid var(--navy-700);
  border-radius: 4px;
  padding: 36px;
}

.bio-card__name {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 28px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 6px;
}

.bio-card__role {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--navy-300);
  margin-bottom: 20px;
}

.bio-card p {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--navy-100);
  margin-bottom: 14px;
}

/* ── Credibility band ───────────────────────────────────── */
.credibility {
  background: #fff;
  padding: 64px;
}

.credibility p {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.7;
  color: var(--gray-700);
  max-width: 760px;
  margin-bottom: 48px;
}

.logo-group {
  margin-bottom: 40px;
}

.logo-group__label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gray-500);
  margin-bottom: 16px;
}

.logo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.logo-tile {
  border: 1px solid var(--gray-300);
  border-radius: 3px;
  padding: 8px 16px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.logo-tile img {
  max-height: 32px;
  max-width: 110px;
  object-fit: contain;
}

/* ── Wicked Problem side box ────────────────────────────── */
.side-box {
  border-left: 3px solid var(--theme-accent, var(--navy-400));
  padding: 20px 24px;
  margin: 24px 0;
  background: rgba(255,255,255,.04);
  border-radius: 0 4px 4px 0;
}

.side-box__label {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--theme-muted, var(--navy-300));
  margin-bottom: 8px;
}

.side-box p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--theme-body, var(--navy-100));
  margin-bottom: 8px;
}
.side-box p:last-child { margin-bottom: 0; }
.side-box em {
  font-style: italic;
  color: var(--theme-muted, var(--navy-300));
  font-size: 12px;
}

/* ── Insights filter bar ────────────────────────────────── */
.filter-bar {
  background: var(--navy-800);
  padding: 0 var(--page-pad) 20px;
}

.filter-bar__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--navy-700);
  border-bottom: 1px solid var(--navy-700);
  padding: 16px 0;
  flex-wrap: wrap;
}

.filter-bar select {
  font-family: var(--font-sans);
  font-size: 13px;
  padding: 8px 32px 8px 12px;
  background: var(--navy-900);
  color: var(--navy-100);
  border: 1px solid var(--navy-700);
  border-radius: 2px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  min-width: 180px;
}

.filter-bar input[type="text"] {
  font-family: var(--font-sans);
  font-size: 13px;
  padding: 8px 2px;
  border: none;
  border-bottom: 1px solid var(--navy-500);
  background: transparent;
  color: #fff;
  width: 200px;
  outline: none;
}
.filter-bar input::placeholder { color: var(--navy-400); }

.filter-selects { display: flex; gap: 12px; flex-wrap: wrap; }

/* ── Section label ──────────────────────────────────────── */
.section-label {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--navy-300);
  margin-bottom: 18px;
}

/* ── Highlighted box (Tecnologia page) ──────────────────── */
.highlight-box {
  background: rgba(255,255,255,.05);
  border: 1px solid var(--navy-700);
  border-radius: 4px;
  padding: 24px 28px;
  margin: 28px 0;
}
.highlight-box__title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: 16px;
  color: var(--navy-200);
  margin-bottom: 10px;
}
.highlight-box p {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.65;
  color: var(--navy-100);
  margin-bottom: 0;
}

/* ── Footer ─────────────────────────────────────────────── */
.site-footer {
  background: var(--navy-900);
  border-top: 1px solid var(--navy-700);
  padding: 40px var(--page-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}

.site-footer__logo {
  height: 40px;
  width: auto;
}

.site-footer__copy {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--navy-300);
}

.site-footer__links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.site-footer__link {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--navy-300);
  text-decoration: none;
}
.site-footer__link:hover { color: #fff; }

/* ── Responsive hints ───────────────────────────────────── */
@media (max-width: 900px) {
  :root { --page-pad: 24px; }
  .team-grid { grid-template-columns: 1fr; }
  .pub-list-item { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 600px) {
  .site-nav__links { gap: 10px; }
  .case-hero__h1 { font-size: 32px; }
  .page-hero__h1 { font-size: 36px; }
}


/* ── Nav responsive (shared by all pages) ───────────────── */
@media (max-width: 1300px) {
  .site-nav__link, .site-nav__contact { font-size: 13px; }
  .site-nav__links { gap: 18px; }
}
@media (max-width: 1100px) {
  .site-nav__link, .site-nav__contact { font-size: 12px; }
  .site-nav__links { gap: 14px; }
}
@media (max-width: 800px) {
  .site-nav__links { gap: 10px; }
  .site-nav__link, .site-nav__contact { font-size: 11px; }
  .site-nav__logo { height: 50px; }
}


/* ── Image band dynamics (shared) ────────────────────────── */
.bio-image-band, .contact-image-band, .ma-image-band,
.tec-image-band, .im-image-band, .services-image-band {
  height: 220px;
  overflow: hidden;
  line-height: 0;
}
.bio-image-band img, .contact-image-band img, .ma-image-band img,
.tec-image-band img, .im-image-band img, .services-image-band img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 32%;
}
.sector-image-band { overflow: hidden; line-height: 0; }
.bio-image-band img, .contact-image-band img, .ma-image-band img,
.tec-image-band img, .im-image-band img, .sector-image-band img,
.services-image-band img {
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
.bio-image-band:hover img, .contact-image-band:hover img, .ma-image-band:hover img,
.tec-image-band:hover img, .im-image-band:hover img, .sector-image-band:hover img,
.services-image-band:hover img {
  transform: scale(1.04);
}
/* same hover treatment for every other photographic frame on the site */
.home-image-band, .phase-media, .case-figure { overflow: hidden; }
.home-image-band img, .phase-media img, .case-figure img {
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
.home-image-band:hover img, .phase-media:hover img, .case-figure:hover img {
  transform: scale(1.04);
}
/* remaining photographic images */
.insights-hero__right { overflow: hidden; }
.insights-hero__right img, .firma-logo-cell img {
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}
.insights-hero__right:hover img { transform: scale(1.04); }
.firma-logo-cell:hover img { transform: scale(1.08); }
@media (max-width: 900px) {
  .bio-image-band, .contact-image-band, .ma-image-band,
  .tec-image-band, .im-image-band, .services-image-band { height: 160px; }
}

/* Strategic Puzzle emphasis — bold gold; deeper gold on light backgrounds */
.sp { font-weight: 700; font-style: normal; color: hsl(45,95%,64%); }
.sp--onlight { color: hsl(40,90%,32%); }
a.sp { text-decoration: none; border-bottom: 1px solid currentColor; transition: opacity 150ms ease; }
a.sp:hover { opacity: .7; }

/* Sticky return bar injected by assets/js/voltar.js */
.voltar-bar {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 60;
}
.voltar-bar__link {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--navy-900);
  border: 1px solid var(--navy-600);
  border-radius: 2px;
  padding: 11px 18px;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(15,30,62,.28);
  transition: background 150ms ease, border-color 150ms ease;
}
.voltar-bar__link:hover { background: var(--navy-600); border-color: var(--navy-400); color: #fff; }
@media (max-width: 700px) {
  .voltar-bar { left: 16px; right: 16px; bottom: 16px; }
  .voltar-bar__link { display: block; text-align: center; }
}
