@media (max-width: 1199px) {
  :root { --header-h: 74px; }
  body { overflow-x: hidden; }
  .horizontal-track { display: block; width: auto; }
  .panel, .panel-solar, .panel-process, .panel-lsf, .panel-solutions, .panel-projects, .panel-pillars { width: 100%; min-width: 0; min-height: 100vh; height: auto; }
  .desktop-nav { gap: 1rem; }.desktop-nav a { font-size: .56rem; }.header-cta { padding-inline: .7rem; font-size: .56rem; }
  .hero-visual { min-width: 35vw; }.hero-sun { width: 28vw; }.hero-sun .dsa-motion-mark { width: clamp(110px, 18vw, 170px); }
  .panel-solar, .panel-process, .panel-lsf, .panel-solutions, .panel-projects, .panel-pillars { min-width: 100vw; }
  /* Tablet: os painéis já estão empilhados na vertical. Quatro colunas de
     ~180px espremeriam a foto, então os segmentos viram 2×2. */
  .solar-top { display: block; margin-left: 0; }
  .solar-scale { margin-top: 2rem; }
  .solar-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin: 3rem 0 0; }
  /* Contagem ímpar: o último bloco ocupa a linha inteira em vez de deixar
     um vão ao lado. */
  .solar-cards > .solar-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .solar-card { height: clamp(200px, 26vh, 260px); }
  .process-diagram { right: 2vw; width: 52vw; }.steel-visual { right: 6vw; width: 42vw; }.metrics { right: 6vw; gap: 2vw; }.solution-list { width: 66vw; }.pillar-constellation { right: 3vw; width: 54vw; }
}
@media (max-width: 767px) {
  :root { --header-h: 68px; --pad-x: 1.25rem; }
  body { overflow-x: hidden; }.site-header { gap: 1rem; }.desktop-nav, .header-cta { display: none; }.menu-toggle { display: flex; margin-left: auto; }.header-progress { height: 2px; }
  .horizontal-track { display: block; width: auto; }.panel, .panel-solar, .panel-process, .panel-lsf, .panel-solutions, .panel-projects, .panel-pillars { width: 100%; min-width: 0; min-height: auto; height: auto; overflow: hidden; }.panel-inner { min-height: 100svh; padding-top: calc(var(--header-h) + 4.5rem); padding-bottom: 4rem; }.section-stamp { top: 5.3rem; left: var(--pad-x); font-size: .56rem; }
  .hero-inner { display: block; min-height: 100svh; padding-top: calc(var(--header-h) + 7rem); }.hero-copy { width: auto; padding: 0; }.hero-lead { max-width: 19rem; font-size: .58rem; }.hero-description { max-width: 23rem; font-size: .78rem; line-height: 1.7; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 1.3rem; margin-top: 1.7rem; }.button { min-height: 3.2rem; font-size: .58rem; }.hero-visual { position: absolute; right: -4rem; bottom: 3rem; width: 19rem; height: 19rem; min-width: 0; opacity: .6; }.hero-sun { width: 11rem; }.hero-sun .dsa-motion-mark { width: clamp(84px, 31vw, 130px); }.hero-data, .hero-tag { font-size: .48rem; }.scroll-cue { bottom: 1.4rem; font-size: .52rem; }
  .panel-about .panel-inner { min-height: 110svh; }.about-year { top: 19%; left: 1rem; font-size: 11rem; }.about-copy { top: 31%; right: var(--pad-x); left: var(--pad-x); }.about-copy h2, .evolution-copy h2, .solar-heading h2, .process-copy h2, .lsf-copy h2, .solutions-heading h2, .projects-heading h2, .pillars-heading h2, .contact-copy h2 { font-size: clamp(3.9rem, 18vw, 6rem); }.about-copy p:last-child { max-width: 18rem; font-size: .78rem; }.timeline-wrap { right: var(--pad-x); bottom: 11%; left: var(--pad-x); }.timeline-items { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; }.timeline-items strong { font-size: 1.3rem; }.blueprint { top: 18%; right: -2rem; width: 13rem; opacity: .7; }
  .panel-evolution .panel-inner { min-height: 100svh; }.evolution-copy { margin: 0; }.evolution-copy p:last-child { font-size: .78rem; }.evolution-ring { left: 70%; width: 130vw; }.pillar-scan { top: 28%; right: 2rem; }.pillar-scan::before { width: 3rem; }.pillar-scan .scan-number { font-size: 3rem; }.evolution-pills { right: var(--pad-x); bottom: 10%; left: var(--pad-x); display: grid; grid-template-columns: 1fr 1fr; }.evolution-pills span { font-size: .52rem; }
  .solar-inner { min-height: 125svh; padding-top: calc(var(--header-h) + 5rem); }.solar-top { display: block; margin-left: 0; }.solar-heading { margin: 0; }.solar-heading__text, .solar-heading__text[data-blocks="1"], .solar-heading__text[data-blocks="2"] { grid-template-columns: minmax(0, 1fr); gap: 1rem; }.solar-heading__text p { max-width: 22rem; font-size: .78rem; }.solar-scale { justify-content: space-between; margin-top: 2rem; font-size: .52rem; }.solar-scale i { flex: 1; width: auto; }.solar-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; margin: 2.5rem 0 0; }.solar-card { height: clamp(190px, 46vw, 240px); padding: 1rem; }.solar-card .card-number { font-size: .56rem; }.solar-card h3 { font-size: 1.7rem; }.solar-card p { max-width: 100%; font-size: .75rem; }
  .process-inner { min-height: 125svh; padding-top: calc(var(--header-h) + 5rem); }.process-copy { margin: 0; }.process-copy p:last-child { max-width: 17rem; font-size: .58rem; line-height: 1.6; }.process-diagram { top: auto; right: 1rem; bottom: 4rem; left: 1rem; width: auto; height: 56svh; aspect-ratio: auto; }.process-orbit { inset: 4% 6%; }.process-center { width: 6.5rem; font-size: .5rem; }.process-center strong { font-size: 1rem; }.process-node { width: 7.8rem; grid-template-columns: 1.7rem auto; column-gap: .4rem; }.process-node span { width: 1.7rem; height: 1.7rem; font-size: .48rem; }.process-node b { font-size: 1rem; }.process-node small { font-size: .5rem; }.panel-lsf .panel-inner { min-height: 125svh; padding-top: calc(var(--header-h) + 5rem); }.lsf-copy { position: relative; top: auto; left: auto; }.lsf-copy p { max-width: 18rem; font-size: .78rem; }.steel-visual { top: 47%; right: 1rem; left: 1rem; width: auto; height: 31svh; }.steel-label { font-size: .47rem; }.label-side { right: -2rem; }.metrics { right: var(--pad-x); bottom: 6.5rem; left: var(--pad-x); justify-content: space-between; gap: .5rem; }.metric { min-width: 0; }.metric strong { font-size: 3.5rem; }.metric > span { font-size: .55rem; }.metric p { max-width: 5rem; font-size: .57rem; }.disclaimer { right: var(--pad-x); bottom: 2rem; left: var(--pad-x); font-size: .48rem; }
  .solutions-inner { min-height: 115svh; padding-top: calc(var(--header-h) + 5rem); }.solutions-heading { margin: 0; }.solution-list { right: var(--pad-x); bottom: 5rem; left: var(--pad-x); width: auto; }.solution-list a { grid-template-columns: 1.5rem 1fr 1rem; gap: .45rem; padding: 1rem 0; }.solution-name { font-size: 1.65rem; }.solution-note { display: none; }.solutions-aside { display: none; }
  .projects-inner { min-height: 0; padding-top: calc(var(--header-h) + 5rem); }.projects-heading { margin: 0; }.project-cards { position: relative; right: auto; bottom: auto; left: auto; display: grid; gap: 2.2rem; margin-top: 3rem; }.project-card { width: auto; }.project-placeholder { height: 17rem; min-height: 0; }.project-card h3 { font-size: 2.5rem; }.project-card dl { gap: 1rem; }
  .panel-pillars .panel-inner { min-height: 110svh; padding-top: calc(var(--header-h) + 5rem); }.pillars-heading { margin: 0; }.pillar-constellation { top: 36%; right: var(--pad-x); width: calc(100% - 2.5rem); height: 47svh; }.constellation-node { gap: .35rem; font-size: 1.35rem; }.constellation-node span { width: 1.8rem; height: 1.8rem; font-size: .48rem; }.node-engineering, .node-tech { left: 0; }.node-energy, .node-sustain { right: 0; }.constellation-core { width: 7rem; }.constellation-core strong { font-size: 2.8rem; }.constellation-core span { font-size: .44rem; }.pillars-note { right: var(--pad-x); bottom: 4rem; left: var(--pad-x); font-size: .75rem; }
  .contact-inner { display: block; min-height: 100svh; padding-top: calc(var(--header-h) + 5rem); }.contact-copy { margin: 0; }.contact-copy p:not(.eyebrow) { max-width: 20rem; font-size: .78rem; }.contact-side { gap: 1.2rem; margin-top: 3rem; padding: 0; }.contact-block { padding-top: .6rem; }.contact-block strong { font-size: 1.1rem; }.site-footer { right: var(--pad-x); bottom: 1.4rem; left: var(--pad-x); display: grid; grid-template-columns: auto 1fr; gap: .7rem; }.site-footer .mono:last-child { grid-column: 2; font-size: .48rem; }.site-footer .mono:nth-child(2) { font-size: .48rem; line-height: 1.5; }
  .cursor-dot, .cursor-ring { display: none; }
}

/* -------------------------------------------------------------------------
   1.6.0 — reunião de 17/09/2026
   ------------------------------------------------------------------------- */
.about-year { color: var(--green); -webkit-text-stroke: 0; }
.about-copy { top: 34%; left: 45%; max-width: min(31rem, 42vw); }
.about-copy .eyebrow:empty, .about-copy h2:empty { display: none; }
.about-copy .about-text { max-width: 30rem; color: #526157; font-size: clamp(1rem, 1.35vw, 1.35rem); line-height: 1.55; }
.timeline-wrap { display: none; }

.solar-scale { display: none !important; }

@media (min-width: 1200px) {
  .about-year { top: 31%; left: 8%; font-size: clamp(14rem, 24vw, 26rem); }
  .process-inner { padding-top: 15vh; }
  .process-copy { width: min(34rem, 34vw); margin-left: 5vw; }
  .process-copy h2 { max-width: 8ch; }
  .process-subheadline { max-width: 13rem; margin-top: 1.3rem; color: var(--green); font: 500 .72rem var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
  .process-diagram { top: 31%; right: 5vw; width: min(59vw, 900px); height: 48%; aspect-ratio: auto; }
  .process-orbit { inset: 15% 0 17%; border-radius: 0; border-color: rgba(7,17,15,.16); border-right-color: transparent; border-left-color: transparent; }
  .process-orbit::before, .process-orbit::after { display: none; }
  .process-diagram::before, .process-diagram::after { content: ''; position: absolute; right: 2%; left: 2%; height: 1px; background: rgba(31,107,81,.3); }
  .process-diagram::before { top: 17%; }
  .process-diagram::after { bottom: 18%; }
  .process-node { z-index: 1; width: 11rem; grid-template-columns: 2.4rem minmax(0, 1fr); background: var(--paper); }
  .process-node b { font-size: clamp(1.15rem, 1.7vw, 1.65rem); }
  .process-node small { line-height: 1.45; }
  .process-node.node-1, .process-node.node-2, .process-node.node-3, .process-node.node-4 { top: 0; bottom: auto; }
  .process-node.node-1 { left: 0; }
  .process-node.node-2 { left: 25%; right: auto; }
  .process-node.node-3 { left: 50%; right: auto; }
  .process-node.node-4 { right: 0; left: auto; }
  .process-node.node-5 { right: 4%; bottom: 0; }
  .process-node.node-6 { bottom: 0; left: 38%; }
  .process-node.node-7 { bottom: 0; left: 4%; }
  .process-center { width: 6.5rem; background: var(--paper); }

  .panel-lsf { isolation: isolate; }
  .lsf-backdrop { position: absolute; inset: 0; z-index: 0; background-color: var(--ink-soft); background-position: center; background-size: cover; background-repeat: no-repeat; filter: grayscale(.25) contrast(1.08); }
  .lsf-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,17,15,.96) 0%, rgba(7,17,15,.78) 42%, rgba(7,17,15,.58) 100%); }
  .panel-lsf .lsf-grid { z-index: 1; opacity: .22; }
  .panel-lsf .panel-inner { z-index: 2; }
  .lsf-copy { top: 28%; left: 9vw; max-width: 38rem; }
  .lsf-copy h2 { max-width: 8ch; }
  .lsf-copy p { max-width: 29rem; font-size: 1.02rem; line-height: 1.6; }
  .steel-visual, .metrics, .disclaimer { display: none !important; }

  .solutions-visual { position: absolute; top: 12%; right: 8vw; z-index: 1; width: min(25vw, 23rem); height: min(18vw, 14rem); overflow: hidden; border: 1px solid rgba(31,107,81,.25); background-position: center; background-size: cover; opacity: .84; }
  .solutions-visual:not([style]) { background: radial-gradient(circle at 66% 35%, rgba(31,107,81,.28) 0 1px, transparent 2px), linear-gradient(135deg, transparent 0 48%, rgba(31,107,81,.55) 49% 50%, transparent 51%), linear-gradient(25deg, transparent 0 58%, rgba(31,107,81,.3) 59% 60%, transparent 61%); background-color: rgba(31,107,81,.05); background-size: 18px 18px, 100% 100%, 100% 100%; }
  .solutions-visual::before, .solutions-visual::after { content: ''; position: absolute; background: var(--green); opacity: .46; }
  .solutions-visual::before { top: 20%; bottom: 20%; left: 26%; width: 1px; transform: rotate(28deg); }
  .solutions-visual::after { top: 50%; right: 9%; left: 9%; height: 1px; transform: rotate(-18deg); }
  .solutions-visual span, .solutions-visual i, .solutions-visual b { position: absolute; display: block; border: 1px solid rgba(31,107,81,.55); }
  .solutions-visual span { inset: 21% 23%; transform: skewY(-16deg); }
  .solutions-visual i { inset: 34% 37%; border-color: var(--green); transform: rotate(45deg); }
  .solutions-visual b { right: 12%; bottom: 13%; width: 2.4rem; height: 2.4rem; border-radius: 50%; }
  .solutions-heading { position: relative; z-index: 2; }
  .panel-solutions::after { content: ''; position: absolute; top: 11%; right: 8vw; z-index: 1; width: min(25vw, 23rem); height: min(18vw, 14rem); border: 1px solid rgba(31,107,81,.25); opacity: .84; background: radial-gradient(circle at 66% 35%, rgba(31,107,81,.28) 0 1px, transparent 2px), linear-gradient(135deg, transparent 0 48%, rgba(31,107,81,.55) 49% 50%, transparent 51%), linear-gradient(25deg, transparent 0 58%, rgba(31,107,81,.3) 59% 60%, transparent 61%); background-color: rgba(31,107,81,.05); background-size: 18px 18px, 100% 100%, 100% 100%; clip-path: polygon(0 18%, 100% 0, 100% 82%, 0 100%); }

  .panel-pillars .section-stamp { display: none; }
  .pillar-constellation { width: 51vw; height: 66vh; top: 17%; right: 7vw; }
  .constellation-lines::before { width: 82%; transform: translate(-50%,-50%) rotate(25deg); }
  .constellation-lines::after { width: 82%; transform: translate(-50%,-50%) rotate(-25deg); }
  .constellation-node { z-index: 3; max-width: 15rem; font-size: clamp(1.25rem, 2vw, 2.1rem); }
  .pillar-node--1 { top: 4%; left: 0; }
  .pillar-node--2 { top: 4%; right: 0; }
  .pillar-node--3 { top: 41%; right: 0; }
  .pillar-node--4 { bottom: 4%; right: 24%; }
  .pillar-node--5 { bottom: 4%; left: 0; }
  .constellation-core { z-index: 4; width: 9.5rem; background: var(--lime); }
  .constellation-core strong { display: none; }
  .constellation-core::before { content: ''; display: block; width: 5.4rem; height: 4.6rem; background: url('../images/ico-dsa.png') center / contain no-repeat; }
  .constellation-core img { display: none; }
  .constellation-core img { display: block; width: 5.4rem; height: auto; object-fit: contain; }
  .constellation-core span { margin-top: .35rem; }

  .contact-inner { grid-template-columns: 1.4fr .7fr; grid-template-rows: auto 1fr; align-content: stretch; padding-top: 12vh; }
  .contact-clients { grid-column: 1 / -1; grid-row: 1; align-self: start; margin: 0 5vw 5vh; }
  .contact-copy { grid-column: 1; grid-row: 2; align-self: center; }
  .contact-side { grid-column: 2; grid-row: 2; align-self: center; }
}

.contact-clients { position: relative; z-index: 2; overflow: hidden; border-block: 1px solid var(--line); padding: .9rem 0; }
.contact-clients::before { content: 'CLIENTES'; display: block; margin-bottom: .75rem; color: var(--lime); font: .55rem var(--font-mono); letter-spacing: .12em; }
.contact-clients__viewport { overflow: hidden; }
.contact-clients__track { display: flex; width: max-content; animation: dsa-client-marquee 42s linear infinite; }
.contact-clients__set { display: flex; align-items: center; justify-content: space-around; gap: clamp(2rem, 5vw, 6rem); width: clamp(34rem, 72vw, 78rem); padding-right: clamp(2rem, 5vw, 6rem); }
.contact-client { display: inline-flex; align-items: center; justify-content: center; min-width: 7rem; color: var(--paper-muted); }
.contact-client a { display: inline-flex; align-items: center; justify-content: center; color: inherit; }
.contact-client img { width: auto; max-width: 8.5rem; height: 2rem; object-fit: contain; filter: grayscale(1); opacity: .72; transition: filter .25s ease, opacity .25s ease; }
.contact-client a:hover img, .contact-client a:focus-visible img { filter: grayscale(0); opacity: 1; }
.contact-client__name { font: 500 .7rem var(--font-mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
@keyframes dsa-client-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .contact-clients__track { animation-play-state: paused; } }

@media (max-width: 1199px) {
  .about-copy { top: 34%; left: 42%; }
  .lsf-backdrop { position: absolute; inset: 0; background-position: center; background-size: cover; }
  .lsf-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,17,15,.92), rgba(7,17,15,.7)); }
  .panel-lsf .lsf-grid { z-index: 1; opacity: .18; }
  .panel-lsf .panel-inner { position: relative; z-index: 2; }
  .steel-visual, .metrics, .disclaimer { display: none !important; }
  .solutions-visual { top: 10%; right: var(--pad-x); width: min(16rem, 28vw); height: 8rem; }
  .contact-clients { margin-bottom: 2.5rem; }
}

@media (max-width: 767px) {
  .about-copy { top: auto; left: auto; max-width: none; }
  .about-year { margin-bottom: 1.75rem; font-size: clamp(8rem, 30vw, 11rem); }
  .about-copy .about-text { max-width: 100%; font-size: 1rem; line-height: 1.6; }
  .process-subheadline { margin-top: 1rem; color: var(--green); font: 500 .62rem var(--font-mono); letter-spacing: .1em; line-height: 1.6; text-transform: uppercase; }
  .lsf-copy { position: relative; top: auto; left: auto; }
  .solutions-visual { position: relative; top: auto; right: auto; width: 100%; height: 8rem; margin: 0 0 2.5rem; }
  .panel-solutions::after { top: 10%; right: var(--pad-x); width: calc(100% - (2 * var(--pad-x))); height: 8rem; opacity: .38; }
  .constellation-core strong { display: none; }
  .constellation-core::before { content: ''; display: block; width: 4.4rem; height: 3.8rem; background: url('../images/ico-dsa.png') center / contain no-repeat; }
  .solutions-heading { margin: 0; }
  .contact-clients { margin: 0 0 3rem; }
  .contact-clients__set { width: 100vw; gap: 1.5rem; padding-right: 1.5rem; }
  .contact-client { min-width: 5.5rem; }
  .contact-client img { max-width: 6.5rem; height: 1.6rem; }
  .contact-client__name { font-size: .53rem; white-space: normal; text-align: center; }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .panel::before { top: calc(var(--header-h) + 1rem); }
  
}
@media (max-width: 767px) {
  .panel::before { right: var(--pad-x); left: var(--pad-x); opacity: .25; }
  .hero-visual::before { filter: blur(12px); }
  .process-track { top: 50%; left: 12%; width: 76%; transform: rotate(-31deg); }
  .panel-pillars.is-active .node-engineering, .panel-pillars.is-active .node-energy, .panel-pillars.is-active .node-tech, .panel-pillars.is-active .node-sustain { transform: none; }
}

@media (max-width: 899px) and (min-width: 768px) {
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: flex; margin-left: auto; }
}
@media (max-width: 767px) {
  .hero-visual { pointer-events: none; }
  .process-node.node-1 { top: 27%; left: 0; }
  .process-node.node-2 { top: 5%; left: 0; }
  .process-node.node-3 { top: 5%; right: 0; left: auto; }
  .process-node.node-4 { top: 27%; right: -1rem; }
  .process-node.node-5 { right: -1rem; bottom: 24%; }
  .process-node.node-6 { right: 0; bottom: 4%; left: auto; }
  .process-node.node-7 { bottom: 24%; left: -1rem; }
}

@media (max-width: 1199px) and (min-width: 768px) {
  .hero-copy h1 { font-size: clamp(64px, 5.3vw, 86px); max-width: 12ch; }
  .about-copy h2, .evolution-copy h2, .solar-heading h2, .process-copy h2, .lsf-copy h2, .solutions-heading h2, .projects-heading h2, .pillars-heading h2, .contact-copy h2 { font-size: var(--font-heading-lg); line-height: var(--lh-heading); }
  .project-card h3 { font-size: var(--font-heading-md); }
}
@media (max-width: 767px) {
  .hero-copy h1 { font-size: clamp(40px, 11vw, 56px); max-width: 12ch; line-height: var(--lh-display); }
  .about-copy h2, .evolution-copy h2, .solar-heading h2, .process-copy h2, .lsf-copy h2, .solutions-heading h2, .projects-heading h2, .pillars-heading h2, .contact-copy h2 { font-size: clamp(2.6rem, 12vw, 3.5rem); line-height: var(--lh-heading); }
  .project-card h3 { font-size: clamp(2rem, 9vw, 2.75rem); }
}

@media (max-width: 767px) { .site-logo img { width: auto; height: auto; max-height: 36px; max-width: 175px; } .site-logo--footer img { height: auto; max-height: 30px; max-width: 180px; } }
@media (max-width: 767px) { .solution-list button { grid-template-columns: 1.5rem 1fr; gap: .45rem; padding: 1rem 0; } }

/* Visual cleanup: tablet mantém o processo legível em lista, sem radial comprimido. */
@media (min-width: 768px) and (max-width: 1199px) {
  .process-diagram { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; height: auto; margin-top: 2.5rem; display: grid; gap: 0; aspect-ratio: auto; }
  .process-orbit, .process-center, .process-track { display: none; }
  .process-node, .process-node.node-1, .process-node.node-2, .process-node.node-3, .process-node.node-4, .process-node.node-5, .process-node.node-6, .process-node.node-7 { position: relative; inset: auto; width: 100%; min-height: 3.8rem; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: .8rem; align-items: center; padding: .9rem 0; border-top: 1px solid rgba(7,17,15,.18); transform: none; }
  .process-node:last-of-type { border-bottom: 1px solid rgba(7,17,15,.18); }
  .process-node span { grid-row: span 2; width: 2.4rem; height: 2.4rem; }
  .process-node b { font-size: 1.45rem; }
  .process-node small { font-size: .68rem; }
  .metrics { position: relative; right: auto; bottom: auto; left: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 2.5rem 6vw 0; }
  .metric { min-width: 0; }
  .metric p { max-width: 10rem; line-height: 1.45; }
  .panel-lsf .panel-inner { min-height: 0; padding-top: calc(var(--header-h) + 4.5rem); padding-bottom: 4rem; }
  .lsf-copy { position: relative; top: auto; left: auto; }
  .lsf-copy h2 { max-width: 10ch; }
  .steel-visual { position: relative; top: auto; right: auto; left: auto; width: 100%; height: 14rem; margin: 3rem 0 1rem; }
  .panel-lsf .section-stamp { position: relative; inset: auto; margin-bottom: 2rem; }
  .disclaimer { position: relative; inset: auto; max-width: 100%; margin: 2rem 6vw 0; }
  .pillars-heading { width: min(27rem, 40vw); }
  .pillar-constellation { top: 25%; right: 2vw; width: 56vw; height: 58vh; }
  .constellation-node { font-size: clamp(1.25rem, 2.7vw, 1.75rem); }
  .node-engineering { top: 3%; left: 0; }
  .node-energy { top: 3%; right: 0; }
  .node-tech { right: auto; bottom: 3%; left: 0; }
  .node-sustain { right: 0; bottom: 3%; }
}

/* Mobile editorial flow: neutralize desktop geometry only below the desktop breakpoint. */
@media (max-width: 1199px) {
  .horizontal-track { display: block; width: 100%; transform: none !important; }
  .panel { position: relative; width: 100%; min-width: 0; height: auto; min-height: 0; transform: none !important; }
}

@media (max-width: 767px) {
  .panel-inner { min-height: 0; padding-block: clamp(4.5rem, 18vw, 6.5rem); }
  .section-stamp { position: relative; top: auto; right: auto; bottom: auto; left: auto; margin-bottom: 2rem; }

  .hero-inner { display: block; min-height: 0; padding-top: calc(var(--header-h) + 3.5rem); padding-bottom: 3rem; }
  .hero-copy { width: auto; padding: 0; }
  .hero-copy h1 { max-width: 12ch; margin: var(--space-4) 0 var(--space-4); font-size: clamp(40px, 11vw, 56px); line-height: var(--lh-display); }
  .hero-lead { max-width: 100%; font-size: .62rem; line-height: 1.7; }
  .hero-description { max-width: 100%; margin-top: var(--space-4); font-size: 1rem; line-height: 1.5; }
  .hero-actions { gap: var(--space-4); margin-top: var(--space-6); }
  .hero-actions .button { width: min(100%, 17rem); }
  .hero-visual { position: relative; right: auto; bottom: auto; width: min(100%, 18rem); height: auto; min-width: 0; aspect-ratio: 1; margin: 3rem auto 0; opacity: .58; }
  .hero-orbit { inset: 14% 14%; }
  .hero-orbit.orbit-two { inset: 25% 8%; }
  .hero-sun { width: 62%; }
  .hero-sun .dsa-motion-mark { width: clamp(90px, 28vw, 140px); }
  .scroll-cue { position: relative; right: auto; bottom: auto; left: auto; margin: 2rem var(--pad-x) 0; }

  .about-inner { padding-top: clamp(4.5rem, 18vw, 6.5rem); }
  .about-year { position: relative; top: auto; left: auto; margin: 0 0 1rem; font-size: clamp(8rem, 30vw, 11rem); line-height: .75; }
  .about-copy { position: relative; top: auto; right: auto; left: auto; }
  .timeline-wrap { position: relative; right: auto; bottom: auto; left: auto; margin-top: 3rem; }
  .timeline-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blueprint { position: relative; top: auto; right: auto; width: min(100%, 14rem); margin: 3rem auto 0; }

  .evolution-inner { display: block; }
  .evolution-copy { margin: 0; }
  .evolution-ring { top: 66%; left: 50%; width: 85vw; }
  .evolution-cross::before { left: 50%; }
  .pillar-scan { position: relative; top: auto; right: auto; margin-top: 2.5rem; }
  .evolution-pills { position: relative; right: auto; bottom: auto; margin-top: 2rem; }
  .solar-inner { min-height: 0; padding-top: clamp(4.5rem, 18vw, 6.5rem); }
  .solar-heading { margin: 0; }
  .solar-heading h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .solar-heading__text p { max-width: 100%; font-size: .9rem; line-height: 1.6; }
  .solar-scale { margin-top: 2.5rem; }
  /* Mobile: ordem eyebrow → headline → descrição → CTA → 4 segmentos,
     um por linha, cada um com imagem, título e descrição. */
  .solar-cards { grid-template-columns: minmax(0, 1fr); margin-top: 2rem; }
  .solar-card { height: clamp(200px, 52vw, 260px); padding: 1rem; }

  .process-inner { min-height: 0; }
  .process-copy { margin: 0; }
  .process-copy h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .process-copy p:last-child { max-width: 100%; font-size: .62rem; }
  .process-diagram { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; height: auto; margin-top: 3rem; display: grid; gap: 0; aspect-ratio: auto; }
  .process-orbit, .process-center, .process-track { display: none; }
  .process-node, .process-node.node-1, .process-node.node-2, .process-node.node-3, .process-node.node-4, .process-node.node-5, .process-node.node-6, .process-node.node-7 { position: relative; inset: auto; width: 100%; min-height: 3.4rem; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); column-gap: .75rem; align-items: center; padding: .85rem 0; border-top: 1px solid rgba(7,17,15,.18); transform: none; }
  .process-node.process-node-overflow { display: grid; }
  .process-node:last-of-type { border-bottom: 1px solid rgba(7,17,15,.18); }
  .process-node span { grid-row: span 2; width: 2.2rem; height: 2.2rem; }
  .process-node b { font-size: 1.35rem; }
  .process-node small { font-size: .65rem; }

  .panel-lsf .panel-inner { min-height: 0; }
  .lsf-grid { transform: none; opacity: .3; }
  .lsf-copy { position: relative; top: auto; left: auto; }
  .lsf-copy h2 { max-width: 10ch; font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .lsf-copy p { max-width: 100%; font-size: 1rem; line-height: 1.5; }
  .steel-visual { position: relative; top: auto; right: auto; left: auto; width: 100%; height: 12rem; margin: 3rem 0 2rem; }
  .steel-frame { transform: skewY(-12deg) rotate(-24deg) scale(.72); transform-origin: center; }
  .steel-label { font-size: .48rem; }
  .label-side { right: -1rem; }
  .metrics { position: relative; right: auto; bottom: auto; left: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 2rem; }
  .metric { min-width: 0; }
  .metric strong { font-size: clamp(3rem, 13vw, 4.5rem); }
  .metric p { max-width: 6rem; font-size: .58rem; line-height: 1.4; }
  .disclaimer { position: relative; right: auto; bottom: auto; max-width: 100%; margin-top: 2rem; font-size: .5rem; }

  .solutions-inner { min-height: 0; }
  .solutions-heading { margin: 0; }
  .solutions-heading h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .solution-list { position: relative; right: auto; bottom: auto; left: auto; width: 100%; margin-top: 3rem; }
  .solution-list button { grid-template-columns: 2rem minmax(0, 1fr); width: 100%; }
  .solution-note { display: none; }
  .solution-name { font-size: clamp(26px, 8vw, 34px); line-height: .9; }

  .projects-inner { min-height: 0; }
  .projects-heading { margin: 0; }
  .projects-heading h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .project-cards { position: relative; right: auto; bottom: auto; left: auto; width: 100%; grid-template-columns: 1fr; margin-top: 3rem; }
  .project-card { width: 100%; }
  .project-meta { flex-wrap: wrap; }
  .project-placeholder { width: 100%; aspect-ratio: 4 / 3; height: auto; min-height: 0; }
  .project-card h3 { font-size: clamp(28px, 9vw, 36px); line-height: .9; }
  .project-card dl { flex-wrap: wrap; }

  .panel-pillars .panel-inner { min-height: 0; }
  .pillars-heading { margin: 0; }
  .pillars-heading h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .pillar-constellation { position: relative; top: auto; right: auto; width: 100%; height: auto; margin-top: 2.5rem; display: flex; flex-direction: column; gap: .75rem; }
  .constellation-lines { display: none; }
  .constellation-node, .node-engineering, .node-energy, .node-tech, .node-sustain { position: relative; top: auto; right: auto; bottom: auto; left: auto; gap: .5rem; font-size: clamp(26px, 8vw, 34px); }
  .constellation-node.constellation-node-overflow { display: flex; }
  .constellation-node span { width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; font-size: .48rem; }
  .constellation-core { position: relative; top: auto; left: auto; width: 7rem; margin: 1rem auto; transform: none; }
  .pillars-note { position: relative; right: auto; bottom: auto; left: auto; max-width: 100%; margin-top: 2rem; }

  .contact-inner { display: block; min-height: 0; }
  .contact-copy { margin: 0; }
  .contact-copy h2 { font-size: clamp(34px, 11vw, 46px); line-height: var(--lh-heading); }
  .contact-copy p:not(.eyebrow) { max-width: 100%; font-size: 1rem; line-height: 1.5; }
  .contact-side { margin-top: 3rem; padding: 0; }
  .contact-block strong { overflow-wrap: anywhere; }
  .site-footer { position: relative; right: auto; bottom: auto; left: auto; margin-top: 4rem; }

  .editorial-modal { padding: 0; }
  .editorial-modal__dialog { width: 100%; min-height: 100dvh; max-height: 100dvh; height: 100dvh; padding: 0 var(--pad-x) 0; overflow: hidden; }
  .editorial-modal__body { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-bottom: 1.5rem; }
  .editorial-modal__chrome { position: sticky; top: 0; min-height: 44px; padding: 1rem 0 .75rem; background: var(--paper); }
  .editorial-modal__close { min-width: 44px; min-height: 44px; justify-content: center; }
  .editorial-modal__layout, .editorial-modal__layout--project { display: block; padding-top: 1.5rem; }
  .editorial-modal__intro h2 { font-size: clamp(34px, 11vw, 52px); line-height: .9; }
  .editorial-modal__col--text h2 { font-size: clamp(38px, 11vw, 52px); line-height: var(--lh-heading); }
  .editorial-modal__col--text .editorial-modal__facts { grid-template-columns: 1fr; }
  .editorial-modal__col--media { margin-top: 1.75rem; }
  .editorial-modal__lead { max-width: 100%; font-size: 1rem; }
  .editorial-modal__content-grid { margin-top: 2rem; }
  .editorial-modal__media, .editorial-modal__gallery { min-height: 12rem; margin-top: 2rem; }
}

@media (max-width: 767px) {
  .panel-hero.has-hero-media .hero-visual { width: min(100%, 16rem); opacity: .28; }
  .panel-hero.has-hero-media .hero-sun { width: 58%; }
  .panel-about .blueprint { display: none; }
  .metrics { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 5rem; }
  .metric { display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); align-items: baseline; column-gap: .8rem; padding-top: .75rem; border-top: 1px solid rgba(241,243,235,.18); }
  .metric strong { font-size: clamp(3rem, 14vw, 4.5rem); }
  .metric > span { align-self: end; }
  .metric p { max-width: none; margin: 0; font-size: .62rem; }
  .metric p, .metric > span { grid-column: 2; }
  .metric strong { grid-row: span 2; }
}

/* Hero fotográfico · mobile (max-width: 767px).
   Em cover a imagem vertical sobra na horizontal (não na vertical), então o eixo que
   enquadra é o X: `right` mantém os dois engenheiros inteiros e os painéis à esquerda.
   Overlay uniforme: fecha no topo, onde fica todo o texto, e abre no rodapé para a
   fotografia respirar sob a marca em motion. */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .panel-hero.has-hero-media { background-position: 58% 58%; }
  .panel-hero.has-hero-media::after { background: linear-gradient(180deg, rgba(5,10,8,.82) 0%, rgba(5,10,8,.68) 38%, rgba(5,10,8,.38) 72%, rgba(5,10,8,.22) 100%); }
  .panel-hero.has-hero-media .hero-visual { opacity: .34; }
}

@media (max-width: 767px) {
  .panel-hero.has-hero-media { background-position: 58% 58%; }
  .panel-hero.has-hero-media::after { background: linear-gradient(180deg, rgba(5,10,8,.92) 0%, rgba(5,10,8,.88) 22%, rgba(5,10,8,.82) 46%, rgba(5,10,8,.58) 68%, rgba(5,10,8,.4) 100%); }
  .panel-hero.has-hero-media .hero-inner { padding-bottom: 4rem; }
  .panel-hero.has-hero-media .hero-visual { margin-top: 2.5rem; opacity: .3; }
  .panel-hero.has-hero-media .hero-description { color: rgba(241,243,235,.88); text-shadow: 0 1px 12px rgba(5,10,8,.5); }
}

/* Tablet: a constelação deixa de ser radial para preservar safe area com cinco
   pilares; o mobile continua linear e o desktop mantém a composição orbital. */
@media (min-width: 768px) and (max-width: 1199px) {
  .panel-pillars .panel-inner { min-height: auto; padding-bottom: 5rem; }
  .pillar-constellation { position: relative !important; top: auto !important; right: auto !important; width: 100% !important; height: auto !important; margin-top: 3rem; padding: 0 var(--pad-x); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; }
  .constellation-lines { display: none !important; }
  .constellation-node, .pillar-node--1, .pillar-node--2, .pillar-node--3, .pillar-node--4, .pillar-node--5 { position: relative !important; inset: auto !important; width: auto !important; max-width: none !important; transform: none !important; font-size: clamp(1.45rem, 3vw, 2.2rem); }
  .pillar-node--5 { grid-column: 1 / -1; justify-self: center; }
  .constellation-core { position: relative !important; top: auto !important; left: auto !important; grid-column: 1 / -1; width: 8rem; margin: 1rem auto 0; transform: none !important; }
  .constellation-core strong { display: none !important; }
  .constellation-core::before { content: ''; display: block; width: 4.8rem; height: 4rem; background: url('../images/ico-dsa.png') center / contain no-repeat; }
  .pillars-note { position: relative !important; right: auto !important; bottom: auto !important; left: auto !important; max-width: 30rem; margin: 2rem var(--pad-x) 0; }
}

/* --- 1.2.0 --- */
@media (max-width: 767px) {
  /* No mobile o diagrama radial e a constelação já viram listas completas:
     os blocos de excedente sairiam duplicados. */
  .process-overflow, .pillars-overflow { display: none; }
  .metric strong.metric-static { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .site-footer .footer-tagline { font-size: .48rem; line-height: 1.5; }
  .site-footer .footer-copy { grid-column: 2; font-size: .48rem; }
  .site-footer .footer-social { grid-column: 2; }
  .footer-social__link { width: 1.5rem; height: 1.5rem; }
  /* No mobile a constelação vira lista vertical: a descrição volta ao fluxo. */
  .constellation-node small { position: static; flex: 0 0 100%; width: auto; max-width: none; margin-top: .2rem; padding-left: 2.3rem; font-size: .55rem; }
}

/* --- 1.4.2 --- */
@media (max-width: 1199px) {
  .solutions-body { grid-template-columns: 58fr 42fr; gap: clamp(1.5rem, 3vw, 3rem); }
}
@media (max-width: 900px) {
  /* Duas colunas comprimidas não cabem: empilha lista e depois a chamada. */
  .solutions-body { position: relative; right: auto; bottom: auto; left: auto; display: block; }
  .solutions-side { margin-top: 2.5rem; }
}
@media (max-width: 767px) {
  .solutions-inner { min-height: 0; }
  .solution-item { grid-template-columns: 1.5rem 1fr; gap: .45rem; padding: 1rem 0; }
  .solution-item .solution-name { font-size: 1.65rem; }
  .solutions-side { margin-top: 2rem; padding-top: 1rem; }
  .solutions-side h3 { font-size: clamp(1.4rem, 6vw, 1.9rem); }
  .solutions-side__text { max-width: 100%; font-size: .82rem; }
}

/* Fechamento da sprint visual: vence regras legadas anteriores sem reabrir a
   composição horizontal desktop. */
@media (min-width: 1200px) {
  .panel-hero.has-hero-media::after { background: linear-gradient(90deg, rgba(5,10,8,.94) 0%, rgba(5,10,8,.82) 32%, rgba(5,10,8,.50) 58%, rgba(5,10,8,.18) 100%); }
  .panel-hero.has-hero-media .hero-sun { top: 38%; left: 48%; }
  .panel-hero.has-hero-media .hero-visual { opacity: .72; }
}

@media (max-width: 1199px) {
  .panel-about .blueprint, .hero-sun small, .hero-data, .hero-tag, .steel-label { display: none; }
}

@media (max-width: 767px) {
  .panel-hero.has-hero-media .hero-visual { width: min(100%, 16rem); opacity: .28; }
  .panel-hero.has-hero-media .hero-sun { width: 58%; }
  .metrics { grid-template-columns: 1fr; gap: 1rem; margin-top: 2.5rem; }
  .metric { display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); align-items: baseline; column-gap: .8rem; padding-top: .75rem; border-top: 1px solid rgba(241,243,235,.18); }
  .metric strong, .metric strong.metric-static { grid-row: span 2; font-size: clamp(3rem, 14vw, 4.5rem); }
  .metric > span, .metric p { grid-column: 2; }
  .metric > span { align-self: end; }
  .metric p { max-width: none; margin: 0; font-size: .62rem; }
}

/* --- Refino home 1.6.1 -------------------------------------------------- */
.panel-about { isolation: isolate; overflow: hidden; }
.panel-about > .panel-inner { position: relative; isolation: isolate; }
.panel-about > .panel-inner > .section-stamp { display: none; }
.about-editorial { position: absolute; z-index: 0; top: 0; right: 0; bottom: 0; left: 56%; overflow: hidden; }
.about-editorial::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--paper) 0%, rgba(245,246,238,.86) 16%, rgba(245,246,238,.24) 51%, rgba(245,246,238,0) 100%); pointer-events: none; }
.about-editorial__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center right; filter: saturate(.68) contrast(.96); opacity: .68; }
.about-watermark { position: absolute; z-index: 0; left: 8%; bottom: 4%; color: var(--green); font: 700 clamp(8rem, 19vw, 18rem)/.72 var(--font-display); letter-spacing: -.08em; opacity: .11; pointer-events: none; }
.about-copy { position: absolute; z-index: 2; top: 32%; right: auto; left: 9vw; width: min(28rem, 32vw); margin: 0; }
.about-copy .eyebrow { color: var(--green); }
.about-copy h2 { margin: .7rem 0 1.4rem; color: var(--ink); font-size: clamp(4rem, 8vw, 7.5rem); line-height: .82; letter-spacing: -.05em; }
.about-copy p:last-child { max-width: 31rem; color: var(--ink-soft); font-size: clamp(.9rem, 1.15vw, 1.1rem); line-height: 1.55; }

.process-diagram { isolation: isolate; }
.process-connections { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.process-connections path { fill: none; stroke: rgba(31,107,81,.32); stroke-width: .35; vector-effect: non-scaling-stroke; }
.process-node__content { min-width: 0; }
.process-node__content { width: auto !important; height: auto !important; border: 0 !important; border-radius: 0 !important; grid-row: auto !important; }
.process-node__icon { display: inline-flex; width: 1.05rem; height: 1.05rem; margin-bottom: .35rem; color: var(--green); vertical-align: middle; }
.process-node__icon svg { width: 100%; height: 100%; stroke-width: 1.4; }

.lsf-backdrop { isolation: isolate; overflow: hidden; background: var(--ink-soft); filter: none; }
.lsf-backdrop__image { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center right; filter: saturate(.72) contrast(1.04); opacity: .82; }
.lsf-backdrop::after { z-index: 1; background: linear-gradient(90deg, rgba(5,20,15,.98) 0%, rgba(5,20,15,.90) 28%, rgba(5,20,15,.55) 50%, rgba(5,20,15,.12) 75%, rgba(5,20,15,0) 100%); }
.panel-lsf .lsf-grid, .panel-lsf .panel-inner { z-index: 2; }

.panel-solutions::after { display: none; }
.solutions-visual, .solutions-visual:not([style]) { position: absolute; z-index: 1; top: 9%; right: 8vw; display: grid; width: min(25vw, 22rem); height: min(18vw, 14rem); place-items: center; overflow: visible; border: 0; background: transparent !important; background-image: none !important; opacity: .66; pointer-events: none; }
.solutions-visual::before, .solutions-visual::after { content: ''; position: absolute; background: var(--green); opacity: .35; }
.solutions-visual::before { top: 18%; bottom: 18%; left: 28%; width: 1px; transform: rotate(29deg); }
.solutions-visual::after { right: 9%; left: 8%; height: 1px; bottom: 34%; transform: rotate(-18deg); }
.solutions-visual__image { position: relative; z-index: 1; display: block; width: 82%; height: 82%; object-fit: contain; opacity: .62; filter: grayscale(.9) sepia(.12) saturate(.7); mix-blend-mode: multiply; }

.panel-pillars { isolation: isolate; overflow: hidden; }
.panel-pillars > .panel-inner { position: relative; isolation: isolate; }
.pillars-heading { position: absolute; z-index: 2; top: 14%; left: var(--pad-x); width: min(26rem, 28vw); margin: 0; }
.pillar-constellation { position: absolute; z-index: 1; top: 15%; right: 5vw; left: 35%; width: auto; height: 68%; }
.constellation-lines { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.constellation-lines path { fill: none; stroke: rgba(31,107,81,.42); stroke-width: .35; vector-effect: non-scaling-stroke; }
.constellation-lines .constellation-lines__secondary { stroke: rgba(169,213,52,.38); stroke-dasharray: 1.1 1.4; }
.constellation-node { z-index: 2; }
.pillar-node--1 { top: 3%; left: 0; }
.pillar-node--2 { top: 3%; right: 0; }
.pillar-node--3 { top: 43%; right: 0; }
.pillar-node--4 { right: 17%; bottom: 0; }
.pillar-node--5 { bottom: 0; left: 7%; }
.pillars-engineer { position: absolute; z-index: 1; top: 37%; left: var(--pad-x); width: min(18vw, 17rem); height: 25vh; overflow: hidden; opacity: .82; pointer-events: none; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
.pillars-engineer__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: grayscale(.85) sepia(.12) contrast(.9); mix-blend-mode: multiply; }
.constellation-core { z-index: 3; }
.constellation-core strong { display: none; }
.constellation-core::before { content: ''; display: block; width: 5.5rem; height: 4.8rem; margin-inline: auto; background: url('../images/ico-dsa.png') center / contain no-repeat; }

.contact-inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(15rem, .75fr); grid-template-rows: auto auto auto; align-content: start; column-gap: clamp(3rem, 8vw, 9rem); row-gap: 0; padding-top: clamp(5rem, 8vh, 7rem); }
.contact-inner > .section-stamp { grid-column: 1 / -1; grid-row: 1; position: relative; inset: auto; margin: 0 0 2.5rem; }
.contact-copy { grid-column: 1; grid-row: 2; margin: 0; align-self: start; }
.contact-side { grid-column: 2; grid-row: 2; align-self: start; margin: 0; padding: .25rem 0 0; }
.contact-clients { grid-column: 1 / -1; grid-row: 3; align-self: stretch; min-height: 8rem; margin: clamp(3rem, 7vh, 6rem) 0 0; }
.contact-clients::before { display: none; }
.contact-clients__heading { margin-bottom: .75rem; color: var(--lime); font-size: .55rem; letter-spacing: .12em; }
.contact-client__logo { display: block; width: auto; height: clamp(2rem, 3.5vw, 3.5rem); max-width: 10rem; object-fit: contain; filter: grayscale(1); opacity: .72; }
.contact-client__image { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.85) sepia(.1); opacity: .5; }
.contact-clients--fallback .contact-client { position: relative; width: clamp(12rem, 17vw, 18rem); min-width: clamp(12rem, 17vw, 18rem); height: 5rem; overflow: hidden; border: 1px solid rgba(241,243,235,.18); }
.contact-clients--fallback .contact-client::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,20,15,.62), rgba(5,20,15,.08)); pointer-events: none; }
.contact-client__fallback-label { position: absolute; z-index: 1; right: .7rem; bottom: .55rem; left: .7rem; color: var(--paper); font: .5rem var(--font-mono); letter-spacing: .12em; }
.contact-client a { display: grid; place-items: center; min-height: 4rem; }
.contact-clients:hover .contact-clients__track, .contact-clients:focus-within .contact-clients__track { animation-play-state: paused; }
.site-footer { grid-column: 1 / -1; grid-row: 4; position: relative; inset: auto; margin-top: 3rem; }

@media (min-width: 1200px) {
  .process-diagram { top: 15%; right: 2vw; bottom: auto; left: auto; width: min(62vw, 900px); height: 72%; aspect-ratio: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
  .process-orbit, .process-track { display: none; }
  .process-node, .process-node.node-1, .process-node.node-2, .process-node.node-3, .process-node.node-4, .process-node.node-5, .process-node.node-6, .process-node.node-7 { position: relative !important; inset: auto !important; width: auto !important; min-width: 0; min-height: 0; display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-content: start; align-self: center; gap: .6rem; padding: .25rem .45rem; transform: none !important; background: var(--paper); }
  .process-node:nth-of-type(2) { grid-column: 1; grid-row: 1; }
  .process-node:nth-of-type(3) { grid-column: 2; grid-row: 1; }
  .process-node:nth-of-type(4) { grid-column: 3; grid-row: 1; }
  .process-node:nth-of-type(5) { grid-column: 4; grid-row: 1; }
  .process-node:nth-of-type(6) { grid-column: 1; grid-row: 2; }
  .process-node:nth-of-type(7) { grid-column: 2; grid-row: 2; }
  .process-node:nth-of-type(8) { grid-column: 3; grid-row: 2; }
  .process-center { grid-column: 4; grid-row: 2; position: relative; inset: auto; align-self: center; justify-self: center; width: 7rem; height: 7rem; transform: none; }
  .process-node__number { display: grid; place-items: center; width: 2rem !important; height: 2rem !important; border: 1px solid var(--lime); border-radius: 50%; color: var(--green); font: .55rem var(--font-mono); }
  .process-node__content { display: block; min-width: 0; }
  .process-node__icon { display: block; }
  .process-node b { display: block; font-size: clamp(1rem, 1.35vw, 1.3rem); line-height: .95; overflow-wrap: anywhere; }
  .process-node small { display: block; max-width: 10rem; margin-top: .5rem; color: var(--ink-soft); font-size: .58rem; line-height: 1.45; }
  .process-copy { max-width: 24rem; }
  .pillars-note { max-width: 18rem; }
  .contact-inner { min-height: 100svh; }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .about-editorial { top: auto; height: 43%; opacity: .72; }
  .about-copy { position: relative; top: auto; left: auto; width: min(40rem, 100%); padding-top: 9rem; }
  .about-watermark { bottom: 12%; left: var(--pad-x); font-size: clamp(7rem, 20vw, 12rem); }
  .process-diagram { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; height: auto; margin-top: 3rem; padding-left: 1.5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
  .process-diagram::before { content: ''; position: absolute; top: 1rem; bottom: 1rem; left: .55rem; width: 1px; background: rgba(31,107,81,.32); }
  .process-connections { display: none; }
  .process-node, .process-node.node-1, .process-node.node-2, .process-node.node-3, .process-node.node-4, .process-node.node-5, .process-node.node-6, .process-node.node-7 { position: relative !important; inset: auto !important; width: auto !important; display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .6rem; padding: .9rem 0; transform: none !important; background: var(--paper); }
  .process-node__number { display: grid; place-items: center; width: 2rem !important; height: 2rem !important; border: 1px solid var(--lime); border-radius: 50%; color: var(--green); font: .55rem var(--font-mono); }
  .process-node b { display: block; font-size: 1.05rem; line-height: 1; }
  .process-node small { display: block; margin-top: .35rem; font-size: .62rem; line-height: 1.4; }
  .process-center { display: none; }
  .lsf-backdrop::after { background: linear-gradient(90deg, rgba(5,20,15,.98), rgba(5,20,15,.78) 50%, rgba(5,20,15,.2)); }
  .solutions-visual { top: 8%; right: var(--pad-x); width: min(18rem, 26vw); height: 9rem; }
  .contact-inner { grid-template-columns: minmax(0, 1fr) minmax(13rem, .65fr); min-height: 0; padding-top: 8rem; }
}

@media (max-width: 767px) {
  .panel-about > .panel-inner { display: flex; flex-direction: column; }
  .panel-about > .panel-inner > .section-stamp { display: none; }
  .about-copy { position: relative; top: auto; left: auto; order: 2; width: 100%; padding-top: 0; }
  .about-copy h2 { margin-top: .6rem; font-size: clamp(3.5rem, 17vw, 5.5rem); }
  .about-copy p:last-child { max-width: 100%; }
  .about-watermark { position: relative; order: 3; left: auto; bottom: auto; margin-top: 2rem; font-size: clamp(7rem, 35vw, 11rem); line-height: .7; }
  .about-editorial { position: relative; order: 4; inset: auto; width: 100%; height: 15rem; margin-top: 1.5rem; opacity: .82; }
  .about-editorial::after { background: linear-gradient(180deg, rgba(245,246,238,0) 0%, rgba(245,246,238,.15) 50%, var(--paper) 100%); }
  .about-editorial__image { object-position: center; }
  .process-diagram { position: relative; padding-left: 1.4rem; }
  .process-diagram::before { content: ''; position: absolute; top: .85rem; bottom: .85rem; left: .48rem; width: 1px; background: rgba(31,107,81,.32); }
  .process-connections { display: none; }
  .process-node__number { display: grid; place-items: center; width: 2.2rem !important; height: 2.2rem !important; border: 1px solid var(--lime); border-radius: 50%; color: var(--green); font: .55rem var(--font-mono); }
  .process-node__content { display: block; }
  .process-node__icon { display: inline-flex; width: .95rem; height: .95rem; margin: 0 .35rem .25rem 0; }
  .process-node b { display: inline; font-size: 1.18rem; line-height: 1; }
  .process-node small { display: block; margin-top: .35rem; font-size: .62rem; line-height: 1.45; }
  .lsf-backdrop__image { object-position: 67% center; opacity: .72; }
  .lsf-backdrop::after { background: linear-gradient(180deg, rgba(5,20,15,.98) 0%, rgba(5,20,15,.88) 42%, rgba(5,20,15,.28) 100%); }
  .solutions-visual { top: 6.5rem; right: var(--pad-x); width: 9rem; height: 5.5rem; opacity: .34; }
  .solutions-visual__image { width: 58%; height: 58%; }
  .panel-pillars .pillars-heading { position: relative; top: auto; left: auto; width: 100%; }
  .panel-pillars > .panel-inner { display: flex; flex-direction: column; }
  .panel-pillars .pillars-engineer { position: relative; top: auto; left: auto; order: 2; width: 100%; height: 9rem; margin: 1.5rem 0 0; opacity: .7; }
  .panel-pillars .pillar-constellation { position: relative; top: auto; right: auto; left: auto; width: 100%; height: auto; margin-top: 2.5rem; }
  .panel-pillars .constellation-node, .panel-pillars .pillar-node--1, .panel-pillars .pillar-node--2, .panel-pillars .pillar-node--3, .panel-pillars .pillar-node--4, .panel-pillars .pillar-node--5 { position: relative !important; inset: auto !important; display: flex; width: 100%; max-width: none; gap: .5rem; align-items: center; overflow-wrap: anywhere; }
  .panel-pillars .constellation-node b { min-width: 0; overflow-wrap: anywhere; }
  .panel-pillars .constellation-core { order: -1; }
  .panel-pillars .constellation-lines { display: none; }
  .panel-pillars .constellation-core::before { width: 5rem; height: 4rem; }
  .contact-inner { display: flex; flex-direction: column; min-height: 0; padding-top: calc(var(--header-h) + 3.5rem); }
  .contact-inner > .section-stamp { order: 1; margin-bottom: 2rem; }
  .contact-copy { order: 2; }
  .contact-side { order: 3; gap: 1.15rem; margin-top: 1.5rem; }
  .contact-clients { order: 4; min-height: 7rem; margin: 1.75rem 0 0; }
  .contact-clients__set { width: 100vw; gap: 1.5rem; padding-right: 1.5rem; }
  .contact-client__logo { max-width: 7rem; height: 2.4rem; }
  .contact-clients--fallback .contact-client { width: 10rem; min-width: 10rem; height: 4.25rem; }
  .site-footer { order: 5; margin-top: 3rem; }
}

/* =========================================================================
   1.6.3 — refinamento editorial real da Home
   ========================================================================= */

/* Processo: timeline editorial em grid, sem órbita, serpentina ou centro. */
.panel-process .process-inner {
  display: grid;
  grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr);
  grid-template-rows: auto 1fr;
  align-content: start;
  column-gap: clamp(3rem, 6vw, 7rem);
  min-height: 100%;
  padding: clamp(6rem, 11vh, 9rem) var(--pad-x) clamp(4rem, 8vh, 7rem);
}
.panel-process .section-stamp {
  position: relative;
  inset: auto;
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0 0 clamp(2.5rem, 5vh, 4.5rem);
}
.panel-process .process-copy {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  max-width: 24rem;
  margin: 0;
  padding-top: clamp(1rem, 4vh, 3rem);
}
.panel-process .process-copy h2 {
  max-width: 7ch;
  margin: 0 0 1.5rem;
  font-size: clamp(4rem, 6.1vw, 7.5rem);
  line-height: .86;
}
.panel-process .process-copy .process-subheadline {
  max-width: 17rem;
  margin: 0;
  color: var(--green);
  font: 500 .68rem/1.5 var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.panel-process .process-diagram {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(12rem, 1fr));
  align-self: center;
  width: 100% !important;
  height: auto !important;
  min-height: 27rem;
  aspect-ratio: auto !important;
  margin: 0;
  padding: 1rem 0;
}
.panel-process .process-diagram::before,
.panel-process .process-diagram::after {
  content: '';
  position: absolute;
  z-index: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(31,107,81,.22);
  pointer-events: none;
}
.panel-process .process-diagram::before { top: 25%; }
.panel-process .process-diagram::after { top: 75%; }
.panel-process .process-node,
.panel-process .process-node.node-1,
.panel-process .process-node.node-2,
.panel-process .process-node.node-3,
.panel-process .process-node.node-4,
.panel-process .process-node.node-5,
.panel-process .process-node.node-6,
.panel-process .process-node.node-7 {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  display: grid;
  grid-template-columns: 2.15rem minmax(0, 1fr);
  align-content: start;
  align-self: stretch;
  width: auto !important;
  min-width: 0;
  min-height: 10rem;
  gap: .65rem;
  margin: 0;
  padding: .85rem .7rem;
  border-top: 1px solid rgba(31,107,81,.4);
  background: rgba(245,246,238,.96);
  color: var(--ink);
  transform: none !important;
}
.panel-process .process-node:nth-child(1) { grid-column: 1; grid-row: 1; }
.panel-process .process-node:nth-child(2) { grid-column: 2; grid-row: 1; }
.panel-process .process-node:nth-child(3) { grid-column: 3; grid-row: 1; }
.panel-process .process-node:nth-child(4) { grid-column: 4; grid-row: 1; }
.panel-process .process-node:nth-child(5) { grid-column: 1; grid-row: 2; }
.panel-process .process-node:nth-child(6) { grid-column: 2; grid-row: 2; }
.panel-process .process-node:nth-child(7) { grid-column: 3; grid-row: 2; }
.panel-process .process-node__number,
.panel-process .process-node span.process-node__number {
  display: grid;
  place-items: center;
  width: 2.15rem !important;
  height: 2.15rem !important;
  border: 0;
  border-radius: 50%;
  background: var(--lime);
  color: var(--ink);
  font: 500 .55rem var(--font-mono);
}
.panel-process .process-node__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}
.panel-process .process-node__icon {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0 0 .65rem;
  color: var(--green);
}
.panel-process .process-node b {
  display: block;
  overflow-wrap: normal;
  word-break: normal;
  color: var(--green);
  font: 600 clamp(.9rem, 1.05vw, 1.15rem)/.98 var(--font-display);
  text-transform: uppercase;
}
.panel-process .process-node small {
  display: block;
  max-width: 12rem;
  margin-top: .6rem;
  color: #617069;
  font: .62rem/1.45 var(--font-body);
}

/* Pilares: ecossistema com cinco linhas primárias + três secundárias. */
.panel-pillars .pillars-inner {
  min-height: 100%;
  padding-top: clamp(6rem, 11vh, 9rem);
}
.panel-pillars .pillars-heading {
  top: clamp(6rem, 14vh, 9rem);
  left: var(--pad-x);
  width: min(24rem, 26vw);
}
.panel-pillars .pillars-heading h2 {
  margin-top: 1rem;
  font-size: clamp(4.4rem, 7vw, 8rem);
}
.panel-pillars .pillar-constellation {
  top: 16%;
  right: clamp(3rem, 7vw, 8rem);
  left: auto;
  width: min(56vw, 58rem);
  height: 70%;
}
.panel-pillars .constellation-lines {
  z-index: 0;
}
.panel-pillars .constellation-lines path {
  stroke: rgba(7,17,15,.46);
  stroke-width: .42;
}
.panel-pillars .constellation-lines .constellation-lines__secondary {
  stroke: rgba(31,107,81,.6);
  stroke-width: .3;
  stroke-dasharray: 1.3 1.5;
}
.panel-pillars .constellation-node {
  z-index: 2;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  width: min(12rem, 17vw);
  min-height: 3.35rem;
  gap: .55rem;
  align-content: center;
  padding: .45rem .6rem;
  border-top: 1px solid rgba(7,17,15,.5);
  background: rgba(199,243,107,.86);
}
.panel-pillars .constellation-node span {
  width: 2rem;
  height: 2rem;
  border-color: var(--ink);
  font-size: .52rem;
}
.panel-pillars .constellation-node b {
  align-self: center;
  color: var(--ink);
  font: 600 clamp(1rem, 1.35vw, 1.35rem)/.9 var(--font-display);
}
.panel-pillars .pillar-node--1 { top: 3%; left: 4%; }
.panel-pillars .pillar-node--2 { top: 3%; right: 4%; }
.panel-pillars .pillar-node--3 { top: 43%; right: 0; }
.panel-pillars .pillar-node--4 { right: 14%; bottom: 3%; }
.panel-pillars .pillar-node--5 { bottom: 3%; left: 4%; }
.panel-pillars .constellation-core {
  z-index: 3;
  width: 8.5rem;
  height: 8.5rem;
  border: 1px solid var(--ink);
  background: rgba(245,246,238,.35);
}
.panel-pillars .constellation-core::before {
  width: 5.5rem;
  height: 4.8rem;
}
.panel-pillars .pillars-engineer {
  top: 40%;
  left: var(--pad-x);
  width: min(18vw, 17rem);
  height: 27vh;
  opacity: .76;
}
.panel-pillars .pillars-note {
  bottom: 9%;
  left: var(--pad-x);
  max-width: 20rem;
}

/* Soluções: qualquer imagem permanece um elemento transparente, sem painel. */
.panel-solutions .solutions-visual,
.panel-solutions .solutions-visual:not([style]) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: multiply;
}
.panel-solutions .solutions-visual::before,
.panel-solutions .solutions-visual::after {
  background: var(--green);
}
.panel-solutions .solutions-heading {
  max-width: min(42rem, 48vw);
}
.panel-solutions .solutions-visual {
  top: 7%;
  right: 2vw;
  width: min(17vw, 14rem);
  height: 10rem;
}
.panel-pillars .pillar-constellation {
  right: 3rem;
  left: 36%;
  width: auto;
}
.panel-pillars .pillars-note {
  bottom: 2%;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .panel-process .process-inner {
    display: block;
    padding-top: 8rem;
  }
  .panel-process .process-copy { max-width: 28rem; }
  .panel-process .process-diagram {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    min-height: 0;
    margin-top: 3.5rem;
    padding: 1rem 0 1rem 1.35rem;
  }
  .panel-process .process-diagram::before {
    top: 1rem;
    bottom: 1rem;
    right: auto;
    left: .45rem;
    width: 1px;
    height: auto;
  }
  .panel-process .process-diagram::after { display: none; }
  .panel-process .process-node:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
  .panel-process .process-node { min-height: 9.5rem; }
}

@media (max-width: 767px) {
  .panel-process .process-inner {
    display: block;
    min-height: 0;
    padding-top: calc(var(--header-h) + 4rem);
  }
  .panel-process .section-stamp {
    margin-bottom: 2rem;
  }
  .panel-process .process-copy {
    max-width: 100%;
    padding-top: 0;
  }
  .panel-process .process-copy h2 {
    max-width: 7ch;
    font-size: clamp(3.6rem, 16vw, 5.5rem);
  }
  .panel-process .process-diagram {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    min-height: 0;
    margin-top: 3rem;
    padding: .5rem 0 .5rem 1.45rem;
  }
  .panel-process .process-diagram::before {
    top: 1rem;
    bottom: 1rem;
    right: auto;
    left: .48rem;
    width: 1px;
    height: auto;
  }
  .panel-process .process-diagram::after { display: none; }
  .panel-process .process-node:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
  .panel-process .process-node {
    min-height: 0;
    padding: .8rem .6rem;
  }
  .panel-process .process-node b { font-size: 1.15rem; overflow-wrap: normal; word-break: normal; }
  .panel-process .process-node small {
    max-width: none;
    font-size: .68rem;
  }

  .panel-pillars .pillars-inner {
    min-height: 0;
    padding-top: calc(var(--header-h) + 4rem);
  }
  .panel-pillars .pillars-heading {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }
  .panel-pillars .pillars-heading h2 {
    margin-top: .8rem;
    font-size: clamp(3.8rem, 17vw, 5.5rem);
  }
  .panel-pillars .pillars-engineer {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 10rem;
    margin: 1.5rem 0 0;
    opacity: .7;
  }
  .panel-pillars .pillar-constellation {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    width: 100%;
    height: auto;
    flex-direction: column;
    gap: .65rem;
    margin-top: 2.5rem;
    padding-left: 1.4rem;
  }
  .panel-pillars .pillar-constellation::before {
    content: '';
    position: absolute;
    top: 2.2rem;
    bottom: 1.5rem;
    left: .48rem;
    width: 1px;
    background: rgba(7,17,15,.45);
  }
  .panel-pillars .constellation-lines { display: none; }
  .panel-pillars .constellation-core {
    position: relative;
    top: auto;
    left: auto;
    order: -1;
    width: 6.5rem;
    height: 5.5rem;
    margin: 0 auto 1rem;
    transform: none;
  }
  .panel-pillars .constellation-core::before {
    width: 4.5rem;
    height: 3.8rem;
  }
  .panel-pillars .constellation-node,
  .panel-pillars .pillar-node--1,
  .panel-pillars .pillar-node--2,
  .panel-pillars .pillar-node--3,
  .panel-pillars .pillar-node--4,
  .panel-pillars .pillar-node--5 {
    position: relative !important;
    inset: auto !important;
    display: grid;
    width: 100%;
    min-height: 3.1rem;
    max-width: none;
  }
  .panel-pillars .pillars-note {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    max-width: 100%;
    margin-top: 2rem;
  }
  .panel-solutions .solutions-visual {
    display: none;
  }
  .panel-solutions .solutions-heading {
    max-width: 100%;
  }
}
