/* Segurança — controles verificáveis, vulnerabilidades e homologação. */
.security-page { overflow: clip; }
.security-hero { min-height: 480px; padding-block: 108px 78px; 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); }
.security-hero h1 { max-width: 820px; margin: 17px 0 0; font-size: clamp(48px, 6vw, 78px); line-height: .98; letter-spacing: -.045em; font-weight: 530; }
.security-hero > p { max-width: 510px; margin: 0 0 7px; color: var(--muted); font-size: .9rem; line-height: 1.78; }
.security-controls { padding-block: 105px; }
.security-controls > header,
.security-vulnerability > header,
.security-homologation > header { max-width: 760px; margin-bottom: 44px; }
.security-controls h2,
.security-vulnerability h2,
.security-homologation h2 { margin: 15px 0 19px; font-size: clamp(34px, 4.3vw, 58px); line-height: 1.03; letter-spacing: -.04em; font-weight: 530; }
.security-controls header p,
.security-vulnerability header p,
.security-homologation header p { margin: 0; color: var(--muted); font-size: .825rem; line-height: 1.76; }
.security-controls > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.security-controls article { min-height: 300px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.28); }
.security-controls article:nth-child(3n) { border-right: 0; }
.security-controls article:nth-last-child(-n+3) { border-bottom: 0; }
.security-controls article > div { display: flex; justify-content: space-between; color: #5f51a1; }
.security-controls article > div > span { color: var(--faint); font: .61875rem var(--font-apple-mono); }
.security-controls h3 { margin: 93px 0 13px; font-size: 1.2rem; font-weight: 620; }
.security-controls article p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.72; }
.security-boundaries { padding: 43px 48px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(380px, 1fr); gap: 70px; border: 1px solid rgba(213,109,50,.2); border-radius: 20px; background: rgba(213,109,50,.035); }
.security-boundaries > div { display: grid; grid-template-columns: 28px 1fr; gap: 14px; color: #d56d32; }
.security-boundaries h2 { margin: 0; color: var(--ink); font-size: 1.45rem; font-weight: 570; }
.security-boundaries p { margin: 13px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.7; }
.security-boundaries ul,
.security-good-faith ul { margin: 0; padding: 0; list-style: none; }
.security-boundaries li { min-height: 48px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: .6875rem; line-height: 1.55; }
.security-boundaries li:last-child { border-bottom: 0; }
.security-boundaries li svg { flex: 0 0 auto; color: #4fabaa; }
.security-vulnerability { padding-block: 112px; }
.security-vulnerability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.security-vulnerability-grid article { min-height: 250px; padding: 27px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.security-vulnerability-grid article > span { color: var(--faint); font: .61875rem var(--font-apple-mono); }
.security-vulnerability-grid h3 { margin: 67px 0 12px; font-size: 1.15rem; font-weight: 620; }
.security-vulnerability-grid p { margin: 0; color: var(--muted); font-size: .6875rem; line-height: 1.7; }
.security-good-faith { margin-top: 34px; padding: 38px 42px; display: grid; grid-template-columns: minmax(220px, .6fr) minmax(380px, 1fr) auto; gap: 45px; align-items: center; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(110deg, rgba(79,171,170,.07), rgba(95,81,161,.055)); }
.security-good-faith > div { display: flex; align-items: center; gap: 12px; color: #4fabaa; }
.security-good-faith h3 { margin: 0; color: var(--ink); font-size: 1.25rem; font-weight: 590; }
.security-good-faith li { position: relative; padding: 5px 0 5px 15px; color: var(--muted); font-size: .6875rem; line-height: 1.55; }
.security-good-faith li::before { content: ""; width: 4px; height: 4px; position: absolute; left: 0; top: 12px; border-radius: 50%; background: #5f51a1; }
.security-homologation { padding-block: 105px 115px; position: relative; }
.security-homologation::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,.055), rgba(95,81,161,.045)); border-block: 1px solid var(--line-soft); }
.security-homologation > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.security-homologation article { min-height: 280px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.28); }
.security-homologation article:nth-child(3n) { border-right: 0; }
.security-homologation article:nth-last-child(-n+3) { border-bottom: 0; }
.security-homologation article > span { color: var(--faint); font: .61875rem var(--font-apple-mono); }
.security-homologation h3 { margin: 56px 0 13px; font-size: 1.2rem; font-weight: 620; }
.security-homologation article p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.7; }
.security-homologation article a { margin-top: auto; padding-top: 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line-soft); color: var(--ink); font-size: .6875rem; font-weight: 650; }
.security-status { margin-block: 32px 110px; padding: 52px 58px; display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: center; border: 1px solid var(--line); border-radius: 22px; }
.security-status h2 { max-width: 760px; margin: 14px 0 12px; font-size: clamp(32px, 3.8vw, 52px); line-height: 1.04; letter-spacing: -.04em; font-weight: 530; }
.security-status p { max-width: 650px; margin: 0; color: var(--muted); font-size: .8125rem; line-height: 1.7; }
.security-status > svg { color: #4fabaa; }
html[data-theme="dark"] :is(.security-controls article, .security-homologation article, .security-status) { color: var(--ink); background: var(--dark-surface-2); }
html[data-theme="dark"] .security-homologation::before { background: linear-gradient(110deg, var(--dark-surface-2), var(--dark-surface-1)); }

@media (max-width: 980px) {
  .security-hero { min-height: 0; padding-block: 72px 58px; grid-template-columns: 1fr; gap: 28px; }
  .security-controls > div,
  .security-homologation > div { grid-template-columns: 1fr 1fr; }
  .security-controls article:nth-child(n),
  .security-homologation article:nth-child(n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .security-controls article:nth-child(even),
  .security-homologation article:nth-child(even) { border-right: 0; }
  .security-controls article:nth-last-child(-n+2),
  .security-homologation article:nth-last-child(-n+2) { border-bottom: 0; }
  .security-boundaries { grid-template-columns: 1fr; gap: 32px; }
  .security-vulnerability-grid { grid-template-columns: 1fr 1fr; }
  .security-good-faith { grid-template-columns: 1fr; }
  .security-good-faith .button { width: fit-content; }
}

@media (max-width: 620px) {
  .security-hero { padding-block: 52px 44px; }
  .security-hero h1 { font-size: clamp(39px, 12vw, 53px); }
  .security-controls,
  .security-vulnerability,
  .security-homologation { padding-block: 72px; }
  .security-controls > div,
  .security-homologation > div,
  .security-vulnerability-grid { grid-template-columns: 1fr; }
  .security-controls article:nth-child(n),
  .security-homologation article:nth-child(n) { min-height: 245px; padding: 23px; border-right: 0; border-bottom: 1px solid var(--line); }
  .security-controls article:last-child,
  .security-homologation article:last-child { border-bottom: 0; }
  .security-controls h3 { margin-top: 65px; }
  .security-boundaries { padding: 30px 23px; }
  .security-vulnerability-grid article { min-height: 220px; padding: 23px; }
  .security-good-faith { padding: 30px 23px; }
  .security-good-faith .button { width: 100%; }
  .security-status { margin-bottom: 72px; padding: 34px 23px; grid-template-columns: 1fr; gap: 28px; }
}

