/* Setores — páginas orientadas ao contexto operacional. */
.sectors-page,
.sector-detail-page { overflow: clip; }
.sectors-hero { min-height: 470px; padding-block: 108px 76px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .62fr); gap: clamp(50px, 9vw, 130px); align-items: end; border-bottom: 1px solid var(--line); }
.sectors-hero h1 { max-width: 790px; margin: 17px 0 0; font-size: clamp(48px, 6vw, 78px); line-height: .98; letter-spacing: -.045em; font-weight: 530; }
.sectors-hero > p { max-width: 470px; margin: 0 0 7px; color: var(--muted); font-size: .9625rem; line-height: 1.75; }
.sectors-index { padding-block: 75px 110px; }
.sectors-index > header { margin-bottom: 27px; }
.sectors-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.sectors-index-grid > article { min-height: 520px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: rgba(255,255,255,.32); transition: background .22s ease; }
.sectors-index-grid > article:last-child { border-right: 0; }
.sectors-index-grid > article:hover { background: rgba(255,255,255,.68); }
.sector-card-top { min-height: 170px; display: flex; align-items: flex-start; justify-content: space-between; }
.sector-card-top > span { color: var(--faint); font: .6875rem var(--font-apple-mono); }
.sector-object { width: 118px; aspect-ratio: 1; position: relative; display: grid; place-items: center; }
.sector-object > i { position: absolute; inset: 12%; border: 1px solid rgba(95,81,161,.17); border-radius: 32%; transform: rotate(45deg); background: rgba(95,81,161,.035); }
.sector-object > i:nth-child(2) { inset: 25%; border-color: rgba(79,171,170,.22); transform: rotate(15deg); }
.sector-object > i:nth-child(3) { inset: 38%; border-radius: 50%; transform: none; background: rgba(79,171,170,.08); }
.sector-object > span { z-index: 1; color: #4fabaa; }
.sector-object-midia > span { color: #5f51a1; }
.sector-object-operacoes-complexas > span { color: #d56d32; }
.sectors-index-grid h2 { margin: 0 0 15px; font-size: clamp(30px, 3vw, 42px); line-height: 1.04; letter-spacing: -.035em; font-weight: 530; }
.sectors-index-grid p { margin: 0; color: var(--muted); font-size: .75625rem; line-height: 1.7; }
.sectors-index-grid a { margin-top: auto; padding-top: 26px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line-soft); color: #2a2737; font-size: .6875rem; font-weight: 650; }

.sector-detail-hero { padding-top: 38px; }
.sector-back { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: .6875rem; font-weight: 600; }
.sector-detail-hero-grid { min-height: 520px; padding-block: 72px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(55px, 10vw, 150px); align-items: center; border-bottom: 1px solid var(--line); }
.sector-detail-hero-grid h1 { max-width: 880px; margin: 17px 0 25px; font-size: clamp(48px, 5.8vw, 77px); line-height: .98; letter-spacing: -.045em; font-weight: 530; }
.sector-detail-hero-grid p { max-width: 710px; margin: 0; color: var(--muted); font-size: .9625rem; line-height: 1.75; }
.sector-detail-hero-grid .sector-object { width: 250px; }
.sector-detail-hero-grid .sector-object > span svg { width: 52px; height: 52px; }
.sector-context { padding-block: 105px; display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr); gap: clamp(65px, 11vw, 150px); }
.sector-context h2,
.sector-priorities h2,
.sector-applications h2,
.sector-services h2 { max-width: 590px; margin: 15px 0 0; font-size: clamp(34px, 4.2vw, 57px); line-height: 1.03; letter-spacing: -.04em; font-weight: 530; }
.sector-context > div { padding-top: 28px; border-top: 1px solid var(--line); }
.sector-context p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.85; }
.sector-context p + p { margin-top: 24px; }
.sector-priorities { padding-block: 95px; position: relative; }
.sector-priorities::before { content: ""; width: 100vw; position: absolute; inset-block: 0; left: 50%; z-index: -1; transform: translateX(-50%); background: linear-gradient(110deg, rgba(79,171,170,.06), rgba(95,81,161,.05)); border-block: 1px solid var(--line-soft); }
.sector-priorities > header { max-width: 720px; margin-bottom: 42px; }
.sector-priorities > div { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 19px; overflow: hidden; }
.sector-priorities article { min-height: 255px; padding: 28px; border-right: 1px solid var(--line); background: rgba(255,255,255,.3); }
.sector-priorities article:last-child { border-right: 0; }
.sector-priorities article > span { color: var(--faint); font: .61875rem var(--font-apple-mono); }
.sector-priorities h3 { margin: 58px 0 12px; font-size: 1.25rem; font-weight: 620; }
.sector-priorities p { margin: 0; color: var(--muted); font-size: .6875rem; line-height: 1.7; }
.sector-applications { padding-block: 105px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(350px, .75fr); gap: 85px; align-items: start; }
.sector-applications ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.sector-applications li { min-height: 61px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .75625rem; }
.sector-applications li svg { flex: 0 0 auto; color: #4fabaa; }
.sector-services { padding-block: 95px; border-top: 1px solid var(--line); }
.sector-services > header { max-width: 720px; margin-bottom: 38px; }
.sector-services > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.sector-services a { min-height: 82px; padding: 0 16px 0 0; display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); }
.sector-services a:nth-child(odd) { margin-right: 24px; }
.sector-services a:nth-child(even) { margin-left: 24px; }
.sector-services a span { color: var(--faint); font: .61875rem var(--font-apple-mono); }
.sector-services a strong { font-size: .75625rem; font-weight: 620; }
.sector-services a svg { color: #5f51a1; }
.sector-case,
.sector-contact { margin-bottom: 28px; padding: 52px 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 55px; align-items: end; border: 1px solid var(--line); border-radius: 22px; }
.sector-case { background: linear-gradient(110deg, rgba(79,171,170,.09), rgba(95,81,161,.075)); }
.sector-contact { margin-bottom: 110px; background: rgba(255,255,255,.34); }
.sector-case h2,
.sector-contact h2 { max-width: 690px; margin: 14px 0 12px; font-size: clamp(32px, 3.8vw, 52px); line-height: 1.04; letter-spacing: -.04em; font-weight: 530; }
.sector-case p,
.sector-contact p { max-width: 620px; margin: 0; color: var(--muted); font-size: .8125rem; line-height: 1.7; }

html[data-theme="dark"] .experience-context h3 a svg { color: var(--dark-heading); }
html[data-theme="dark"] :is(.sectors-index-grid > article, .sector-priorities article, .sector-case, .sector-contact) { color: var(--ink); background: var(--dark-surface-2); border-color: var(--line); }
html[data-theme="dark"] .sectors-index-grid > article:hover { background: var(--dark-surface-3); }
html[data-theme="dark"] .sectors-index-grid a { color: var(--ink); }
html[data-theme="dark"] .sector-priorities::before { background: linear-gradient(110deg, var(--dark-surface-2), var(--dark-surface-1)); }
html[data-theme="dark"] .sector-services a svg,
html[data-theme="dark"] .sector-object > span { color: var(--dark-heading); }

@media (max-width: 900px) {
  .sectors-hero { min-height: 0; padding-block: 72px 58px; grid-template-columns: 1fr; gap: 28px; }
  .sectors-index-grid { grid-template-columns: 1fr; }
  .sectors-index-grid > article { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--line); }
  .sectors-index-grid > article:last-child { border-bottom: 0; }
  .sector-detail-hero-grid { grid-template-columns: 1fr 180px; gap: 35px; }
  .sector-detail-hero-grid .sector-object { width: 180px; }
  .sector-priorities > div { grid-template-columns: 1fr; }
  .sector-priorities article { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
  .sector-priorities article:last-child { border-bottom: 0; }
  .sector-priorities h3 { margin-top: 38px; }
  .sector-applications { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 620px) {
  .sectors-hero { padding-block: 52px 44px; }
  .sectors-hero h1,
  .sector-detail-hero-grid h1 { font-size: clamp(39px, 12vw, 53px); }
  .sectors-index { padding-block: 48px 72px; }
  .sectors-index-grid { border-radius: 17px; }
  .sectors-index-grid > article { min-height: 390px; padding: 23px; }
  .sector-card-top { min-height: 135px; }
  .sector-object { width: 95px; }
  .sector-detail-hero { padding-top: 24px; }
  .sector-detail-hero-grid { min-height: 0; padding-block: 48px 42px; grid-template-columns: 1fr; }
  .sector-detail-hero-grid .sector-object { width: 120px; grid-row: 1; }
  .sector-detail-hero-grid .sector-object > span svg { width: 34px; height: 34px; }
  .sector-context { padding-block: 68px; grid-template-columns: 1fr; gap: 35px; }
  .sector-priorities { padding-block: 68px; }
  .sector-priorities article { padding: 23px; }
  .sector-applications { padding-block: 68px; }
  .sector-services { padding-block: 68px; }
  .sector-services > div { grid-template-columns: 1fr; }
  .sector-services a:nth-child(n) { margin: 0; }
  .sector-case,
  .sector-contact { padding: 34px 23px; grid-template-columns: 1fr; gap: 28px; border-radius: 19px; }
  .sector-case .button,
  .sector-contact .button { width: 100%; }
  .sector-contact { margin-bottom: 72px; }
}

