/* ACP public experience v1.1 — original implementation, dependency-free. */
:root {
  --acp-ink: #071820;
  --acp-ink-2: #0c2b2b;
  --acp-paper: #f5f1e8;
  --acp-white: #fffdf8;
  --acp-lime: #b7ff45;
  --acp-mint: #80e9c5;
  --acp-line: rgba(7, 24, 32, .14);
  --acp-max: 1320px;
}

html { scroll-behavior: smooth; }
body.acp-elite-chrome { margin: 0; background: var(--acp-paper); color: var(--acp-ink); }
body.acp-elite-chrome .wp-site-blocks { padding-block: 0; }
body.acp-standalone { min-height: 100vh; }
.acp-live, .acp-header, .acp-footer { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.acp-live * { box-sizing: border-box; }
body.acp-elite-chrome .site-header { border-bottom: 1px solid rgba(255,255,255,.12); background: #12303a; color: #fff; }
body.acp-elite-chrome .site-header a { color: #fff; }
body.acp-elite-chrome .site-header img { width: 170px !important; max-width: 170px !important; height: auto !important; opacity: 1; }
body.acp-elite-chrome .site-header > * { padding-block: .55rem !important; }
body.acp-elite-chrome .site-footer { margin-block-start: 0; border-top: 1px solid rgba(10,34,43,.12); }
.acp-category-main { min-height: 60vh; background: #061a22; }
.acp-legacy-content { padding: clamp(3rem,7vw,6rem) 1rem; background: #fff; border-top: 1px solid rgba(10,34,43,.12); }
.acp-legacy-content__inner { width: min(1180px,100%); margin-inline: auto; }
.acp-legacy-content__inner > h2 { margin: .7rem 0 2rem; font-size: clamp(2rem,4vw,3.5rem); letter-spacing: -.04em; }

.acp-live-hero {
  position: relative;
  min-height: min(850px, calc(100vh - 76px));
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  padding: clamp(6rem, 10vw, 9rem) max(5vw, calc((100vw - var(--acp-max)) / 2));
  color: #fff;
  background:
    radial-gradient(circle at 75% 18%, rgba(183, 255, 69, .18), transparent 29%),
    radial-gradient(circle at 17% 95%, rgba(128, 233, 197, .15), transparent 33%),
    linear-gradient(135deg, #06171f 0%, #0b2c2d 62%, #113d2b 100%);
}
.acp-live-hero__grid {
  position: absolute; inset: 0; pointer-events: none; opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(120deg, transparent, #000 35%, #000 70%, transparent);
  animation: acp-grid-drift 18s linear infinite;
}
@keyframes acp-grid-drift { to { background-position: 64px 64px; } }
.acp-live-hero__copy { position: relative; z-index: 2; max-width: 820px; }
.acp-kicker { display: inline-flex; color: #4d715f; font-size: .73rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.acp-live-hero .acp-kicker, .acp-live-section--dark .acp-kicker, .acp-live-contact .acp-kicker { color: var(--acp-lime); }
.acp-live h1, .acp-live h2, .acp-live h3 { text-wrap: balance; }
.acp-live-hero h1 {
  max-width: 900px; margin: .45em 0 .3em;
  font-size: clamp(3.25rem, 7.4vw, 7.9rem); line-height: .88; letter-spacing: -.065em; font-weight: 850;
}
.acp-live-hero__copy > p { max-width: 700px; color: #c8d8d3; font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.7; }
.acp-live-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.acp-live-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .85rem 1.3rem; border-radius: 999px; color: inherit; font-weight: 850; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.acp-live-btn--primary { color: #102118; background: var(--acp-lime); box-shadow: 0 10px 38px rgba(183,255,69,.12); }
.acp-live-btn--ghost { border: 1px solid rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.04); }
.acp-live-btn:hover, .acp-live-btn:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 42px rgba(0,0,0,.2); outline: 3px solid rgba(183,255,69,.38); outline-offset: 3px; }
.acp-live-trust { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 2.2rem; }
.acp-live-trust span { padding: .42rem .7rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #aac0b8; font-size: .74rem; font-weight: 750; }

.acp-live-orbit { position: relative; z-index: 1; width: min(460px, 80vw); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; animation: acp-orbit-breathe 6s ease-in-out infinite; }
.acp-live-orbit::before, .acp-live-orbit::after { content: ""; position: absolute; inset: 15%; border: 1px solid rgba(183,255,69,.2); border-radius: 50%; }
.acp-live-orbit::after { inset: 32%; border-color: rgba(128,233,197,.35); }
.acp-live-orbit__core { position: absolute; inset: 36%; z-index: 2; display: grid; place-content: center; text-align: center; border-radius: 30%; color: var(--acp-ink); background: var(--acp-lime); box-shadow: 0 0 80px rgba(183,255,69,.25); transform: rotate(45deg); }
.acp-live-orbit__core > * { transform: rotate(-45deg); }
.acp-live-orbit__core strong { font-size: 1.8rem; letter-spacing: -.05em; }
.acp-live-orbit__core small { font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.acp-live-orbit > span { --angle: calc(var(--i) * 60deg); position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 66px; height: 66px; margin: -33px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; color: #fff; background: rgba(6,23,31,.82); backdrop-filter: blur(8px); font-size: .68rem; font-weight: 900; letter-spacing: .08em; transform: rotate(var(--angle)) translateX(205px) rotate(calc(-1 * var(--angle))); animation: acp-node-float 3.8s ease-in-out infinite alternate; animation-delay: calc(var(--i) * -.45s); }
@keyframes acp-node-float { to { margin-top: -42px; box-shadow: 0 12px 32px rgba(0,0,0,.34); } }
@keyframes acp-orbit-breathe { 50% { transform: scale(1.025) rotate(1.5deg); } }

.acp-live-section { max-width: var(--acp-max); margin-inline: auto; padding: clamp(5rem, 8vw, 8.5rem) clamp(1.25rem, 5vw, 2.5rem); }
.acp-live-section > h2, .acp-live-contact h2 { max-width: 1000px; margin: .35em 0 1.2em; font-size: clamp(2.4rem, 5vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.acp-cap-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--acp-line); }
.acp-cap-card { position: relative; min-height: 310px; padding: 2rem; border-bottom: 1px solid var(--acp-line); color: inherit; text-decoration: none; overflow: hidden; transition: background .25s ease, transform .25s ease; }
.acp-cap-card:nth-child(odd) { border-right: 1px solid var(--acp-line); }
/* fundo sutil e distinto por card — cada bloco com um tom levemente
   diferente do outro, quase imperceptivel em repouso, some no hover verde */
.acp-cap-card:nth-child(1) { background: color-mix(in srgb, #7fd1c9 6%, transparent); }
.acp-cap-card:nth-child(2) { background: color-mix(in srgb, #b7ff45 6%, transparent); }
.acp-cap-card:nth-child(3) { background: color-mix(in srgb, #8ab4f8 6%, transparent); }
.acp-cap-card:nth-child(4) { background: color-mix(in srgb, #f2a65a 6%, transparent); }
.acp-cap-card__icon { display: block; width: 2.6rem; height: 2.6rem; color: var(--acp-ink, #0b1820); opacity: .82; }
.acp-cap-card__icon svg { width: 100%; height: 100%; }
.acp-cap-card__num { display: block; margin-top: .9rem; color: #63806f; font-size: .75rem; font-weight: 900; }
.acp-cap-card h3 { max-width: 480px; margin: 1.8rem 0 .7rem; font-size: clamp(1.75rem, 3vw, 3rem); letter-spacing: -.04em; }
.acp-cap-card p { max-width: 570px; color: #4c5f56; line-height: 1.7; }
.acp-cap-card b { position: absolute; right: 2rem; bottom: 2rem; font-size: 1.7rem; }
.acp-cap-card:hover, .acp-cap-card:focus-visible { background: var(--acp-lime); transform: translateY(-4px); outline: none; }

.acp-live-section--dark { max-width: none; padding-inline: max(5vw, calc((100vw - var(--acp-max)) / 2)); color: #fff; background: var(--acp-ink); }
.acp-proof-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1rem; }
.acp-proof { min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 3vw, 2.6rem); border: 1px solid rgba(255,255,255,.12); border-radius: 24px; color: #fff; text-decoration: none; background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.015)); transition: transform .25s ease, border-color .25s ease; }
.acp-proof--feature { grid-row: span 2; min-height: 700px; background: radial-gradient(circle at 70% 20%, rgba(183,255,69,.2), transparent 35%), linear-gradient(145deg,#0f3a31,#071820); }
.acp-proof em { color: var(--acp-mint); font-size: .73rem; font-style: normal; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.acp-proof h3 { margin: .7rem 0; font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.05em; }
.acp-proof p { color: #b7c9c3; line-height: 1.65; }
.acp-proof span { margin-top: 1.4rem; color: var(--acp-lime); font-weight: 850; }
.acp-proof:hover, .acp-proof:focus-visible { transform: translateY(-6px); border-color: rgba(183,255,69,.6); outline: none; }

.acp-process { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--acp-line); }
.acp-process li { min-height: 280px; padding: 1.5rem; border-bottom: 1px solid var(--acp-line); border-right: 1px solid var(--acp-line); }
.acp-process li:last-child { border-right: 0; }
.acp-process b { color: #759184; font-size: .75rem; }
.acp-process h3 { margin: 4rem 0 .7rem; font-size: 1.45rem; }
.acp-process p { color: #52665c; line-height: 1.65; }

.acp-live-contact { max-width: var(--acp-max); margin: 0 auto 5rem; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 3rem; padding: clamp(3rem, 7vw, 6rem); border-radius: 34px; color: #fff; background: linear-gradient(135deg, #0b2c2d, #143d27); }
.acp-live-contact h2 { margin-bottom: .4em; }
.acp-live-contact p { max-width: 650px; color: #bfd0c9; line-height: 1.7; }

.acp-portfolio-intro { padding-bottom: 3rem; }
.acp-portfolio-intro h1 { max-width: 1000px; margin: .35em 0; font-size: clamp(3.2rem, 7vw, 7.2rem); line-height: .9; letter-spacing: -.065em; }
.acp-portfolio-intro p { max-width: 760px; color: #4f635a; font-size: 1.15rem; line-height: 1.7; }
.acp-portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.acp-portfolio-card { position: relative; min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.7rem; overflow: hidden; border: 1px solid var(--acp-line); border-radius: 22px; color: inherit; text-decoration: none; background: var(--acp-white); transition: transform .25s ease, box-shadow .25s ease; }
.acp-portfolio-card::before { content: ""; position: absolute; width: 190px; height: 190px; right: -80px; top: -90px; border-radius: 50%; background: var(--card-accent); opacity: .28; filter: blur(10px); transition: transform .35s ease; }
.acp-portfolio-card > span { color: #61796d; font-size: .69rem; font-weight: 900; letter-spacing: .11em; }
.acp-portfolio-card h2 { margin: .8rem 0 .5rem; font-size: clamp(1.7rem, 3vw, 2.7rem); letter-spacing: -.045em; }
.acp-portfolio-card p { min-height: 4.8em; color: #52655d; line-height: 1.55; }
.acp-portfolio-card b { position: absolute; right: 1.6rem; bottom: 1.5rem; }
.acp-portfolio-card:hover, .acp-portfolio-card:focus-visible { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(7,24,32,.12); outline: 3px solid color-mix(in srgb, var(--card-accent) 45%, transparent); }
.acp-portfolio-card:hover::before { transform: scale(1.3); }

.acp-reveal { opacity: 0; transform: translateY(26px); transition: opacity .65s ease, transform .65s cubic-bezier(.22,1,.36,1); }
.acp-reveal.is-visible { opacity: 1; transform: none; }
.acp-locale-suggest { position: fixed; z-index: 100; left: 50%; bottom: 1rem; width: min(620px, calc(100vw - 2rem)); transform: translateX(-50%); display: flex; align-items: center; gap: 1rem; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; color: #fff; background: rgba(7,24,32,.96); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.acp-locale-suggest p { margin: 0; flex: 1; font-size: .88rem; }
.acp-locale-suggest button, .acp-locale-suggest a { border: 0; border-radius: 999px; padding: .6rem .8rem; font: inherit; font-weight: 800; cursor: pointer; }
.acp-locale-suggest a { color: var(--acp-ink); background: var(--acp-lime); text-decoration: none; }
.acp-locale-suggest button { color: #fff; background: transparent; }

@media (max-width: 980px) {
  .acp-live-hero { grid-template-columns: 1fr; min-height: auto; }
  .acp-live-orbit { width: min(390px, 78vw); }
  .acp-live-orbit > span { transform: rotate(var(--angle)) translateX(170px) rotate(calc(-1 * var(--angle))); }
  .acp-portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .acp-process { grid-template-columns: repeat(2,1fr); }
  .acp-process li:nth-child(2) { border-right: 0; }
}
@media (max-width: 680px) {
  .acp-live-hero { padding-top: 5.5rem; }
  .acp-live-hero h1 { font-size: clamp(3rem, 16vw, 5rem); }
  .acp-live-orbit { width: min(300px, 82vw); }
  .acp-live-orbit > span { width: 52px; height: 52px; margin: -26px; border-radius: 14px; transform: rotate(var(--angle)) translateX(135px) rotate(calc(-1 * var(--angle))); }
  .acp-cap-grid, .acp-proof-grid, .acp-portfolio-grid, .acp-live-contact { grid-template-columns: 1fr; }
  .acp-cap-card:nth-child(odd) { border-right: 0; }
  .acp-proof--feature { min-height: 480px; }
  .acp-live-contact { margin-inline: 1rem; border-radius: 24px; }
  .acp-live-contact .acp-live-btn { width: 100%; }
  .acp-locale-suggest { align-items: stretch; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .acp-live *, .acp-live *::before, .acp-live *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .acp-reveal { opacity: 1; transform: none; }
}
