:root {
  --night: #edf2f8;
  --paper: #17233a;
  --muted: #5d6b80;
  --line: rgba(46, 85, 165, .16);
  --blue: #2e55a5;
}

html,
body {
  background: #edf2f8;
  color: #17233a;
}

body {
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  cursor: default;
}

a { cursor: pointer; }
a:focus-visible { outline-color: #2e55a5; }
::selection { background: #2e55a5; color: #fff; }

.ambient__aurora {
  background:
    radial-gradient(ellipse at 78% 10%, rgba(46, 85, 165, .2), transparent 34%),
    radial-gradient(ellipse at 15% 88%, rgba(145, 152, 158, .2), transparent 31%),
    radial-gradient(ellipse at 48% 45%, rgba(255, 255, 255, .92), transparent 42%),
    #edf2f8;
  filter: blur(24px);
}

.ambient__grid {
  opacity: .42;
  background-image:
    linear-gradient(rgba(46, 85, 165, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46, 85, 165, .075) 1px, transparent 1px);
}

.ambient__cursor { background: radial-gradient(circle 320px at var(--cursor-x) var(--cursor-y), rgba(46, 85, 165, .12), transparent 70%); }
.ambient__noise { opacity: .025; mix-blend-mode: multiply; }

.header { border-color: rgba(46, 85, 165, .18); }
.header__brand img { filter: none; }
.intro__eyebrow { color: #2e55a5; }
.intro h1 { color: #17233a; }
.intro h1 em {
  color: transparent;
  font-family: "Gilroy", Arial, sans-serif;
  font-weight: 500;
  letter-spacing: inherit;
  -webkit-text-stroke: 1px rgba(46, 85, 165, .8);
}
.intro__copy { color: #58677b; }

.portal {
  --tone: 46, 85, 165;
  background: linear-gradient(155deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .72) 56%, rgba(46, 85, 165, .07));
  border-color: rgba(46, 85, 165, .18);
  box-shadow: inset 0 1px 0 #fff, 0 22px 55px rgba(36, 57, 94, .12);
  transform-style: flat;
}

.portal::before { background: radial-gradient(280px circle at var(--x) var(--y), rgba(46, 85, 165, .14), transparent 68%); }
.portal::after { display: none; }
.portal:hover,
.portal:focus-within {
  border-color: rgba(46, 85, 165, .48);
  box-shadow: 0 34px 72px rgba(36, 57, 94, .2), 0 0 0 1px rgba(46, 85, 165, .08);
}

.portal__number { -webkit-text-stroke-color: rgba(46, 85, 165, .12); }
.portal:hover .portal__number { -webkit-text-stroke-color: rgba(46, 85, 165, .25); }
.portal__beam { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent); }
.portal__logo { border: 1px solid rgba(46, 85, 165, .1); background: #fff; box-shadow: 0 12px 28px rgba(46, 85, 165, .08); }
.portal:hover .portal__logo,
.portal:focus-within .portal__logo { transform: translateY(-2px) scale(1.015); }
.portal__field { color: #17233a; }
.portal__description { color: #59687c; }
.portal__services li { border-color: rgba(46, 85, 165, .18); color: #3f4d62; background: rgba(46, 85, 165, .055); }
.portal__address { margin-top: 20px; border-color: rgba(46, 85, 165, .16); color: #536176; }
.portal__contact a { color: #46556b; }
.portal__address,
.portal__contact a { grid-template-columns: 18px minmax(0, 1fr); gap: 7px; }
.portal__info-icon { display: block; width: auto; height: auto; padding-top: 1px; border: 0; border-radius: 0; color: #2e55a5; background: transparent; font-size: 10px; line-height: 1.3; }
.portal__bottom,
.portal__actions { width: 100%; }
.portal__actions { grid-template-columns: 1fr; gap: 7px; }
.portal__actions a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid rgba(46, 85, 165, .14);
  border-radius: 10px;
  color: #40506a;
  background: rgba(255, 255, 255, .56);
  font-size: 11.5px;
  font-weight: 600;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;
}
.portal__actions a:first-child {
  color: #fff;
  border-color: #2e55a5;
  background: #2e55a5;
  box-shadow: 0 8px 18px rgba(46, 85, 165, .16);
}
.portal__actions a:hover {
  color: #213f7e;
  border-color: rgba(46, 85, 165, .38);
  background: #fff;
  transform: translateX(2px);
}
.portal__actions a:first-child:hover { color: #fff; border-color: #213f7e; background: #213f7e; }

.footer { border-color: rgba(46, 85, 165, .16); }
.footer p { color: #445268; }
.footer__identity span { color: #7a8799; }

@media (hover: hover) and (pointer: fine) {
  .orbit:hover .portal:not(:hover) { opacity: .62; filter: saturate(.68); }
}
