
  /* ---------- reset ---------- */
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body { margin: 0; }
  img, svg, canvas { max-width: 100%; }
  [hidden] { display: none !important; }

  /* ---------- identidade LMEst (extraída do cartão oficial) ---------- */
  :root {
    color-scheme: light;

    /* faixas institucionais — fixas nos dois temas */
    --navy:      #152436;
    --navy-2:    #1E354D;
    --navy-line: #2B4159;
    --navy-ink:  #FFFFFF;
    --navy-mut:  #9DB3C4;
    --navy-pale: #B4D0DC;
    --brand-red: #DD1E2D;
    --brand-blue:#3A7BC7;

    /* superfícies claras */
    --ground:   #EDF1F4;
    --surface:  #FFFFFF;
    --surface-2:#E3E9EE;
    --ink:      #152436;
    --body:     #3D4E5E;
    --muted:    #5E7183;
    --line:     #D2DAE2;
    --line-soft:#E1E7EC;
    --red:      #C0161F;
    --blue:     #2A5F9E;

    --maxw: 1160px;
    --gutter: clamp(16px, 4vw, 40px);
    --f-display: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --f-body: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
    --f-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      color-scheme: dark;
      --ground:   #0B141D;
      --surface:  #152436;
      --surface-2:#1E354D;
      --ink:      #EAF0F5;
      --body:     #C0CDD9;
      --muted:    #92A6B7;
      --line:     #24394E;
      --line-soft:#1B2C3E;
      --red:      #F2606A;
      --blue:     #74AAE2;
    }
  }
  :root[data-theme="dark"] {
    color-scheme: dark;
    --ground:   #0B141D;
    --surface:  #152436;
    --surface-2:#1E354D;
    --ink:      #EAF0F5;
    --body:     #C0CDD9;
    --muted:    #92A6B7;
    --line:     #24394E;
    --line-soft:#1B2C3E;
    --red:      #F2606A;
    --blue:     #74AAE2;
  }

  /* ---------- base ---------- */
  body {
    background: var(--ground);
    color: var(--body);
    font-family: var(--f-body);
    font-size: 1.0625rem;
    line-height: 1.62;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 {
    font-family: var(--f-display);
    color: var(--ink);
    margin: 0;
    line-height: 1.14;
    text-wrap: balance;
    letter-spacing: -0.015em;
  }
  p { margin: 0; }
  a { color: inherit; }
  ul { margin: 0; padding: 0; list-style: none; }
  :focus-visible { outline: 2px solid var(--brand-red); outline-offset: 3px; border-radius: 2px; }

  .wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
  .eyebrow {
    font-family: var(--f-mono); font-size: .6875rem; font-weight: 500;
    letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 0;
  }
  .lede { font-size: 1.125rem; line-height: 1.55; max-width: 64ch; }

  /* ---------- barra superior ---------- */
  .topbar {
    position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
    background: var(--navy); border-bottom: 1px solid var(--navy-line);
  }
  .topbar__in { display: flex; align-items: center; gap: 22px; min-height: 66px; padding-block: 8px; }
  .brand { display: flex; align-items: center; gap: 13px; text-decoration: none; margin-right: auto; }
  .brand img { height: 38px; width: auto; display: block; }
  .brand__txt { display: none; flex-direction: column; line-height: 1.15; border-left: 1px solid var(--navy-line); padding-left: 13px; }
  .brand__t1 { font-family: var(--f-display); font-weight: 700; font-size: .8125rem; color: var(--navy-ink); letter-spacing: .01em; }
  .brand__t2 { font-family: var(--f-mono); font-size: .625rem; letter-spacing: .1em; text-transform: uppercase; color: var(--navy-mut); margin-top: 3px; }
  @media (min-width: 620px) { .brand__txt { display: flex; } }

  .nav { display: flex; align-items: center; gap: 22px; }
  .nav a {
    font-size: .875rem; font-weight: 500; text-decoration: none; color: var(--navy-mut);
    padding-block: 5px; border-bottom: 2px solid transparent;
  }
  .nav a:hover { color: var(--navy-ink); border-bottom-color: var(--brand-red); }
  @media (max-width: 1000px) { .nav { display: none; } }

  .btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--f-body); font-size: .875rem; font-weight: 600;
    padding: 11px 19px; border-radius: 2px; text-decoration: none;
    border: 1px solid transparent; cursor: pointer; white-space: nowrap;
    transition: transform .12s ease, background-color .15s ease, border-color .15s ease;
  }
  .btn--red { background: var(--brand-red); color: #fff; }
  .btn--red:hover { background: #B8141F; }
  .btn--ghost { border-color: var(--navy-line); color: var(--navy-ink); }
  .btn--ghost:hover { border-color: var(--brand-red); }
  .btn--outline { border-color: var(--line); color: var(--ink); background: var(--surface); }
  .btn--outline:hover { border-color: var(--brand-red); }
  .btn:active { transform: translateY(1px); }

  /* ---------- hero ---------- */
  .hero { position: relative; overflow: hidden; background: var(--navy); color: var(--navy-ink); }
  .hero__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .hero__scrim {
    position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(100deg, var(--navy) 0%, rgba(21,36,54,.94) 30%, rgba(21,36,54,.62) 54%, rgba(21,36,54,.10) 78%);
  }
  .hero__in { position: relative; padding-block: clamp(54px, 8vw, 96px) clamp(40px, 6vw, 62px); }
  .hero__eyebrow { color: var(--navy-mut); }
  .hero h1 {
    color: var(--navy-ink); font-family: var(--f-display); font-weight: 800;
    font-size: clamp(2.2rem, 5.2vw, 3.9rem); letter-spacing: -.028em;
    margin-top: 18px; max-width: 20ch;
  }
  .hero h1 em { font-style: normal; color: var(--brand-red); }
  .hero__lede { color: #C3D2DD; font-size: clamp(1.0625rem, 1.55vw, 1.1875rem); max-width: 56ch; margin-top: 22px; }
  .hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

  .keyfacts { position: relative; border-top: 1px solid var(--navy-line); background: rgba(9,17,26,.5); }
  .keyfacts__in { display: grid; grid-template-columns: repeat(4, 1fr); }
  .keyfact { padding: 22px 20px 24px 0; }
  .keyfact + .keyfact { border-left: 1px solid var(--navy-line); padding-left: 20px; }
  .keyfact__n {
    font-family: var(--f-display); font-weight: 700; font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    color: var(--navy-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums;
  }
  .keyfact__l { font-size: .8125rem; color: var(--navy-mut); margin-top: 5px; line-height: 1.4; }
  @media (max-width: 760px) {
    .keyfacts__in { grid-template-columns: repeat(2, 1fr); }
    .keyfact:nth-child(3) { border-left: none; padding-left: 0; }
    .keyfact:nth-child(3), .keyfact:nth-child(4) { border-top: 1px solid var(--navy-line); }
  }

  /* ---------- seções ---------- */
  .section { padding-block: clamp(54px, 7.5vw, 92px); }
  .section--alt { background: var(--surface); border-block: 1px solid var(--line-soft); }
  .section__head { max-width: 72ch; }
  .section__head h2 { font-size: clamp(1.65rem, 3.1vw, 2.3rem); font-weight: 700; margin-top: 14px; }
  .section__head p { margin-top: 16px; }

  /* sobre */
  .about { display: grid; grid-template-columns: 1.3fr .85fr; gap: clamp(28px, 5vw, 64px); align-items: start; margin-top: 36px; }
  .about p + p { margin-top: 16px; }
  .note { border-left: 3px solid var(--brand-red); padding: 2px 0 2px 20px; }
  .note h3 { font-size: 1.0625rem; font-weight: 700; }
  .note p, .note ul { margin-top: 10px; font-size: .9375rem; color: var(--muted); }
  .note li { padding-left: 16px; position: relative; }
  .note li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 2px; background: var(--brand-red); }
  .note + .note { margin-top: 26px; }
  @media (max-width: 860px) { .about { grid-template-columns: 1fr; } }

  /* fotografias */
  .shots { display: grid; gap: 14px; margin-top: 34px; }
  .shots--sq { grid-template-columns: repeat(4, 1fr); }
  .shots--wide { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  @media (max-width: 780px) { .shots--sq, .shots--wide { grid-template-columns: repeat(2, 1fr); } }
  figure { margin: 0; }
  .shot img { display: block; width: 100%; height: auto; border: 1px solid var(--line); background: var(--surface-2); }
  .shots--sq .shot img { aspect-ratio: 1 / 1; object-fit: cover; }
  .shots--wide .shot img { aspect-ratio: 3 / 2; object-fit: cover; }
  .shots--sq figcaption {
    font-family: var(--f-mono); font-size: .6875rem; line-height: 1.4; letter-spacing: .06em;
    text-transform: uppercase; color: var(--muted); margin-top: 10px;
  }
  .shots--wide figcaption { font-size: .8125rem; line-height: 1.45; color: var(--muted); margin-top: 9px; }
  .portrait { margin-bottom: 26px; }
  .portrait img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border: 1px solid var(--line); }
  .portrait figcaption { font-size: .8125rem; color: var(--muted); margin-top: 9px; line-height: 1.45; }

  /* pilares de solução */
  .pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 38px; }
  .pillar { background: var(--surface); padding: 26px 24px 28px; display: flex; flex-direction: column; }
  .pillar__k { font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-red); }
  .pillar h3 { font-size: 1.1875rem; font-weight: 700; margin-top: 10px; }
  .pillar ul { margin-top: 16px; display: flex; flex-direction: column; gap: 9px; }
  .pillar li { font-size: .9375rem; color: var(--muted); padding-left: 18px; position: relative; line-height: 1.45; }
  .pillar li::before { content: ""; position: absolute; left: 0; top: .58em; width: 7px; height: 2px; background: var(--brand-red); opacity: .75; }
  @media (max-width: 880px) { .pillars { grid-template-columns: 1fr; } }

  /* linha do tempo de projetos */
  .tl { margin-top: 36px; border-top: 1px solid var(--line); }
  .tl__row { display: grid; grid-template-columns: 72px 1fr 150px; gap: 22px; align-items: baseline; padding-block: 15px; border-bottom: 1px solid var(--line); }
  .tl__y { font-family: var(--f-mono); font-size: .875rem; font-weight: 500; color: var(--brand-red); font-variant-numeric: tabular-nums; }
  .tl__t { font-size: .9688rem; color: var(--ink); }
  .tl__t i { font-style: italic; color: var(--muted); }
  .tl__tag { font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); text-align: right; }
  @media (max-width: 760px) {
    .tl__row { grid-template-columns: 62px 1fr; gap: 14px; }
    .tl__tag { grid-column: 2; text-align: left; }
  }

  .callout {
    margin-top: 38px; background: var(--surface-2); border: 1px solid var(--line);
    padding: 26px 28px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
  }
  .callout h3 { font-size: 1.125rem; font-weight: 700; }
  .callout p { font-size: .9375rem; color: var(--muted); margin-top: 8px; max-width: 64ch; }
  @media (max-width: 720px) { .callout { grid-template-columns: 1fr; } }

  /* infraestrutura */
  .infra { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 56px); margin-top: 38px; align-items: start; }
  .spec { border-top: 1px solid var(--line); }
  .spec li { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding-block: 15px; border-bottom: 1px solid var(--line); align-items: baseline; }
  .spec b { font-weight: 600; color: var(--ink); font-size: .9688rem; }
  .spec small { display: block; color: var(--muted); font-size: .875rem; margin-top: 3px; }
  .spec .model { font-family: var(--f-mono); font-size: .75rem; color: var(--muted); white-space: nowrap; }
  @media (max-width: 860px) { .infra { grid-template-columns: 1fr; } }

  .marks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  .mark {
    border: 1px solid var(--line); background: var(--surface); padding: 8px 13px;
    font-family: var(--f-display); font-weight: 600; font-size: .8125rem; color: var(--ink);
  }
  .mark--soft { font-family: var(--f-body); font-weight: 500; font-size: .8125rem; color: var(--muted); background: transparent; }

  /* equipe */
  .team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 38px; }
  .person { background: var(--surface); padding: 22px 24px; display: flex; gap: 15px; align-items: flex-start; }
  .person__i {
    flex: none; width: 44px; height: 44px; display: grid; place-items: center;
    border: 1px solid var(--line); color: var(--blue);
    font-family: var(--f-mono); font-size: .8125rem; font-weight: 600;
  }
  .person__n { font-family: var(--f-display); font-weight: 600; font-size: .9688rem; color: var(--ink); }
  .person__a { font-size: .8438rem; color: var(--muted); margin-top: 5px; line-height: 1.45; }
  .person__m { font-family: var(--f-mono); font-size: .75rem; color: var(--blue); text-decoration: none; margin-top: 7px; display: inline-block; word-break: break-all; }
  .person__m:hover { text-decoration: underline; }
  .person--note { background: var(--surface-2); }
  .person--note .person__n { color: var(--muted); }
  @media (max-width: 900px) { .team { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .team { grid-template-columns: 1fr; } }

  /* notícias */
  .news { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 32px); margin-top: 36px; }
  .news__i { border-top: 2px solid var(--brand-red); padding-top: 15px; display: flex; flex-direction: column; gap: 9px; }
  .news__m { display: flex; gap: 10px; flex-wrap: wrap; font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
  .news__m .tag { color: var(--brand-red); }
  .news__i h3 { font-size: 1.0625rem; font-weight: 600; }
  .news__i p { font-size: .9375rem; color: var(--muted); }
  .demo {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--muted); border: 1px dashed var(--line); padding: 7px 12px; margin-top: 22px;
  }
  .demo::before { content: ""; width: 6px; height: 6px; background: var(--brand-red); flex: none; }
  @media (max-width: 860px) { .news { grid-template-columns: 1fr; } }

  /* contato */
  .contact { background: var(--navy); color: var(--navy-ink); }
  .contact .eyebrow { color: var(--navy-mut); }
  .contact h2 { color: var(--navy-ink); font-size: clamp(1.65rem, 3.1vw, 2.3rem); font-weight: 700; margin-top: 14px; }
  .contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); margin-top: 34px; align-items: start; }
  .contact__lede { color: #C3D2DD; max-width: 50ch; }
  .contact__cta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; }
  .dl { border-top: 1px solid var(--navy-line); }
  .dl > div { padding-block: 15px; border-bottom: 1px solid var(--navy-line); display: grid; grid-template-columns: 96px 1fr; gap: 18px; }
  .dl dt { font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--navy-mut); padding-top: 3px; }
  .dl dd { margin: 0; font-size: .9375rem; color: var(--navy-ink); }
  .dl dd a { color: var(--navy-pale); text-decoration: none; }
  .dl dd a:hover { color: #fff; text-decoration: underline; }
  @media (max-width: 800px) { .contact__grid { grid-template-columns: 1fr; } .dl > div { grid-template-columns: 1fr; gap: 4px; } }

  /* rodapé */
  .footer { background: var(--navy); color: var(--navy-mut); border-top: 1px solid var(--navy-line); }
  .footer__in { padding-block: 26px 32px; display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: space-between; font-size: .8125rem; }
  .footer a { color: var(--navy-mut); text-decoration: none; }
  .footer a:hover { color: var(--navy-ink); }
  .footer__l { display: flex; flex-wrap: wrap; gap: 18px; }

  @media (prefers-reduced-motion: reduce) {
    * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  }
  /* ---- topo ---- */
  .brand img { height: 46px; }

  /* ---- capa em tela cheia ---- */
  .hero { min-height: calc(100svh - 66px); display: flex; flex-direction: column; }
  .hero__in { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }

  /* ---- cada seção ocupa a tela inteira, sem travar a rolagem ---- */
  .screen { min-height: calc(100svh - 66px); display: flex; flex-direction: column; justify-content: center; }
  @media (max-width: 760px) { .screen { min-height: auto; } }

  /* ---- faixa de notícias ---- */
  .ticker { position: relative; border-top: 1px solid var(--navy-line); background: rgba(8,15,23,.72); overflow: hidden; }
  .ticker__in { display: flex; align-items: center; }
  .ticker__tag { flex: none; align-self: stretch; display: flex; align-items: center; background: var(--brand-red); color: #fff; padding: 0 16px; font-family: var(--f-mono); font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; }
  .ticker__win { overflow: hidden; flex: 1 1 auto; }
  .ticker__track { display: flex; width: max-content; animation: tick 46s linear infinite; }
  .ticker__track:hover { animation-play-state: paused; }
  .ticker__i { display: flex; align-items: center; gap: 12px; white-space: nowrap; padding: 9px 30px; color: #C3D2DD; font-size: .8125rem; }
  .ticker__i b { color: var(--navy-ink); font-weight: 600; }
  .ticker__i::before { content: ""; width: 5px; height: 5px; background: var(--brand-red); flex: none; }
  @keyframes tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .ticker__track { animation: none; } }

  /* ---- setores ---- */
  .sectors { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 30px; overflow-x: auto; scrollbar-width: none; }
  .sectors::-webkit-scrollbar { display: none; }
  .sectors span { white-space: nowrap; flex: none; }
  .sectors span { font-family: var(--f-mono); font-size: .75rem; letter-spacing: .06em; border: 1px solid var(--line); background: var(--surface); color: var(--ink); padding: 9px 14px; }
  .about--photos { grid-template-columns: 1.4fr .75fr; margin-top: 26px; }
  .labname {
    font-family: var(--f-display); font-weight: 600; font-size: clamp(.9375rem, 1.45vw, 1.125rem);
    color: var(--ink); letter-spacing: -.01em; margin-top: 30px;
    padding-bottom: 16px; border-bottom: 1px solid var(--line); white-space: nowrap;
    overflow-x: auto; scrollbar-width: none;
  }
  .labname::-webkit-scrollbar { display: none; }
  .portrait img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border: 1px solid var(--line); }
  .portrait figcaption { font-size: .8125rem; color: var(--muted); margin-top: 9px; line-height: 1.45; }

  /* ---- faixa de números ---- */
  .figures { background: var(--navy); color: var(--navy-ink); }
  .figures__in { display: grid; grid-template-columns: repeat(5, 1fr); }
  .fig { padding: 12px 16px 14px 0; }
  .fig + .fig { border-left: 1px solid var(--navy-line); padding-left: 16px; }
  .fig__n { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.25rem, 2vw, 1.6rem); letter-spacing: -.02em; color: var(--navy-ink); font-variant-numeric: tabular-nums; }
  .fig__l { font-size: .75rem; color: var(--navy-mut); margin-top: 4px; line-height: 1.35; }
  .figures__note { padding-bottom: 10px; font-family: var(--f-mono); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; color: var(--navy-mut); }
  @media (max-width: 900px) { .figures__in { grid-template-columns: repeat(2, 1fr); }
    .fig { border-left: none !important; padding-left: 0 !important; }
    .fig:nth-child(n+3) { border-top: 1px solid var(--navy-line); } }

  /* ---- cards de projeto ---- */
  .cases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 36px; }
  .case { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); }
  .case img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--surface-2); }
  .case__b { padding: 13px 15px 15px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
  .case__m { font-family: var(--f-mono); font-size: .625rem; letter-spacing: .1em; text-transform: uppercase; color: var(--brand-red); }
  .case h3 { font-size: .9375rem; font-weight: 700; line-height: 1.25; }
  .case p { font-size: .8125rem; color: var(--muted); line-height: 1.45; }
  .case__c { margin-top: auto; padding-top: 9px; border-top: 1px solid var(--line-soft); font-family: var(--f-mono); font-size: .625rem; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); line-height: 1.5; }
  .case__c b { color: var(--ink); font-weight: 600; }
  @media (max-width: 1000px) { .cases { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 520px) { .cases { grid-template-columns: 1fr; } }

  /* ---- mural estático de logos ---- */
  .wall { display: grid; gap: 10px; margin-top: 18px; }
  .wall--8 { grid-template-columns: repeat(8, 1fr); }
  .wall--5 { grid-template-columns: repeat(5, 1fr); }
  .wall--4 { grid-template-columns: repeat(4, 1fr); }
  .wall span { background: #fff; border: 1px solid var(--line); height: 104px; display: grid; place-items: center; padding: 14px 16px; }
  .wall img { max-height: 62px; max-width: 100%; width: auto; object-fit: contain; display: block; }
  .wall__lab { font-family: var(--f-display); font-size: .9375rem; font-weight: 600; color: var(--ink); margin-top: 34px; }
  @media (max-width: 1000px) { .wall--8 { grid-template-columns: repeat(4, 1fr); } .wall--5 { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 620px) { .wall--8, .wall--5, .wall--4 { grid-template-columns: repeat(2, 1fr); } .wall span { height: 80px; } .wall img { max-height: 44px; } }

  /* ---- infraestrutura ---- */
  .infra3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 34px; }
  .ib { background: var(--surface); padding: 22px; }
  .ib__k { font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-red); }
  .ib h3 { font-size: 1.0625rem; font-weight: 700; margin-top: 9px; }
  .ib p { font-size: .8906rem; color: var(--muted); margin-top: 11px; }
  @media (max-width: 880px) { .infra3 { grid-template-columns: 1fr; } }

  /* ---- equipe ---- */
  .crew { margin-top: 34px; }
  .crew img { display: block; width: 100%; border: 1px solid var(--line); }
  .crew figcaption { font-size: .8125rem; color: var(--muted); margin-top: 10px; }

  /* ---- produção ---- */
  .prod { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 64px); margin-top: 34px; align-items: start; }
  .prod h3 { font-size: 1.0625rem; font-weight: 700; }
  .prod ol { list-style: none; margin: 18px 0 0; padding: 0; border-top: 1px solid var(--line); }
  .prod li { padding-block: 13px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: baseline; }
  .prod .yr { font-family: var(--f-mono); font-size: .8125rem; color: var(--brand-red); font-variant-numeric: tabular-nums; }
  .prod .ven { font-family: var(--f-mono); font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); display: block; }
  .prod .ttl { font-size: .9063rem; color: var(--ink); line-height: 1.45; display: block; margin-top: 4px; }
  .prod .aut { font-size: .8125rem; color: var(--muted); display: block; margin-top: 3px; }
  @media (max-width: 900px) { .prod { grid-template-columns: 1fr; } }

  /* ---- callout com logo ---- */
  .callout--img { grid-template-columns: 96px 1fr auto; align-items: center; }
  .callout--img > img { width: 96px; height: auto; display: block; }
  .btn img { height: 18px; width: auto; display: block; }
  @media (max-width: 860px) { .callout--img { grid-template-columns: 1fr; } }

  /* navegação mais compacta com sete itens */
  .nav { gap: 17px; }
  .nav a { white-space: nowrap; font-size: .8438rem; }
  .brand__t1 { white-space: nowrap; }
  @media (max-width: 1240px) { .brand__txt { display: none; } }

  /* ---- faixa do ROSS ---- */
  .rossband { background: var(--navy); color: var(--navy-ink); border-block: 1px solid var(--navy-line); }
  .rossband__in { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; padding-block: clamp(30px, 4vw, 42px); }
  .rossband__mark { width: 96px; height: 96px; display: grid; place-items: center; flex: none; }
  .rossband__mark img { width: 86px; height: auto; display: block; }
  .rossband h3 { color: var(--navy-ink); font-family: var(--f-display); font-size: 1.125rem; font-weight: 700; }
  .rossband p { color: #C3D2DD; font-size: .9375rem; margin-top: 9px; max-width: 66ch; }
  .btn--white { background: #fff; color: var(--navy); }
  .btn--white:hover { background: #E7EDF2; }
  @media (max-width: 860px) { .rossband__in { grid-template-columns: 1fr; gap: 20px; } }

  /* ---- tile de texto no mural ---- */
  .wall__txt {
    background: #fff; border: 1px solid var(--line); height: 104px;
    display: grid; place-items: center; align-content: center; gap: 4px; padding: 12px 14px; text-align: center;
  }
  .wall__txt { font-family: var(--f-display); font-weight: 700; font-size: 1.125rem; color: var(--navy); }
  .wall__txt small { font-family: var(--f-body); font-weight: 400; font-size: .6875rem; color: #5E7183; line-height: 1.3; }

  /* ---- títulos de produção clicáveis ---- */
  .prod a.ttl { text-decoration: none; color: var(--ink); }
  .prod a.ttl:hover { color: var(--brand-red); text-decoration: underline; }

  /* resumo de cada frente de atuação */
  .pillar__r { font-size: .9063rem; color: var(--muted); margin-top: 12px; }

  /* título de notícia com link */
  .news__link { color: inherit; text-decoration: none; }
  .news__link:hover { color: var(--brand-red); text-decoration: underline; }

