/* ============================================================
   AI Comms Operations — página interna
   Usa os tokens e componentes do site (haikai-tokens.css / style.css);
   tudo aqui é prefixado com .acx- para não colidir com outras páginas.
   ============================================================ */
.acx { --acx-orange: #f0883a; --acx-indigo: #6172e8; --acx-violet: #7c5cfc; }
.acx .eyebrow { margin-bottom: var(--space-3); }
.acx .eyebrow--light { color: var(--haikai-blue); }
.acx-az { color: var(--haikai-blue); }
.acx-wrap { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--gutter); }
.acx-section { padding: var(--space-9) 0 0; }
.acx-section .acx-wrap { max-width: 1040px; }
.acx-h2 { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.6rem); line-height: 1.1; max-width: 26ch; margin-bottom: var(--space-5); }
.acx p { text-wrap: pretty; }
.acx .acx-lema { text-wrap: balance; }

/* ---------- Hero ---------- */
.acx-hero {
  position: relative; overflow: hidden; color: #fff;
  padding: 172px 0 var(--space-10);
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(28,167,255,.38), transparent 58%),
    linear-gradient(155deg, #14151a 0%, #101114 55%, #0b0c0e 100%);
}
.acx-hero-grid { position: relative; z-index: 2; min-height: 400px; display: flex; align-items: center; }
.acx-hero-copy { max-width: 640px; }
.acx-title {
  font-size: clamp(3.2rem, 2rem + 4.6vw, 6.4rem); line-height: .98; color: #fff; margin: 0 0 var(--space-5);
}
.acx-title .acx-az { display: block; }
.acx-lema { font-size: clamp(1.2rem, 1rem + .8vw, 1.7rem); line-height: 1.35; color: #c4cbd6; max-width: 24ch; margin: 0 0 var(--space-4); }
.acx-lema b { color: #fff; font-weight: var(--fw-medium); }
.acx-by { font-size: .95rem; color: #8f99a8; margin: 0 0 var(--space-7); }
.acx-by b { color: #c4cbd6; font-weight: var(--fw-medium); }
.acx-hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.acx-hero-fig {
  position: absolute; z-index: 1; right: max(0px, calc((100vw - var(--container-max)) / 2 - 40px)); top: 88px; bottom: 0; width: min(54%, 680px);
  mix-blend-mode: lighten;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
}
.acx-hero-fig img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 20%; opacity: .95; }

/* ---------- Proposta ---------- */
.acx-lead { font-size: 1.0625rem; line-height: 1.55; color: var(--gray-600); max-width: 60ch; margin: 0 0 var(--space-4); }
.acx-statement {
  font-family: var(--font-display); font-weight: var(--fw-bold); color: var(--haikai-blue);
  font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.25rem); line-height: 1.12; max-width: 26ch; margin: var(--space-6) 0 var(--space-7);
}
.acx-servico {
  display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: var(--space-7);
  background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card); padding: var(--space-7);
}
.acx-servico h3 { font-size: clamp(1.7rem, 1.3rem + 1.5vw, 2.5rem); line-height: 1.04; }
.acx-servico p { font-size: 1rem; line-height: 1.7; color: var(--gray-600); margin: 0 0 var(--space-4); }
.acx-servico p:last-child { margin-bottom: 0; color: var(--haikai-black); }
.acx-manifesto {
  margin-top: var(--space-5); border-radius: var(--radius-xl); color: #fff;
  padding: var(--space-7);
  background: radial-gradient(110% 120% at 0% 0%, rgba(28,167,255,.34), transparent 60%), radial-gradient(70% 100% at 100% 100%, rgba(240,136,58,.22), transparent 60%), linear-gradient(155deg, #14151a, #101114);
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: clamp(1.15rem, 1rem + .7vw, 1.5rem); line-height: 1.25;
}
.acx-manifesto span { color: var(--haikai-blue); }

/* ---------- Quem atua ---------- */
.acx-dois { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hairline); margin-bottom: var(--space-7); }
.acx-dois > div { padding: var(--space-5) 0 0; }
.acx-dois > div:first-child { padding-right: var(--space-7); border-right: 1px solid var(--hairline); }
.acx-dois > div:last-child { padding-left: var(--space-7); }
.acx-dois h3 { font-size: 1.2rem; margin-bottom: var(--space-3); }
.acx-dois p { font-size: 1rem; line-height: 1.65; color: var(--gray-600); margin: 0; }
.acx-dois p b { color: var(--haikai-black); font-weight: var(--fw-medium); }
.acx-aibp {
  display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden;
  background: var(--white); border: 1px solid var(--hairline); border-radius: var(--radius-xl); box-shadow: var(--shadow-card);
  margin-bottom: var(--space-9);
}
.acx-aibp-tx { padding: var(--space-7); }
.acx-aibp-tx h3 { font-size: 1.55rem; margin-bottom: var(--space-4); }
.acx-aibp-tx p { font-size: 1rem; line-height: 1.65; color: var(--gray-600); margin: 0 0 var(--space-3); }
.acx-aibp-tx p b { color: var(--haikai-black); font-weight: var(--fw-medium); }
.acx-aibp-img {
  min-height: 280px; background-color: #e9edf2; background-repeat: no-repeat;
  background-image: url('../assets/destaque-aibp.webp'); background-size: 250% auto; background-position: 91.7% 0;
}
.acx-sub { font-size: 1.4rem; margin-bottom: var(--space-3); }
.acx-listas { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-7); margin-top: var(--space-5); }
.acx-listas .cab { font-weight: var(--fw-semibold); font-size: .95rem; margin-bottom: var(--space-3); }
.acx-listas .com .cab { color: #d96b1a; }
.acx-listas .ia .cab { color: var(--haikai-blue-ink); }
.acx-listas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--space-5); }
.acx-listas li { font-size: .9rem; line-height: 1.3; color: var(--haikai-black); padding: 10px 0; border-top: 1px solid var(--hairline); }
.acx-stack { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-5); border-top: 1px solid var(--haikai-black); margin-top: var(--space-7); padding-top: var(--space-4); }
.acx-stack .lb { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1.05rem; line-height: 1.2; }
.acx-stack p { margin: 0; color: var(--gray-600); font-size: .95rem; }

/* ---------- Operar, Multiplicar, Construir ---------- */
.acx-tres { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: var(--space-8); align-items: center; margin-bottom: var(--space-9); }
.acx-tres svg { display: block; width: 100%; height: auto; }
.acx-tres-tx .acx-big { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: clamp(1.25rem, 1.05rem + .8vw, 1.65rem); line-height: 1.2; margin: 0 0 var(--space-4); max-width: 24ch; }
.acx-tres-tx p { font-size: 1rem; line-height: 1.7; color: var(--gray-600); margin: 0; max-width: 54ch; }
.acx-cols { display: grid; grid-template-columns: repeat(3, 1fr); }
.acx-cols > div { padding: 0 var(--space-6); border-left: 1px solid var(--hairline); }
.acx-cols > div:first-child { padding-left: 0; border-left: 0; }
.acx-cols > div:last-child { padding-right: 0; }
.acx-cols h3 { font-size: clamp(1.5rem, 1.25rem + .9vw, 1.95rem); margin-bottom: var(--space-3); }
.acx-cols .hl { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 1rem; line-height: 1.25; margin-bottom: var(--space-4); color: var(--cor); }
.acx-cols p { font-size: .95rem; line-height: 1.65; color: var(--gray-600); margin: 0 0 var(--space-3); }
.acx-infra { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: var(--space-7); border-top: 1px solid var(--hairline); margin-top: var(--space-8); padding-top: var(--space-6); }
.acx-infra h3 { font-size: 1.5rem; line-height: 1.15; }
.acx-infra p { font-size: 1rem; line-height: 1.7; color: var(--gray-600); margin: 0; max-width: 62ch; }
.acx-infra p b { color: var(--haikai-black); font-weight: var(--fw-medium); }

/* ---------- Painéis escuros ---------- */
.acx-dark {
  position: relative; overflow: hidden; border-radius: var(--radius-xl); color: #fff;
  background: radial-gradient(110% 120% at 0% 0%, rgba(28,167,255,.34), transparent 60%), radial-gradient(70% 100% at 100% 100%, rgba(240,136,58,.22), transparent 60%), linear-gradient(155deg, #14151a, #101114);
}
.acx-orbit { margin-top: var(--space-6); }
.acx-orbit svg { display: block; width: 100%; height: auto; }
.acx-orbit .acx-nt { font-family: var(--font-display); font-weight: 700; font-size: 9.8px; fill: #101114; }
.acx-orbit-m { display: none; }
.acx-leg { font-size: .8125rem; color: var(--gray-400); margin: var(--space-3) 0 0; }
.acx-dot-wrap { transform-origin: 340px 140px; }
.acx-orbit-m .acx-dot-wrap { transform-origin: 180px 200px; }
@media (prefers-reduced-motion: no-preference) {
  .acx-dot-wrap { animation: acxOrbit 28s linear infinite; }
  .acx-dot-wrap:nth-child(even) { animation-direction: reverse; animation-duration: 36s; }
  .acx-dot-wrap:nth-child(3n) { animation-duration: 44s; }
}
@keyframes acxOrbit { to { transform: rotate(360deg); } }

/* ---------- Reputação ---------- */
.acx-rep { padding: var(--space-8) var(--space-8) var(--space-7); }
.acx-rep h2 { color: #fff; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.5rem); line-height: 1.08; max-width: 18ch; margin-bottom: var(--space-5); }
.acx-rep p { color: #d3d9e3; font-size: 1rem; line-height: 1.7; max-width: 68ch; margin: 0 0 var(--space-4); }
.acx-rep p.acx-strong { color: #fff; font-weight: var(--fw-medium); }
.acx-q { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.2); margin-top: var(--space-6); }
.acx-q div { padding: var(--space-4) var(--space-4) 0 0; font-size: .95rem; line-height: 1.4; color: #fff; }
.acx-q div + div { padding-left: var(--space-4); border-left: 1px solid rgba(255,255,255,.14); }
.acx-q b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: var(--haikai-blue); margin-bottom: 6px; }
.acx-prog { display: grid; grid-template-columns: 1fr 56px 1fr; align-items: start; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); margin: var(--space-8) 0 var(--space-6); }
.acx-prog > div { padding: var(--space-5) 0; }
.acx-prog .k { display: block; font-weight: var(--fw-medium); font-size: .95rem; color: var(--gray-400); margin-bottom: 6px; }
.acx-prog > div:last-child .k { color: var(--haikai-blue-ink); }
.acx-prog .f { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem); line-height: 1.25; }
.acx-prog .f b { color: var(--haikai-blue); font-weight: 700; }
.acx-prog .seta { display: flex; justify-content: center; padding-top: 44px; color: var(--gray-400); }
.acx-prog .seta svg { width: 26px; height: 26px; }
.acx-para { font-size: 1rem; line-height: 1.75; color: var(--gray-600); max-width: 76ch; margin: 0 0 var(--space-7); }
.acx-para b { color: var(--haikai-black); font-weight: var(--fw-medium); }
.acx-amb { max-width: 620px; margin: 0 auto; }
.acx-amb svg { display: block; width: 100%; height: auto; }
.acx-amb .acx-leg { text-align: center; }
.acx-amb-m { display: none; }
.acx-cta-wrap { padding-top: var(--space-10); }
.acx-mail { color: #b9c6d9; text-decoration: underline; text-underline-offset: 3px; }
.acx-mail:hover { color: #fff; }

/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
  .acx-servico, .acx-aibp, .acx-tres, .acx-infra { grid-template-columns: 1fr; }
  .acx-servico { padding: var(--space-7) var(--space-6); gap: var(--space-5); }
  .acx-aibp-img { min-height: 0; aspect-ratio: 3 / 2; }
  .acx-aibp-tx { padding: var(--space-6); }
  .acx-tres { gap: var(--space-6); }
  .acx-tres svg { max-width: 320px; margin: 0 auto; }
  .acx-cols { grid-template-columns: 1fr; gap: var(--space-7); }
  .acx-cols > div { padding: 0; border-left: 0; border-top: 1px solid var(--hairline); padding-top: var(--space-5); }
  .acx-cols > div:first-child { border-top: 0; padding-top: 0; }
  .acx-listas { grid-template-columns: 1fr; gap: var(--space-6); }
  .acx-q { grid-template-columns: 1fr 1fr; }
  .acx-q div:nth-child(3) { padding-left: 0; border-left: 0; }
  .acx-q div:nth-child(n+3) { margin-top: var(--space-4); }
  .acx-rep { padding: var(--space-7) var(--space-6); }
}
@media (max-width: 720px) {
  .acx-h2 { font-size: 1.6rem; }
  .acx-rep h2 { font-size: 1.5rem; }
  .acx-title { font-size: 3.2rem; }
  .acx-hero { padding-top: 128px; padding-bottom: var(--space-8); }
  .acx-hero-fig img { object-position: 60% 0; }
  .acx-hero-fig { position: relative; right: auto; width: 100%; height: 300px; margin-top: var(--space-6); top: auto;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%); mask-image: linear-gradient(180deg, transparent, #000 25%); }
  .acx-hero-grid { display: block; min-height: 0; }
  .acx-section { padding-top: var(--space-9); }
  .acx-dois { grid-template-columns: 1fr; }
  .acx-dois > div:first-child { padding-right: 0; border-right: 0; padding-bottom: var(--space-5); }
  .acx-dois > div:last-child { padding-left: 0; border-top: 1px solid var(--hairline); }
  .acx-listas ul { grid-template-columns: 1fr; }
  .acx-stack { grid-template-columns: 1fr; gap: var(--space-2); }
  .acx-orbit-d, .acx-amb-d { display: none; }
  .acx-orbit-m, .acx-amb-m { display: block; }
  .acx-prog { grid-template-columns: 1fr; }
  .acx-prog > div:first-child { padding-bottom: 0; }
  .acx-prog .seta { padding: 0; transform: rotate(90deg); height: 30px; align-items: center; }
  .acx-manifesto { padding: var(--space-6); }
  .acx-q { grid-template-columns: 1fr; }
  .acx-q div, .acx-q div + div, .acx-q div:nth-child(3) { padding: var(--space-3) 0; border-left: 0; margin-top: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .acx-q div:first-child { border-top: 0; }
}

/* Nav sobre o hero escuro: regra genérica .nav-over-dark em style.css */

/* anéis de órbita decorativos no painel de reputação */
.acx-rep::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: repeating-radial-gradient(circle at 88% 42%, transparent 0 74px, rgba(255,255,255,.10) 75px 76px);
  -webkit-mask-image: radial-gradient(circle at 88% 42%, #000 0, transparent 62%);
          mask-image: radial-gradient(circle at 88% 42%, #000 0, transparent 62%);
}
.acx-rep > * { position: relative; z-index: 1; }

.acx .estagio-cta-note { margin-top: var(--space-5); font-size: 14.5px; color: #b9c6d9; max-width: none; }
