/* ART-DIRECTION-P0 — materialidade estática sobre I3-B.2 */
:root {
  --ad-black: #030506;
  --ad-off-black: #090c0e;
  --ad-graphite-0: #101417;
  --ad-graphite-1: #171c20;
  --ad-graphite-2: #252c31;
  --ad-silver-0: #f1f3f4;
  --ad-silver-1: #c6cdd1;
  --ad-silver-2: #8e999f;
  --ad-silver-3: #556168;
  --ad-blue-silver: #8eb8cf;
  --ad-blue-silver-soft: #547d94;
  --ad-blue: #004f84;
  --ad-blue-light: #2d85b8;
}

body {
  background: var(--ad-black);
  color: var(--ad-silver-0);
}

::selection { background: var(--ad-blue); color: #fff; }

.site-header {
  background: linear-gradient(180deg, rgba(3,5,6,.96), rgba(7,10,12,.84));
  border-bottom-color: rgba(198,205,209,.2);
  box-shadow: 0 1px 0 rgba(0,0,0,.75);
}

.desktop-nav { color: var(--ad-silver-1); }
.header-contact {
  border-color: var(--ad-silver-3);
  background: linear-gradient(135deg, rgba(255,255,255,.025), rgba(142,184,207,.035));
}
.header-contact:hover {
  border-color: var(--ad-blue-silver);
  background: rgba(0,79,132,.14);
}

.section-label,
.hero-kicker,
.feature-header,
.solution-eyebrow,
.contact-direct > span,
.contact-form-wrap > span {
  color: var(--ad-blue-silver);
}

/* HERO — objeto material estático */
.hero {
  background:
    radial-gradient(ellipse 55% 75% at 78% 46%, rgba(63,82,93,.18), transparent 68%),
    linear-gradient(135deg, var(--ad-black) 0%, #06090b 56%, #0a0e11 100%);
}

.hero-plane-grid {
  background-image:
    linear-gradient(rgba(198,205,209,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(198,205,209,.045) 1px, transparent 1px);
  mask-image: linear-gradient(90deg, transparent 11%, #000 58%, transparent 100%);
}

.hero-plane-axis {
  background: linear-gradient(90deg, transparent, rgba(142,184,207,.56), rgba(198,205,209,.18), transparent);
  box-shadow: none;
}

.hero-plane-mark {
  opacity: .56;
  filter: none;
  transform: none;
  isolation: isolate;
}

.hero-plane-mark::before,
.hero-plane-mark::after {
  border-color: rgba(198,205,209,.16);
}

.hero-plane-mark::after { border-color: rgba(142,184,207,.13); }

.hero-plane-mark img {
  opacity: .62;
  filter: grayscale(1) brightness(.42) contrast(1.35)
    drop-shadow(1px 0 rgba(241,243,244,.34))
    drop-shadow(-1px 0 rgba(0,0,0,.85));
}

.hero-plane-mark::selection { background: transparent; }

.hero-plane-measure { color: var(--ad-blue-silver); }
.hero-plane-measure i {
  background: linear-gradient(90deg, var(--ad-silver-3), var(--ad-blue-silver), var(--ad-silver-2));
  box-shadow: 0 0 12px rgba(142,184,207,.15);
  transform: scaleX(1);
}

.hero h1 { color: var(--ad-silver-0); text-shadow: 0 1px 0 rgba(255,255,255,.04); }
.hero h1 em { color: var(--ad-silver-1); }
.hero-lower p { color: #d0d6d9; }
.hero-exit { border-color: rgba(198,205,209,.23); color: var(--ad-silver-2); }
.hero-exit a span { border-color: var(--ad-silver-3); background: rgba(255,255,255,.015); }
.hero-exit a:hover span { background: var(--ad-blue); border-color: var(--ad-blue-light); }

/* LÓGICA — silêncio graphite/silver */
.idea {
  background:
    linear-gradient(180deg, #0b0f12 0%, var(--ad-off-black) 100%);
}
.idea-preface { color: var(--ad-blue-silver); }
.idea h2 em { color: var(--ad-silver-2); }
.idea-foot p { color: var(--ad-silver-1); }
.idea-coordinate { color: var(--ad-silver-2); }
.idea-rule { background: var(--ad-graphite-2); }
.idea-rule span {
  background: linear-gradient(90deg, var(--ad-silver-3), var(--ad-blue-silver), var(--ad-blue));
  box-shadow: none;
  transform: scaleX(1);
}

/* SOLUÇÕES — planos editoriais distintos sem cards */
.solutions {
  background:
    radial-gradient(circle at 9% 31%, rgba(142,184,207,.04), transparent 26%),
    var(--ad-black);
}
.solutions-intro p,
.web-copy p,
.other-solutions p,
.care-layer p { color: var(--ad-silver-1); }

.web-feature {
  border-color: var(--ad-silver-3);
  background:
    linear-gradient(112deg, rgba(255,255,255,.018), transparent 38%),
    linear-gradient(180deg, transparent 65%, rgba(142,184,207,.018));
}
.feature-watermark { color: #0d1215; text-shadow: 1px 0 rgba(198,205,209,.055); }
.web-feature h3 em {
  color: var(--ad-blue-silver);
  text-shadow: 0 1px rgba(241,243,244,.12);
}
.feature-baseline { background: var(--ad-graphite-2); }
.feature-baseline span {
  background: linear-gradient(90deg, var(--ad-silver-3), var(--ad-blue-silver));
}
.feature-baseline i { background: var(--ad-blue); box-shadow: 0 0 0 3px rgba(0,79,132,.13); }

.other-solutions article { border-color: var(--ad-silver-3); }
.period { color: var(--ad-blue-silver); }
.solution-notation { color: var(--ad-silver-2); }
.solution-notation i { background: var(--ad-silver-3); }

.care-layer {
  border-top-color: var(--ad-silver-2);
  border-bottom-color: var(--ad-graphite-2);
  background: linear-gradient(90deg, rgba(198,205,209,.025), transparent 65%);
}
.care-line { background: linear-gradient(90deg, var(--ad-silver-3), var(--ad-blue-silver), transparent); }

/* PROCESSO — quiet moment claro */
.process {
  background: #e7e9ea;
  color: #111619;
  box-shadow: inset 0 1px rgba(255,255,255,.85), inset 0 -1px rgba(72,84,91,.24);
}
.process .section-label,
.process-sequence span { color: #285c76; }
.process-heading p,
.process-sequence p { color: #46545c; }
.process-sequence { border-top-color: #889399; }
.process-sequence > div { border-bottom-color: #9ba5aa; }

/* PARTNERS — azul como assinatura dentro de uma superfície material */
.partners {
  background:
    linear-gradient(118deg, rgba(255,255,255,.045) 0%, transparent 27%),
    radial-gradient(ellipse 72% 130% at 92% 12%, rgba(142,184,207,.15), transparent 54%),
    linear-gradient(135deg, #10171c 0%, #0b1821 48%, #082a3e 100%);
  color: var(--ad-silver-0);
  border-top: 1px solid var(--ad-silver-3);
  border-bottom: 1px solid #172d3b;
}
.partners::before {
  border-color: rgba(198,205,209,.15);
  box-shadow: inset 1px 0 rgba(142,184,207,.08);
}
.partners::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(112deg, transparent 0 5px, rgba(255,255,255,.009) 5px 6px);
  mask-image: linear-gradient(90deg, transparent, #000 55%, #000);
}
.partners .section-label { color: var(--ad-blue-silver); }
.partners .period { color: var(--ad-blue-light); }
.partners-copy p { color: #d3dde2; }
.partners-copy .action-link { border-color: var(--ad-silver-2); }
.partners-b2b { color: var(--ad-blue-silver); }

/* CONTATO — interface de precisão */
.contact {
  background:
    linear-gradient(180deg, var(--ad-off-black), #070a0c 72%),
    var(--ad-off-black);
}
.contact-head p { color: var(--ad-silver-1); }
.contact-options { border-top-color: var(--ad-silver-3); }
.contact-direct > span,
.contact-form-wrap > span { color: var(--ad-blue-silver); }
.contact-direct p { color: var(--ad-silver-0); }
.contact-direct > a {
  background: linear-gradient(135deg, #123044, #0b2433);
  border: 1px solid var(--ad-blue-silver-soft);
  box-shadow: inset 0 1px rgba(255,255,255,.07);
}
.contact-direct > a:hover,
.contact-direct > a:focus-visible {
  background: var(--ad-blue);
  border-color: var(--ad-blue-light);
}
.contact-form-wrap { border-left-color: var(--ad-silver-3); }
.contact-form-wrap > p { color: var(--ad-silver-2); }

.form-grid { gap: 25px 22px; }
.field { gap: 8px; }
.field label { color: var(--ad-silver-1); letter-spacing: .01em; }
.field input,
.field select,
.field textarea {
  min-height: 49px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent),
    var(--ad-graphite-0);
  border: 1px solid var(--ad-silver-3);
  border-bottom-color: var(--ad-silver-2);
  color: var(--ad-silver-0);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.field textarea { min-height: 120px; }
.field input:hover,
.field select:hover,
.field textarea:hover { border-color: var(--ad-silver-2); }
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: 2px solid var(--ad-blue-silver);
  outline-offset: 2px;
  border-color: var(--ad-blue);
  background: #11181c;
  box-shadow: inset 3px 0 var(--ad-blue), 0 0 0 4px rgba(142,184,207,.07);
}
.field input:user-invalid,
.field select:user-invalid,
.field textarea:user-invalid { border-bottom-color: #c78989; }
.field small,
.optional,
.form-consent,
.form-actions .small,
.no-js-note { color: var(--ad-silver-2); }
.form-actions button {
  min-height: 50px;
  padding-inline: 23px;
  background: linear-gradient(135deg, #152630, #10191e);
  border: 1px solid var(--ad-blue-silver-soft);
  color: var(--ad-silver-0);
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}
.form-actions button:hover,
.form-actions button:focus-visible {
  background: var(--ad-blue);
  border-color: var(--ad-blue-light);
}

.action-link,
.quiet-link {
  border-bottom-color: var(--ad-silver-3);
  transition: color .16s ease, border-color .16s ease;
}
.action-link:hover,
.quiet-link:hover,
.action-link:focus-visible,
.quiet-link:focus-visible {
  color: var(--ad-blue-silver);
  border-bottom-color: var(--ad-blue);
}

.site-footer { background: var(--ad-black); }
.footer-main p,
.footer-bottom { color: var(--ad-silver-2); }
.footer-bottom { border-top-color: var(--ad-graphite-2); }

@media (max-width: 700px) {
  .hero {
    background:
      radial-gradient(ellipse 76% 45% at 78% 24%, rgba(70,88,98,.2), transparent 70%),
      linear-gradient(155deg, var(--ad-black), #080c0f 72%);
  }
  .hero-plane-mark { opacity: .48; }
  .hero-plane-mark img { opacity: .5; }
  .hero-plane-grid { mask-image: linear-gradient(0deg, transparent 0%, #000 38%, transparent 90%); }
  .partners::after { opacity: .55; }
  .contact-form-wrap { border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .field input,
  .field select,
  .field textarea,
  .action-link,
  .quiet-link { transition: none; }
}
