/* Silicium Náutica — camada visual alinhada ao brandkit 2026. */
:root {
  --sea: #007ea8;
  --sea-bright: #28b8d1;
  --sea-deep: #071c2b;
  --sea-panel: #102d40;
  --sea-line: rgba(40, 184, 209, .18);
}

.header {
  border-bottom-color: rgba(40,184,209,.2);
  box-shadow: 0 8px 32px rgba(2,14,24,.12);
}
.nav a { transition: color .2s ease; }
.nav a:hover, .nav a:focus-visible { color: var(--sea-bright); }

.hero {
  isolation: isolate;
  background-position: center, 58% center;
}
.hero::before {
  background:
    radial-gradient(circle at 77% 26%, rgba(40,184,209,.16), transparent 31%),
    linear-gradient(180deg, transparent 45%, rgba(3,17,27,.50));
}
.hero::after {
  border-top-color: rgba(40,184,209,.46);
}
.hero .eyebrow { letter-spacing: .18em; }
.hero h1 span { text-shadow: 0 0 34px rgba(40,184,209,.18); }
.hero-trust span {
  border-color: rgba(40,184,209,.22);
  background: rgba(7,28,43,.42);
}
.hero .btn-ghost:hover {
  background: rgba(40,184,209,.10);
  border-color: rgba(40,184,209,.62);
}
.brand-card {
  background:
    radial-gradient(circle at 50% 42%, rgba(40,184,209,.13), transparent 51%),
    linear-gradient(rgba(40,184,209,.045) 1px, transparent 1px),
    linear-gradient(90deg,rgba(40,184,209,.045) 1px, transparent 1px),
    linear-gradient(145deg, #102d40, #071c2b 80%);
  background-size: auto, 30px 30px, 30px 30px, auto;
  border-color: rgba(40,184,209,.34);
  box-shadow: 0 30px 85px rgba(0,10,21,.4), inset 0 1px 0 rgba(255,255,255,.075);
}
.brand-card::before, .brand-card::after { border-color: rgba(40,184,209,.14); }
.brand-card-label {
  border-color: rgba(40,184,209,.18);
  background: rgba(5,22,35,.92);
}
.brand-card-label small { color: var(--sea-bright); }

.services {
  background-color: #edf7fa;
  background-image:
    linear-gradient(rgba(0,126,168,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,126,168,.045) 1px,transparent 1px);
  background-size: 42px 42px;
}
.service-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-color: #c9dce4;
  box-shadow: 0 12px 30px rgba(7,28,43,.035);
}
.service-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(var(--sea),var(--sea-bright));
  opacity: .8;
}
.service-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  border-top: 1px solid rgba(0,126,168,.22);
  border-right: 1px solid rgba(0,126,168,.22);
  border-radius: 0 18px 0 0;
  pointer-events: none;
}
.service-card:hover, .service-card:focus-within {
  border-color: rgba(0,126,168,.48);
  box-shadow: 0 24px 55px rgba(7,28,43,.11);
}
.service-card b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(0,126,168,.2);
  border-radius: 9px;
  background: #edf7fa;
  color: #006382;
  font-size: .8rem;
}
.service-card h3 { margin-top: 23px; }
.service-choice { color: #006382; text-underline-offset: 4px; }
.service-choice:hover, .service-choice:focus-visible { text-decoration: underline; }

.visual-band { background: linear-gradient(180deg,#fff,#f8fcfd); }
.visual-card {
  border-color: rgba(0,126,168,.2);
  box-shadow: 0 20px 50px rgba(7,28,43,.10);
}
.visual-caption { background: linear-gradient(145deg, #102d40, #071c2b); }
.visual-caption > span { background: #006382; }

.process {
  background-color: #071c2b;
  background-image:
    radial-gradient(circle at 76% 14%, rgba(40,184,209,.13),transparent 34%),
    linear-gradient(rgba(40,184,209,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,184,209,.04) 1px,transparent 1px);
  background-size: auto,44px 44px,44px 44px;
}
.step {
  position: relative;
  border-color: rgba(40,184,209,.18);
  background: rgba(16,45,64,.75);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
.step::after {
  content: "";
  position: absolute;
  inset: 0 auto auto 26px;
  width: 52px;
  height: 2px;
  background: linear-gradient(90deg,var(--sea-bright),transparent);
}
.step i { background: #007ea8; box-shadow: 0 0 0 5px rgba(40,184,209,.10); }
.step h3 { margin-top: 23px; }

.consultoria-photo { border: 1px solid rgba(0,126,168,.18); }
.checks b { border-color: rgba(0,126,168,.40); color: #006382; }
.technology-gateway-inner {
  border: 1px solid rgba(40,184,209,.16);
  background:
    radial-gradient(circle at 88% 10%, rgba(40,184,209,.20),transparent 30%),
    linear-gradient(135deg,#102d40,#071c2b);
}
.contact {
  background-color: #edf7fa;
  background-image: radial-gradient(rgba(0,126,168,.075) 1px,transparent 1px);
  background-size: 28px 28px;
}
.contact-box, #nautica-form { border-color: #c9dce4; }
#nautica-form {
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 70px rgba(7,28,43,.09);
}
#nautica-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg,#007ea8,#28b8d1,transparent);
}
.contact-box a:hover { color: #007ea8; }
.faq-list details { border-color: #c9dce4; }
.faq-list summary:hover { color: #006382; }
.fallback-link { color: #006382; }

@media (max-width: 760px) {
  .brand-card { min-height: 340px; }
  .brand-card::after { width: 360px; height: 360px; }
  .hero { background-position: center, 62% center; }
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary:hover, .service-card:hover { transform: none; }
}
