@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

 :root {
  --page-gradient:
    radial-gradient(circle at 18% 22%, rgba(78, 142, 255, 0.16) 0%, transparent 20%),
    radial-gradient(circle at 68% 14%, rgba(255, 255, 255, 0.08) 0%, transparent 16%),
    radial-gradient(circle at 40% 85%, rgba(35, 68, 158, 0.12) 0%, transparent 22%),
    radial-gradient(ellipse at bottom, #101827 0%, #090a0f 46%, #050608 100%);
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: var(--page-gradient);
  background-repeat: no-repeat;
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
}

body.portfolio-ready {
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--page-gradient);
  background-repeat: no-repeat;
}

html {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
  background: var(--page-gradient);
  scroll-behavior: smooth;
}

.container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: var(--page-gradient);
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.portfolio-ready .container {
  display: block;
  min-height: 100vh;
  height: auto;
  overflow: visible;
  background: transparent;
}

.page-center.hidden-after-load {
  min-height: 0;
  padding: 0;
  gap: 0;
}

.page-center.hidden-after-load .loader-bar,
.page-center.hidden-after-load .jarvis-button,
.page-center.hidden-after-load .jarvis-message {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.container::before,
.container::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.container::before {
  z-index: 0;
  background:
    radial-gradient(1100px 680px at 88% 90%, rgba(32, 114, 212, 0.26), transparent 62%),
    radial-gradient(860px 520px at 14% 18%, rgba(91, 55, 205, 0.34), transparent 62%),
    radial-gradient(700px 420px at 56% 6%, rgba(42, 74, 180, 0.17), transparent 58%),
    linear-gradient(152deg, #070b17 0%, #0b142b 46%, #121f3a 100%);
}

.container::after {
  z-index: 0;
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0.035) 0%, transparent 26%, transparent 74%, rgba(126, 170, 255, 0.1) 100%),
    repeating-linear-gradient(
      0deg,
      rgba(184, 205, 255, 0.035) 0,
      rgba(184, 205, 255, 0.035) 1px,
      transparent 1px,
      transparent 9px
    ),
    radial-gradient(circle at 80% 84%, rgba(150, 191, 255, 0.08) 0%, transparent 46%);
  mix-blend-mode: soft-light;
}

.container.premium-static-mode::before,
.container.premium-static-mode::after {
  opacity: 1;
}

body.portfolio-ready .container.premium-static-mode::before,
body.portfolio-ready .container.premium-static-mode::after {
  position: fixed;
  inset: 0;
}

.tour-section-active {
  position: relative;
  z-index: 40;
  box-shadow: 0 0 0 1px rgba(125, 183, 255, 0.35), 0 32px 72px rgba(35, 100, 200, 0.24);
  transform: translateY(-3px);
  transition: box-shadow 0.4s ease, transform 0.4s ease, opacity 0.4s ease;
  animation: tourGlowPulse 2.8s ease-in-out infinite;
}

.tour-section-fade {
  opacity: 0.86;
  filter: saturate(0.94);
  transition: opacity 0.4s ease, filter 0.4s ease;
}

.tour-keyword-highlight {
  color: #f4fbff;
  font-weight: inherit;
  display: inline;
  text-shadow:
    0 0 6px rgba(163, 214, 255, 0.9),
    0 0 14px rgba(123, 191, 255, 0.75),
    0 0 24px rgba(78, 156, 255, 0.55);
  animation: tourKeywordGlowPulse 1.9s ease-in-out infinite;
}

@keyframes tourGlowPulse {
  0%, 100% {
    box-shadow: 0 0 0 1px rgba(125, 183, 255, 0.35), 0 32px 72px rgba(35, 100, 200, 0.24);
  }
  50% {
    box-shadow: 0 0 0 1px rgba(163, 214, 255, 0.4), 0 36px 100px rgba(67, 141, 255, 0.3);
  }
}

@keyframes tourKeywordGlowPulse {
  0%, 100% {
    text-shadow:
      0 0 6px rgba(163, 214, 255, 0.82),
      0 0 14px rgba(123, 191, 255, 0.68),
      0 0 22px rgba(78, 156, 255, 0.48);
  }
  50% {
    text-shadow:
      0 0 9px rgba(190, 228, 255, 1),
      0 0 18px rgba(145, 205, 255, 0.88),
      0 0 28px rgba(95, 170, 255, 0.66);
  }
}

.tour-hover .portfolio-about__visual--card,
.tour-hover .portfolio-about__visual--card:hover {
  transform: translateY(-2px);
}

.tour-hover .portfolio-about__visual--card .bottom {
  top: 20%;
  border-radius: 80px 29px 29px 29px;
}

.tour-hover .portfolio-about__visual--card .profile-pic {
  width: 100px;
  height: 100px;
  aspect-ratio: 1;
  top: 10px;
  left: 10px;
  border-radius: 50%;
  z-index: 3;
  border: 7px solid #8fbaff;
  box-shadow: 0 12px 22px rgba(2, 6, 18, 0.28);
}

.tour-hover .portfolio-about__visual--card .profile-pic img {
  transform: scale(2.15);
}

.tour-hover .social-card .iso-pro a > .svg {
  transform: translate(2px, -2px);
}

.tour-hover .social-card .iso-pro .text {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.tour-hover .social-card .iso-pro span {
  opacity: 1;
}

.tour-hover .social-card .iso-pro span:nth-child(1) {
  opacity: 0.2;
}

.tour-hover .social-card .iso-pro span:nth-child(2) {
  opacity: 0.4;
  transform: translate(2px, -2px);
}

.tour-hover .social-card .iso-pro span:nth-child(3) {
  opacity: 0.6;
  transform: translate(4px, -4px);
}

#stars,
#stars2,
#stars3 {
  transition: opacity 1.25s cubic-bezier(0.22, 1, 0.36, 1), filter 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.container.premium-static-mode #stars,
.container.premium-static-mode #stars2,
.container.premium-static-mode #stars3 {
  opacity: 0;
  filter: blur(1.8px);
}

.page-center {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 380px;
  padding: 0 24px;
}

.portfolio-shell {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  width: min(1180px, calc(100vw - 48px));
  margin: 0 auto;
  padding: 32px 0 72px;
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

body.portfolio-ready .portfolio-shell {
  position: relative;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.portfolio-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 360px);
  gap: 24px;
  align-items: stretch;
  margin-bottom: 20px;
  position: relative;
  overflow: visible;
}

.portfolio-hero::before {
  content: 'HOME';
  position: absolute;
  top: 50%;
  left: -235px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-hero.home-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-hero.home-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

@media (max-width: 980px) {
  .portfolio-hero::before {
    display: none;
  }
}

.portfolio-hero__visual {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-self: center;
}

.portfolio-hero__portrait {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(163, 214, 255, 0.18);
  background:
    radial-gradient(circle at 50% 20%, rgba(125, 173, 255, 0.16), transparent 42%),
    linear-gradient(160deg, rgba(8, 14, 30, 0.9), rgba(11, 18, 38, 0.78));
  box-shadow: 0 18px 44px rgba(3, 7, 18, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.portfolio-hero__portrait:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 52px rgba(3, 7, 18, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.portfolio-hero__portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 12, 25, 0.06) 0%, rgba(7, 12, 25, 0.08) 46%, rgba(7, 12, 25, 0.42) 100%);
  pointer-events: none;
}

.portfolio-hero__image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 18%;
}

.weather-dock {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 50;
  width: min(300px, calc(100vw - 24px));
  margin: 0;
  border-radius: 22px;
  border: 1px solid rgba(163, 214, 255, 0.2);
  background: linear-gradient(160deg, rgba(9, 17, 38, 0.9), rgba(14, 25, 52, 0.78));
  box-shadow: 0 16px 38px rgba(2, 7, 18, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  color: #eaf2ff;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  transition: opacity 0.35s ease, transform 0.35s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.visit-counter {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(163, 214, 255, 0.18);
  background: linear-gradient(160deg, rgba(13, 24, 46, 0.92), rgba(18, 33, 68, 0.8));
  box-shadow: 0 18px 36px rgba(4, 9, 24, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  color: #e6f2ff;
  font-size: 0.85rem;
  line-height: 1.1;
  pointer-events: auto;
}

.visit-counter__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(226, 236, 255, 0.76);
}

.visit-counter__value {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f4fbff;
}

body.portfolio-ready .weather-dock {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.weather-dock > summary {
  list-style: none;
}

.weather-dock > summary::-webkit-details-marker {
  display: none;
}

.weather-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 14px 16px;
  transition: background 0.28s ease;
}

.weather-summary:hover {
  background: rgba(145, 199, 255, 0.08);
}

.weather-summary__icon {
  padding: 0.38rem 0.62rem;
  border-radius: 999px;
  background: rgba(146, 201, 255, 0.17);
  border: 1px solid rgba(146, 201, 255, 0.34);
  font-size: 0.72rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  font-weight: 700;
  transition: transform 0.35s ease, background 0.25s ease;
}

.weather-summary__meta p {
  margin: 0;
}

.weather-summary__temp {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
}

.weather-summary__place {
  margin-top: 0.24rem;
  font-size: 0.82rem;
  color: rgba(226, 236, 255, 0.8);
}

.weather-details {
  max-height: 0;
  overflow: auto;
  padding: 0 16px;
  opacity: 0;
  transform: translateY(-8px);
  transition: max-height 0.45s ease, padding 0.45s ease, opacity 0.32s ease, transform 0.32s ease;
}

.weather-dock[open] {
  border-color: rgba(179, 227, 255, 0.35);
  box-shadow: 0 20px 44px rgba(2, 7, 18, 0.5), 0 0 24px rgba(120, 174, 255, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.weather-dock[open] .weather-details {
  max-height: min(290px, calc(100vh - 84px));
  padding: 0 16px 14px;
  opacity: 1;
  transform: translateY(0);
}

.weather-dock[open] .weather-summary__icon {
  transform: translateY(-1px) scale(1.04);
  background: rgba(146, 201, 255, 0.26);
}

.weather-metrics {
  display: grid;
  gap: 10px;
}

.weather-metrics--top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 12px;
}

.weather-metrics--bottom {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.weather-metric {
  border-radius: 14px;
  background: rgba(123, 173, 255, 0.11);
  border: 1px solid rgba(163, 214, 255, 0.18);
  padding: 10px;
}

.weather-metric p {
  margin: 0;
}

.weather-metric__label {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(214, 229, 255, 0.76);
}

.weather-metric__value {
  margin-top: 0.22rem;
  font-size: 0.96rem;
  font-weight: 700;
}

.weather-status {
  margin: 0;
  border-radius: 12px;
  text-align: center;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 8px 10px;
  color: #0f2a14;
  background: linear-gradient(135deg, #8ee992 0%, #5fcf80 100%);
}

.portfolio-hero__copy,
.portfolio-hero__card,
.portfolio-panel,
.portfolio-contact,
.portfolio-tabs {
  background: rgba(7, 12, 25, 0.72);
  border: 1px solid rgba(163, 214, 255, 0.16);
  box-shadow: 0 18px 44px rgba(3, 7, 18, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
}

.portfolio-hero__copy {
  border-radius: 30px;
  padding: 42px;
}

.portfolio-hero__copy h1,
.portfolio-panel h2,
.portfolio-contact h2 {
  margin: 0;
  color: #f0f6ff;
  letter-spacing: -0.04em;
}

.portfolio-hero__copy h1 {
  font-size: clamp(2.6rem, 6vw, 4.7rem);
  line-height: 0.96;
}

.portfolio-hero__role,
.portfolio-hero__tagline,
.portfolio-panel p,
.portfolio-contact p,
.portfolio-hero__card li {
  color: rgba(221, 232, 255, 0.9);
  line-height: 1.7;
}

.portfolio-hero__role {
  margin: 20px 0 0;
  font-size: 1.1rem;
  max-width: 38rem;
}

.portfolio-hero__tagline {
  margin: 14px 0 0;
  max-width: 36rem;
}

.portfolio-hero__tagline a,
.portfolio-hero__tagline a:visited,
.portfolio-hero__tagline a:hover,
.portfolio-hero__tagline a:active {
  color: #ffffff;
}

.portfolio-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
  align-items: center;
}

.social-card {
  width: fit-content;
  max-width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(163, 214, 255, 0.14);
  background: linear-gradient(160deg, rgba(8, 14, 30, 0.82), rgba(11, 18, 38, 0.7));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 12px 28px rgba(2, 6, 18, 0.28);
  backdrop-filter: blur(12px);
}

.social-card ul {
  margin: 0;
  padding: 10px 12px;
  display: flex;
  list-style: none;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.social-card li {
  position: relative;
}

.social-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8fbaff;
  text-decoration: none;
}

.social-card .svg {
  transition: transform 0.18s ease, color 0.18s ease, filter 0.18s ease;
  padding: 0.72rem;
  height: 48px;
  width: 48px;
  border-radius: 100%;
  fill: currentColor;
  box-shadow: inset 0 0 16px rgba(255, 255, 255, 0.12), inset 0 0 4px rgba(255, 255, 255, 0.16), 0 4px 10px rgba(0, 0, 0, 0.14);
}

.social-card .text {
  opacity: 0;
  border-radius: 999px;
  padding: 5px 9px;
  transition: opacity 0.18s ease, transform 0.18s ease;
  color: #d8e7ff;
  background-color: rgba(11, 22, 45, 0.88);
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  z-index: 2;
  box-shadow: 0 8px 18px rgba(2, 6, 18, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  white-space: nowrap;
  pointer-events: none;
}

.social-card .iso-pro {
  transition: transform 0.18s ease;
  will-change: transform;
}

.social-card .iso-pro:hover a > .svg,
.social-card .iso-pro:focus-within a > .svg {
  transform: translate(4px, -4px);
  border-radius: 100%;
}

.social-card .iso-pro:hover .text,
.social-card .iso-pro:focus-within .text {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.social-card .iso-pro:hover .svg,
.social-card .iso-pro:focus-within .svg {
  transform: translate(2px, -2px);
}

.social-card .iso-pro span {
  opacity: 0;
  position: absolute;
  inset: 0;
  color: #7fa8f5;
  border-color: #7fa8f5;
  box-shadow: inset 0 0 14px rgba(255, 255, 255, 0.08), inset 0 0 4px rgba(255, 255, 255, 0.12), 0 4px 10px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.social-card .iso-pro:hover span,
.social-card .iso-pro:focus-within span {
  opacity: 1;
}

.social-card .iso-pro:hover span:nth-child(1),
.social-card .iso-pro:focus-within span:nth-child(1) {
  opacity: 0.2;
}

.social-card .iso-pro:hover span:nth-child(2),
.social-card .iso-pro:focus-within span:nth-child(2) {
  opacity: 0.4;
  transform: translate(2px, -2px);
}

.social-card .iso-pro:hover span:nth-child(3),
.social-card .iso-pro:focus-within span:nth-child(3) {
  opacity: 0.6;
  transform: translate(4px, -4px);
}

.portfolio-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.8rem 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(163, 214, 255, 0.18);
  background: rgba(13, 20, 41, 0.78);
  color: #eff6ff;
  text-decoration: none;
  font-weight: 700;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.portfolio-link:hover {
  transform: translateY(-2px);
  border-color: rgba(179, 227, 255, 0.42);
  box-shadow: 0 12px 24px rgba(4, 8, 20, 0.32);
}

.portfolio-link--primary {
  background: linear-gradient(135deg, #75adff 0%, #5277e3 100%);
  color: #07111f;
  border-color: transparent;
}

.portfolio-link--resume {
  min-height: 60px;
  padding: 0.9rem 1.25rem;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(12, 20, 42, 0.92), rgba(18, 29, 58, 0.82));
  border: 1px solid rgba(163, 214, 255, 0.2);
  color: #edf4ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 12px 28px rgba(2, 6, 18, 0.26);
  backdrop-filter: blur(12px);
  font-size: 0.96rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.portfolio-link--resume:hover {
  border-color: rgba(179, 227, 255, 0.42);
  background: linear-gradient(160deg, rgba(17, 28, 56, 0.96), rgba(27, 41, 78, 0.9));
  box-shadow: 0 14px 30px rgba(2, 6, 18, 0.3), 0 0 24px rgba(125, 173, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.portfolio-hero__card {
  border-radius: 30px;
  padding: 30px;
}

.portfolio-card__label,
.section-kicker {
  margin: 0 0 12px;
  color: #8ab8ff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.section-chat-hint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(163, 214, 255, 0.18);
  background: rgba(9, 16, 32, 0.58);
  color: rgba(236, 244, 255, 0.88);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.section-chat-hint::before {
  content: 'Ask me about this section';
}

.portfolio-hero__card ul {
  margin: 0;
  padding-left: 18px;
}

.portfolio-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  border-radius: 999px;
  padding: 12px;
  margin: 0 auto 22px;
  width: fit-content;
}

.portfolio-tabs a {
  color: #e8f1ff;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 700;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  transition: background 0.22s ease, color 0.22s ease;
}

.portfolio-tabs a:hover {
  background: rgba(125, 173, 255, 0.14);
  color: #ffffff;
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 22px;
}

.portfolio-panel {
  border-radius: 26px;
  padding: 28px;
}

.portfolio-about {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, 320px);
  gap: 24px;
  align-items: center;
  margin-bottom: 4px;
  position: relative;
  overflow: visible;
}

.portfolio-about::before {
  content: 'ABOUT';
  position: absolute;
  top: 50%;
  left: -275px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-about.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-about.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

@media (max-width: 980px) {
  .portfolio-about::before {
    display: none;
  }
}

.portfolio-about__copy {
  min-width: 0;
}

.portfolio-about h2 {
  margin: 6px 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
}

.portfolio-about p {
  max-width: 70ch;
}

.portfolio-about p + p {
  margin-top: 14px;
}

.portfolio-about__visual {
  margin: 0;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(163, 214, 255, 0.18);
  background: linear-gradient(160deg, rgba(8, 14, 30, 0.9), rgba(11, 18, 38, 0.78));
  box-shadow: 0 18px 44px rgba(3, 7, 18, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.portfolio-about__visual--card {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px;
}

.portfolio-about__visual--card .card {
  width: min(100%, 280px);
  height: 280px;
  position: relative;
  border-radius: 32px;
  padding: 3px;
  background: linear-gradient(180deg, rgba(12, 20, 43, 0.98), rgba(8, 14, 30, 0.98));
  border: 1px solid rgba(143, 186, 255, 0.18);
  box-shadow: 0 28px 60px rgba(2, 6, 18, 0.44), 0 0 0 1px rgba(143, 186, 255, 0.06) inset;
  transition: transform 0.5s ease-in-out, box-shadow 0.5s ease-in-out, border-radius 0.5s ease-in-out;
  animation: about-card-float 7s ease-in-out infinite;
}

.portfolio-about__visual--card .mail {
  position: absolute;
  right: 2rem;
  top: 1.4rem;
  z-index: 4;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #8fbaff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.portfolio-about__visual--card .mail svg {
  display: block;
  stroke: currentColor;
  stroke-width: 2.25px;
  transition: color 0.2s ease, transform 0.2s ease;
}

.portfolio-about__visual--card .mail:hover {
  color: #d7e8ff;
}

.portfolio-about__visual--card .mail:hover svg {
  transform: scale(1.08);
}

.portfolio-about__visual--card .profile-pic {
  position: absolute;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  top: 3px;
  left: 3px;
  border-radius: 29px;
  z-index: 1;
  border: 0 solid rgba(143, 186, 255, 0.48);
  overflow: hidden;
  transition: all 0.5s ease-in-out 0.2s, z-index 0.5s ease-in-out 0.2s;
}

.portfolio-about__visual--card .profile-pic img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: center 12%;
  transition: transform 0.5s ease-in-out 0s, object-position 0.5s ease-in-out 0s;
}

.portfolio-about__visual--card .bottom {
  position: absolute;
  bottom: 3px;
  left: 3px;
  right: 3px;
  background: linear-gradient(180deg, rgba(12, 20, 43, 0.94), rgba(8, 14, 30, 0.98));
  top: 78%;
  border-radius: 29px;
  z-index: 2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), inset 0 5px 14px rgba(143, 186, 255, 0.08);
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}

.portfolio-about__visual--card .content {
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 160px;
}

.portfolio-about__visual--card .name {
  display: block;
  font-size: 1.18rem;
  color: #edf4ff;
  font-weight: 700;
}

.portfolio-about__visual--card .about-me {
  display: block;
  font-size: 0.92rem;
  color: rgba(237, 244, 255, 0.84);
  margin-top: 1rem;
  line-height: 1.55;
}

.portfolio-about__visual--card .bottom-bottom {
  position: absolute;
  bottom: 1rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.portfolio-about__visual--card .button {
  background: linear-gradient(135deg, #8fbaff, #5fa3ff);
  color: #07111f;
  border: none;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.5rem 0.85rem;
  box-shadow: 0 8px 18px rgba(95, 163, 255, 0.22);
  transition: transform 0.2s ease, filter 0.2s ease, color 0.2s ease;
}

.portfolio-about__visual--card .button:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.portfolio-about__visual--card:hover {
  transform: translateY(-2px);
}

.portfolio-about__visual--card:hover .bottom {
  top: 20%;
  border-radius: 80px 29px 29px 29px;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s;
}

.portfolio-about__visual--card:hover .profile-pic {
  width: 100px;
  height: 100px;
  aspect-ratio: 1;
  top: 10px;
  left: 10px;
  border-radius: 50%;
  z-index: 3;
  border: 7px solid #8fbaff;
  box-shadow: 0 12px 22px rgba(2, 6, 18, 0.28);
  transition: all 0.5s ease-in-out, z-index 0.5s ease-in-out 0.1s;
}

.portfolio-about__visual--card:hover .profile-pic:hover {
  transform: scale(1.3);
  border-radius: 0;
}

.portfolio-about__visual--card:hover .profile-pic img {
  transform: scale(2.15);
  object-position: center 20%;
  transition: all 0.5s ease-in-out 0.5s;
}

.portfolio-about__visual--card .social-links-container {
  display: none;
}

.portfolio-about__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 18%;
}

@keyframes about-card-float {
  0%,
  100% {
    transform: translateY(0) rotate(-0.4deg);
  }

  50% {
    transform: translateY(-8px) rotate(0.4deg);
  }
}

.portfolio-tech {
  margin-top: 18px;
  position: relative;
  overflow: visible;
}

.portfolio-tech::before {
  content: 'SKILLS';
  position: absolute;
  top: 50%;
  left: -255px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-tech.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-tech.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-education {
  margin-top: 18px;
  position: relative;
  overflow: visible;
}

.portfolio-education::before {
  content: 'EDU';
  position: absolute;
  top: 50%;
  left: -190px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-education.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-education.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

@media (max-width: 980px) {
  .portfolio-tech::before,
  .portfolio-education::before,
  .portfolio-experience::before,
  .portfolio-achievements::before,
  .portfolio-projects::before {
    display: none;
  }
}

.portfolio-tech h2 {
  margin: 6px 0 18px;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
}

.portfolio-experience {
  margin-top: 18px;
  position: relative;
  overflow: visible;
}

.portfolio-experience::before {
  content: 'EXP';
  position: absolute;
  top: 50%;
  left: -190px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-experience.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-experience.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-experience h2 {
  margin: 6px 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
}

.portfolio-experience__intro {
  margin: 0 0 18px;
  max-width: 74ch;
  color: rgba(221, 232, 255, 0.82);
  line-height: 1.7;
}

.experience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 640px) {
  .experience-card {
    --card-height: 280px;
  }
  
  .experience-card__face {
    min-height: 280px;
  }
}

.experience-card {
  --card-height: 300px;
  perspective: 1000px;
  height: var(--card-height);
}

.experience-card .card {
  height: 100%;
  border-radius: 34px;
  background: linear-gradient(135deg, #5277e3 0%, #75adff 100%);
  transition: all 0.5s ease-in-out;
  transform-style: preserve-3d;
  box-shadow: rgba(82, 119, 227, 0) 40px 50px 25px -40px, rgba(82, 119, 227, 0.2) 0px 25px 25px -5px;
  position: relative;
  overflow: hidden;
}

.experience-card .glass {
  transform-style: preserve-3d;
  position: absolute;
  inset: 8px;
  border-radius: 42px;
  border-top-right-radius: 100%;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.9) 100%);
  transform: translate3d(0px, 0px, 35px);
  border-left: 1px solid rgba(255,255,255,0.9);
  border-bottom: 1px solid rgba(255,255,255,0.9);
  transition: all 0.5s ease-in-out;
}

.experience-card .content {
  padding: 40px 30px 0 30px;
  transform: translate3d(0, 0, 26px);
  position: relative;
  z-index: 2;
}

.experience-card .content .title {
  display: block;
  color: #07111f;
  font-weight: 900;
  font-size: 1.3rem;
  margin-bottom: 8px;
}

.experience-card .content .text {
  display: block;
  color: rgba(7, 17, 31, 0.9);
  font-size: 0.92rem;
  line-height: 1.55;
}

.experience-card .bottom {
  padding: 0 20px 20px;
  transform-style: preserve-3d;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transform: translate3d(0, 0, 26px);
}

.experience-card .logo {
  position: absolute;
  right: 0;
  top: 0;
  transform-style: preserve-3d;
  z-index: 3;
}

.experience-card .logo .circle {
  display: block;
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  top: 0;
  right: 0;
  box-shadow: rgba(100, 100, 111, 0.2) -10px 10px 20px 0px;
  backdrop-filter: blur(5px);
  background: rgba(125, 202, 255, 0.25);
  transition: all 0.5s ease-in-out;
}

.experience-card .logo .circle1 {
  width: 60px;
  transform: translate3d(0, 0, 20px);
  top: 12px;
  right: 12px;
}

.experience-card .logo .circle2 {
  width: 48px;
  transform: translate3d(0, 0, 40px);
  top: 14px;
  right: 14px;
  transition-delay: 0.1s;
}

.experience-card .logo .circle3 {
  width: 36px;
  transform: translate3d(0, 0, 60px);
  top: 18px;
  right: 18px;
  transition-delay: 0.2s;
}

.experience-card .logo .circle4 {
  width: 24px;
  transform: translate3d(0, 0, 80px);
  top: 22px;
  right: 22px;
  transition-delay: 0.3s;
}

.experience-card .logo .circle5 {
  width: 16px;
  transform: translate3d(0, 0, 100px);
  top: 26px;
  right: 26px;
  display: grid;
  place-content: center;
  transition-delay: 0.4s;
  background: rgba(255,255,255,0.9);
}

.experience-card .logo .circle5 .experience-card__mark {
  font-size: 0.7rem;
  font-weight: 900;
  color: #07111f;
  text-shadow: none;
  transform: translate3d(0,0,10px);
}

.experience-card:hover .card,
.experience-card:focus-within .card {
  transform: rotate3d(1, 1, 0, 35deg);
  box-shadow: rgba(82, 119, 227, 0.4) 35px 55px 30px -40px, rgba(82, 119, 227, 0.3) 0px 28px 35px 0px;
}

.experience-card:hover .card .logo .circle2,
.experience-card:focus-within .card .logo .circle2 {
  transform: translate3d(0, 0, 60px);
}

.experience-card:hover .card .logo .circle3,
.experience-card:focus-within .card .logo .circle3 {
  transform: translate3d(0, 0, 80px);
}

.experience-card:hover .card .logo .circle4,
.experience-card:focus-within .card .logo .circle4 {
  transform: translate3d(0, 0, 100px);
}

.experience-card:hover .card .logo .circle5,
.experience-card:focus-within .card .logo .circle5 {
  transform: translate3d(0, 0, 140px);
}

.experience-card[open] .card {
  transform: none;
  box-shadow: 0 20px 38px rgba(3, 7, 18, 0.5), 0 0 34px rgba(120, 174, 255, 0.28);
}

.experience-card[open] .experience-card__face {
  opacity: 0;
  pointer-events: none;
}

.experience-card[open] .experience-card__content {
  transform: rotateX(0deg);
  opacity: 1;
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(14, 25, 52, 0.95), rgba(8, 14, 30, 0.95));
  border-radius: 34px;
  padding: 24px;
  box-sizing: border-box;
  overflow-y: auto;
  scrollbar-width: thin;
}

.experience-card {
  position: relative;
  margin: 0;
  min-height: 300px;
  border-radius: 34px;
  border: 1px solid rgba(163, 214, 255, 0.16);
  background:
    radial-gradient(circle at top right, rgba(84, 205, 236, 0.16), transparent 34%),
    linear-gradient(160deg, rgba(8, 14, 30, 0.96), rgba(12, 20, 43, 0.9));
  box-shadow: 0 0 0 1px rgba(163, 214, 255, 0.08), 0 12px 26px rgba(3, 7, 18, 0.28);
  transform-style: preserve-3d;
  transition: transform 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.45s ease, border-color 0.45s ease;
  overflow: hidden;
}

.experience-card > summary {
  list-style: none;
}

.experience-card > summary::-webkit-details-marker {
  display: none;
}

.experience-card:hover,
.experience-card:focus-within,
.experience-card[open] {
  transform: translateY(-6px) rotate3d(1, 1, 0, 12deg);
  border-color: rgba(179, 227, 255, 0.5);
  box-shadow: 0 24px 44px rgba(3, 7, 18, 0.55), 0 0 40px rgba(120, 174, 255, 0.35);
}

.experience-card__face {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 300px;
  padding: 24px;
  cursor: pointer;
  transform-style: preserve-3d;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.experience-card__badge {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 132px;
  height: 132px;
  transform-style: preserve-3d;
}

.experience-card__ring {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: rgba(100, 100, 111, 0.18) -10px 10px 20px 0px;
  background: rgba(0, 249, 203, 0.12);
  border: 1px solid rgba(179, 227, 255, 0.14);
  backdrop-filter: blur(5px);
  transition: transform 0.45s ease-in-out, background 0.3s ease;
}

.experience-card__ring--1 {
  width: 132px;
  transform: translate3d(0, 0, 18px);
}

.experience-card__ring--2 {
  width: 104px;
  top: 14px;
  right: 14px;
  transform: translate3d(0, 0, 36px);
  transition-delay: 0.12s;
}

.experience-card__ring--3 {
  width: 76px;
  top: 28px;
  right: 28px;
  transform: translate3d(0, 0, 54px);
  transition-delay: 0.24s;
}

.experience-card__ring--4 {
  width: 48px;
  top: 42px;
  right: 42px;
  transform: translate3d(0, 0, 72px);
  transition-delay: 0.36s;
}

.experience-card__mark {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #f4fbff;
  text-shadow: 0 0 16px rgba(90, 229, 255, 0.4);
  transform: translate3d(0, 0, 90px);
}

.experience-card__meta {
  position: relative;
  z-index: 1;
  max-width: calc(100% - 150px);
  padding-top: 92px;
}

.experience-card__tenure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 0.36rem 0.68rem;
  border-radius: 999px;
  border: 1px solid rgba(179, 227, 255, 0.22);
  background: rgba(12, 20, 42, 0.48);
  color: #bfe9ff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.experience-card__role {
  margin: 0;
  color: #f2f8ff;
  font-size: clamp(1.1rem, 2vw, 1.34rem);
  line-height: 1.35;
  font-weight: 800;
}

.experience-card__company {
  margin: 8px 0 0;
  color: rgba(221, 232, 255, 0.8);
  font-size: 0.98rem;
  line-height: 1.55;
}

.experience-card__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 18px;
  color: #8fbaff;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.2s ease, color 0.2s ease;
}

.experience-card__arrow {
  width: 18px;
  height: 18px;
  stroke: #8fbaff;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease, stroke 0.2s ease;
}

.experience-card:hover .experience-card__cta,
.experience-card:focus-within .experience-card__cta,
.experience-card[open] .experience-card__cta {
  transform: translate3d(0, 0, 10px);
  color: #ffffff;
}

.experience-card:hover .experience-card__arrow,
.experience-card:focus-within .experience-card__arrow,
.experience-card[open] .experience-card__arrow {
  transform: translateX(4px);
  stroke: #ffffff;
}

.experience-card__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 24px;
  box-sizing: border-box;
  background: linear-gradient(160deg, rgba(14, 25, 52, 0.95), rgba(8, 14, 30, 0.95));
  border-radius: 34px;
  transform: rotateX(-90deg);
  transform-origin: top;
  transition: all 0.65s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow-y: auto;
  scrollbar-width: thin;
  opacity: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.experience-card[open] .experience-card__content {
  transform: rotateX(0deg);
  opacity: 1;
  pointer-events: none;
}

.experience-card[open] .experience-card__face {
  opacity: 0;
  pointer-events: auto;
}

.experience-card__list {
  margin: 0;
  padding-left: 18px;
  color: rgba(221, 232, 255, 0.9);
  font-size: 0.86rem;
  line-height: 1.65;
}

.experience-card__list li + li {
  margin-top: 7px;
}

.experience-card__modal-title {
  margin: 0 0 8px 0;
  color: #f2f8ff;
  font-size: 1.15rem;
  font-weight: 700;
}

.experience-card__modal-company {
  margin: 0 0 16px 0;
  color: rgba(221, 232, 255, 0.7);
  font-size: 0.9rem;
}

.portfolio-projects {
  margin-top: 24px;
  position: relative;
  overflow: visible;
}

.portfolio-projects::before {
  content: 'PROJECT';
  position: absolute;
  top: 50%;
  left: -320px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-projects.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-projects.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-projects h2 {
  margin: 6px 0 10px;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
}

.portfolio-projects__intro {
  margin: 0 0 18px;
  max-width: 74ch;
}

.projects-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 16px;
  row-gap: 48px;
}

.projects-grid .card {
  position: relative;
  width: min(100%, 200px);
  min-height: 240px;
  justify-self: center;
  border-radius: 18px;
  display: block;
  overflow: visible;
  perspective: 1500px; /* stronger perspective to match exact folder-stack effect */
  box-shadow: 0 0 0 1px rgba(163, 214, 255, 0.16), 0 12px 26px rgba(3, 7, 18, 0.28);
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  background:
    radial-gradient(circle at top, rgba(143, 186, 255, 0.14), transparent 52%),
    linear-gradient(160deg, rgba(8, 14, 30, 0.96), rgba(12, 20, 43, 0.9));
}

.project-card > summary {
  list-style: none;
}

.project-card > summary::-webkit-details-marker {
  display: none;
}

.card__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px;
  cursor: pointer;
  text-align: center;
}

.project-folder-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.project-folder {
  position: relative;
  width: 240px;
  height: 160px;
  cursor: pointer;
  transform-origin: bottom center;
  perspective: 1500px;
}

.folder-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  transition: all 0.3s ease;
}

.folder-work-5 {
  background-size: auto;
  background-position: bottom;
  border-radius: 16px 16px 0 16px;
  filter: brightness(1.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.folder-work-5::after {
  content: '';
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 80px;
  height: 16px;
  border-radius: 16px 16px 0 0;
  background: inherit;
}

.folder-work-5::before {
  content: '';
  position: absolute;
  top: -15px;
  left: 302px;
  width: 16px;
  height: 16px;
  background: inherit;
  clip-path: polygon(0 35%, 0% 100%, 50% 100%);
}

.folder-work-4 {
  inset: 4px;
  background: #a1a1a1;
  transform-origin: bottom center;
}

.folder-work-3 {
  inset: 4px;
  background: #bebebe;
  transform-origin: bottom center;
}

.folder-work-2 {
  inset: 4px;
  background: #e5e5e5;
  transform-origin: bottom center;
}

.folder-work-1 {
  bottom: 0;
  height: 156px;
  border-radius: 16px 16px 0 16px;
  transform-origin: bottom center;
  display: flex;
  align-items: flex-end;
  box-shadow: inset 0 20px 40px rgba(0, 0, 0, 0.2), inset 0 -20px 40px rgba(0, 0, 0, 0.15);
}

.folder-work-1::after {
  content: '';
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 146px;
  height: 16px;
  border-radius: 16px 16px 0 0;
  background: inherit;
}

.folder-work-1::before {
  content: '';
  position: absolute;
  top: -10px;
  right: 142px;
  width: 12px;
  height: 12px;
  background: inherit;
  clip-path: polygon(100% 14%, 50% 100%, 100% 100%);
}

.project-folder--robotics,
.project-folder--uav,
.project-folder--web,
.project-folder--finance,
.project-folder--analytics,
.project-folder--vision,
.project-folder--music,
.project-folder--backend,
.project-folder--design,
.project-folder--ai,
.project-folder--workflow {
  border-radius: 16px;
}

.project-folder--robotics .folder-work-5 {
  background: linear-gradient(160deg, #b88e3f, #8f6820 75%);
}

.project-folder--robotics .folder-work-1 {
  background: linear-gradient(160deg, #b88e3f, #8f6820 75%);
}

.project-folder--uav .folder-work-5 {
  background: linear-gradient(160deg, #6f83d3, #4f67bb 75%);
}

.project-folder--uav .folder-work-1 {
  background: linear-gradient(160deg, #6f83d3, #4f67bb 75%);
}

.project-folder--web .folder-work-5 {
  background: linear-gradient(160deg, #2f9a92, #1f786f 75%);
}

.project-folder--web .folder-work-1 {
  background: linear-gradient(160deg, #2f9a92, #1f786f 75%);
}

.project-folder--finance .folder-work-5 {
  background: linear-gradient(160deg, #5aa86e, #3b8450 75%);
}

.project-folder--finance .folder-work-1 {
  background: linear-gradient(160deg, #5aa86e, #3b8450 75%);
}

.project-folder--analytics .folder-work-5 {
  background: linear-gradient(160deg, #b78636, #925f1a 75%);
}

.project-folder--analytics .folder-work-1 {
  background: linear-gradient(160deg, #b78636, #925f1a 75%);
}

.project-folder--vision .folder-work-5 {
  background: linear-gradient(160deg, #c26157, #964033 75%);
}

.project-folder--vision .folder-work-1 {
  background: linear-gradient(160deg, #c26157, #964033 75%);
}

.project-folder--music .folder-work-5 {
  background: linear-gradient(160deg, #c75d93, #a33974 75%);
}

.project-folder--music .folder-work-1 {
  background: linear-gradient(160deg, #c75d93, #a33974 75%);
}

.project-folder--backend .folder-work-5 {
  background: linear-gradient(160deg, #4f87d0, #345fa8 75%);
}

.project-folder--backend .folder-work-1 {
  background: linear-gradient(160deg, #4f87d0, #345fa8 75%);
}

.project-folder--design .folder-work-5 {
  background: linear-gradient(160deg, #cb7a2d, #a95b17 75%);
}

.project-folder--design .folder-work-1 {
  background: linear-gradient(160deg, #cb7a2d, #a95b17 75%);
}

/* Education rotating cards */
.education-rotator {
  margin-top: 18px;
  width: 100%;
  overflow: visible;
}

.education-rotator .wrapper {
  width: 100%;
  min-height: 420px;
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  padding: 20px 0 36px;
}

.education-rotator .inner {
  --w: 250px;
  --h: 320px;
  --translateZ: 340px;
  --rotateX: -15deg;
  --perspective: 1100px;
  position: relative;
  width: var(--w);
  height: var(--h);
  z-index: 2;
  transform-style: preserve-3d;
  transform: perspective(var(--perspective)) rotateX(var(--rotateX));
  animation: rotating 20s linear infinite;
}

.education-rotator .card {
  position: absolute;
  border: 1px solid rgba(163, 214, 255, 0.18);
  border-radius: 18px;
  overflow: hidden;
  inset: 0;
  box-shadow:
    0 0 0 1px rgba(163, 214, 255, 0.12),
    0 0 24px rgba(125, 173, 255, 0.28),
    0 16px 36px rgba(3, 7, 18, 0.42);
  transform: rotateY(calc((360deg / var(--quantity)) * var(--index))) translateZ(var(--translateZ));
  background: linear-gradient(160deg, rgba(8, 14, 30, 0.96), rgba(12, 20, 43, 0.92));
}

.education-rotator .img {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  color: #f2f8ff;
  background:
    radial-gradient(circle at 50% 15%, rgba(var(--color-card), 0.24) 0%, transparent 42%),
    linear-gradient(180deg, rgba(6, 10, 24, 0.2), rgba(6, 10, 24, 0.7));
}

.education-rotator .img::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(var(--color-card), 0.12), transparent 44%, rgba(255, 255, 255, 0.03));
  pointer-events: none;
}

.education-rotator__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  text-align: left;
}

.education-rotator__year {
  display: inline-flex;
  width: fit-content;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(11, 22, 45, 0.82);
  border: 1px solid rgba(163, 214, 255, 0.16);
  color: #dcecff;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}

.education-rotator__content h3 {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.25;
  color: #f4f9ff;
  overflow-wrap: anywhere;
}

.education-rotator__content p {
  margin: 0;
  font-size: 0.98rem;
  color: rgba(226, 236, 255, 0.9);
  line-height: 1.45;
}

.education-rotator__detail {
  display: block;
  margin-top: 4px;
  font-size: 0.84rem;
  line-height: 1.45;
  color: rgba(210, 224, 255, 0.85);
  overflow-wrap: anywhere;
}

.education-rotator .card:nth-child(1) .img {
  background-color: rgba(8, 14, 30, 0.92);
}

.education-rotator .card:nth-child(2) .img {
  background-color: rgba(10, 17, 34, 0.92);
}

.education-rotator .card:nth-child(3) .img {
  background-color: rgba(12, 19, 39, 0.92);
}

@keyframes rotating {
  from {
    transform: perspective(var(--perspective)) rotateX(var(--rotateX)) rotateY(0);
  }

  to {
    transform: perspective(var(--perspective)) rotateX(var(--rotateX)) rotateY(1turn);
  }
}

@media (max-width: 1040px) {
  .education-rotator .inner {
    --w: 230px;
    --h: 300px;
    --translateZ: 300px;
  }

  .education-rotator .wrapper {
    min-height: 380px;
  }
}

@media (max-width: 680px) {
  .education-rotator .inner {
    --w: 200px;
    --h: 280px;
    --translateZ: 255px;
  }

  .education-rotator .wrapper {
    min-height: 340px;
  }
}

.project-folder--ai .folder-work-5 {
  background: linear-gradient(160deg, #8661cf, #6445ad 75%);
}

.project-folder--ai .folder-work-1 {
  background: linear-gradient(160deg, #8661cf, #6445ad 75%);
}

.project-folder--workflow .folder-work-5 {
  background: linear-gradient(160deg, #4c8dd0, #2d66ad 75%);
}

.project-folder--workflow .folder-work-1 {
  background: linear-gradient(160deg, #4c8dd0, #2d66ad 75%);
}

.project-card:hover .folder-work-4,
.project-card[open] .folder-work-4 {
  transform: rotateX(-20deg);
}

.project-card:hover .folder-work-3,
.project-card[open] .folder-work-3 {
  transform: rotateX(-30deg);
}

.project-card:hover .folder-work-2,
.project-card[open] .folder-work-2 {
  transform: rotateX(-38deg);
}

.project-card:hover .folder-work-1,
.project-card[open] .folder-work-1 {
  transform: rotateX(-46deg) translateY(1px);
}

.card__project-name {
  display: block;
  margin: 0;
  max-width: 190px;
  color: #edf4ff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-wrap: balance;
}

.projects-grid .card:hover,
.projects-grid .card[open] {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 18px 34px rgba(3, 7, 18, 0.34), 0 0 24px rgba(120, 174, 255, 0.14);
}

.card__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 18px;
  box-sizing: border-box;
  background: linear-gradient(160deg, rgba(14, 25, 52, 0.95), rgba(8, 14, 30, 0.95));
  transform: rotateX(-90deg);
  transform-origin: bottom;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow-y: auto;
  scrollbar-width: thin;
}

.project-card:hover .card__content,
.project-card:focus-within .card__content,
.project-card[open] .card__content {
  transform: rotateX(0deg);
}

.project-card:hover .project-theme-icon,
.project-card:focus-within .project-theme-icon,
.project-card[open] .project-theme-icon {
  opacity: 0;
}

.card__title {
  margin: 0;
  font-size: 1rem;
  color: #f0f6ff;
  font-weight: 700;
  line-height: 1.35;
}

.card__list {
  margin: 10px 0 0;
  padding-left: 16px;
  color: rgba(221, 232, 255, 0.9);
  font-size: 0.78rem;
  line-height: 1.5;
}

.card__list li + li {
  margin-top: 5px;
}

.card__description {
  margin: 10px 0 0;
  font-size: 0.75rem;
  color: rgba(211, 227, 255, 0.92);
  line-height: 1.45;
}

.tech-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 12px;
  justify-items: center;
  justify-content: center;
}

.tech-card {
  width: 100%;
  max-width: 132px;
  height: 160px;
  perspective: 1000px;
  font-family: inherit;
}

.tech-bottom-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.portfolio-achievements {
  margin-top: 22px;
  margin-bottom: 4px;
  position: relative;
  overflow: visible;
}

.portfolio-achievements::before {
  content: 'GLORY';
  position: absolute;
  top: 50%;
  left: -255px;
  display: block;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  white-space: nowrap;
  font-size: 4.9rem;
  font-weight: 900;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(214, 232, 255, 0.78);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
  pointer-events: none;
  z-index: 3;
  transition: text-shadow 0.3s ease, color 0.3s ease;
}

.portfolio-achievements.section-active::before {
  color: rgba(214, 232, 255, 0.95);
  text-shadow: 0 0 20px rgba(125, 173, 255, 0.8), 0 0 40px rgba(89, 18, 147, 0.6), 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-achievements.section-fade::before {
  color: rgba(214, 232, 255, 0.4);
  text-shadow: 0 10px 24px rgba(2, 7, 18, 0.35);
}

.portfolio-achievements h2 {
  margin: 6px 0 12px;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
}

.portfolio-achievements__intro {
  margin: 0 0 22px;
  max-width: 62rem;
}

.achievement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.achievement-card {
  width: 100%;
  max-width: 100%;
  height: 200px;
  position: relative;
  perspective: 1000px;
  font-family: inherit;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(163, 214, 255, 0.22);
  background: linear-gradient(160deg, rgba(9, 16, 34, 0.98), rgba(12, 22, 49, 0.94));
  box-shadow:
    0 0 0 1px rgba(163, 214, 255, 0.1),
    0 0 18px rgba(125, 173, 255, 0.22),
    0 0 36px rgba(125, 173, 255, 0.12),
    0 16px 34px rgba(3, 7, 18, 0.34);
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.6s ease;
}

.achievement-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(125, 173, 255, 0.95), rgba(142, 249, 252, 0.45), rgba(204, 142, 252, 0.85));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.85;
  pointer-events: none;
  box-shadow:
    0 0 12px rgba(125, 173, 255, 0.45),
    0 0 24px rgba(142, 249, 252, 0.22),
    0 0 36px rgba(204, 142, 252, 0.18);
}

.achievement-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top, rgba(125, 173, 255, 0.18), transparent 48%);
  pointer-events: none;
}

.achievement-card:hover {
  transform: scale(1.05);
  box-shadow:
    0 0 0 1px rgba(163, 214, 255, 0.2),
    0 0 22px rgba(125, 173, 255, 0.34),
    0 0 46px rgba(125, 173, 255, 0.2),
    0 20px 40px rgba(3, 7, 18, 0.42);
  border-color: rgba(183, 227, 255, 0.5);
}

.achievement-card > .card__title {
  position: absolute;
  inset: 0;
  z-index: 2;
  margin: 0;
  padding: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 18px;
  line-height: 1.25;
  color: #f5f9ff;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 10px rgba(4, 8, 20, 0.45);
  transform: none;
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.achievement-card .card__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
  background: linear-gradient(160deg, rgba(10, 17, 34, 0.97), rgba(8, 14, 30, 0.97));
  transform: rotateX(-90deg);
  transform-origin: bottom;
  transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  border-radius: 10px;
  z-index: 3;
}

.achievement-card:hover .card__content {
  transform: rotateX(0deg);
}

.achievement-card:hover > .card__title {
  opacity: 0;
  transform: translateY(-8px);
}

.achievement-card .card__title {
  margin: 0;
  font-size: 20px;
  color: #f5f9ff;
  font-weight: 700;
}

.achievement-card .card__description {
  margin: 10px 0 0;
  font-size: 14px;
  color: rgba(221, 232, 255, 0.86);
  line-height: 1.4;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.tour-hover .flip-card-inner {
  transform: rotateY(180deg);
}

.tour-hover .project-card .card__content {
  transform: rotateX(0deg);
}

.tour-hover .project-card .project-theme-icon,
.tour-hover .project-card .project-theme-icon {
  opacity: 0;
}

.tour-hover .project-card .folder-work-4 {
  transform: rotateX(-20deg);
}

.tour-hover .project-card .folder-work-3 {
  transform: rotateX(-30deg);
}

.tour-hover .project-card .folder-work-2 {
  transform: rotateX(-38deg);
}

.tour-hover .project-card .folder-work-1 {
  transform: rotateX(-46deg) translateY(1px);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 18px;
  border: 1px solid rgba(163, 214, 255, 0.16);
  box-shadow: 0 12px 26px rgba(3, 7, 18, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}

.flip-card-front {
  background:
    radial-gradient(circle at top, rgba(143, 186, 255, 0.2), transparent 48%),
    linear-gradient(160deg, rgba(9, 16, 34, 0.98), rgba(12, 22, 49, 0.94));
  color: #f0f6ff;
}

.flip-card-back {
  background: linear-gradient(160deg, rgba(14, 25, 52, 0.94), rgba(8, 14, 30, 0.94));
  color: rgba(231, 240, 255, 0.92);
  transform: rotateY(180deg);
  padding: 10px;
}

.tech-card__icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(143, 186, 255, 0.24), rgba(94, 146, 255, 0.12));
  color: #ffffff;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tech-card .title {
  font-size: 0.88rem;
  font-weight: 800;
  margin: 0;
}

.tech-card__back .title,
.flip-card-back .title {
  font-size: 0.84rem;
  margin: 0;
}

.tech-card__back p:last-child,
.flip-card-back p:last-child {
  margin: 0;
  font-size: 0.65rem;
  line-height: 1.32;
  color: rgba(221, 232, 255, 0.86);
}

.tech-card__front--cpp { box-shadow: 0 0 0 1px rgba(112, 186, 255, 0.18), 0 0 20px rgba(112, 186, 255, 0.08); }
.tech-card__front--python { box-shadow: 0 0 0 1px rgba(255, 211, 111, 0.18), 0 0 20px rgba(255, 211, 111, 0.08); }
.tech-card__front--javascript { box-shadow: 0 0 0 1px rgba(255, 214, 102, 0.18), 0 0 20px rgba(255, 214, 102, 0.08); }
.tech-card__front--csharp { box-shadow: 0 0 0 1px rgba(168, 122, 255, 0.18), 0 0 20px rgba(168, 122, 255, 0.08); }
.tech-card__front--html { box-shadow: 0 0 0 1px rgba(255, 145, 100, 0.18), 0 0 20px rgba(255, 145, 100, 0.08); }
.tech-card__front--css { box-shadow: 0 0 0 1px rgba(92, 179, 255, 0.18), 0 0 20px rgba(92, 179, 255, 0.08); }
.tech-card__front--react { box-shadow: 0 0 0 1px rgba(125, 202, 255, 0.18), 0 0 20px rgba(125, 202, 255, 0.08); }
.tech-card__front--node { box-shadow: 0 0 0 1px rgba(127, 214, 161, 0.18), 0 0 20px rgba(127, 214, 161, 0.08); }
.tech-card__front--sql { box-shadow: 0 0 0 1px rgba(147, 183, 255, 0.18), 0 0 20px rgba(147, 183, 255, 0.08); }
.tech-card__front--mongo { box-shadow: 0 0 0 1px rgba(118, 205, 127, 0.18), 0 0 20px rgba(118, 205, 127, 0.08); }
.tech-card__front--ml { box-shadow: 0 0 0 1px rgba(157, 129, 255, 0.18), 0 0 20px rgba(157, 129, 255, 0.08); }
.tech-card__front--powerbi { box-shadow: 0 0 0 1px rgba(255, 198, 92, 0.18), 0 0 20px rgba(255, 198, 92, 0.08); }
.tech-card__front--analytics { box-shadow: 0 0 0 1px rgba(113, 209, 255, 0.18), 0 0 20px rgba(113, 209, 255, 0.08); }
.tech-card__front--simulations { box-shadow: 0 0 0 1px rgba(255, 160, 122, 0.18), 0 0 20px rgba(255, 160, 122, 0.08); }
.tech-card__front--git { box-shadow: 0 0 0 1px rgba(255, 138, 109, 0.18), 0 0 20px rgba(255, 138, 109, 0.08); }
.tech-card__front--github { box-shadow: 0 0 0 1px rgba(210, 220, 255, 0.18), 0 0 20px rgba(210, 220, 255, 0.08); }
.tech-card__front--vscode { box-shadow: 0 0 0 1px rgba(97, 171, 255, 0.18), 0 0 20px rgba(97, 171, 255, 0.08); }
.tech-card__front--canva { box-shadow: 0 0 0 1px rgba(94, 234, 212, 0.18), 0 0 20px rgba(94, 234, 212, 0.08); }
.tech-card__front--blender { box-shadow: 0 0 0 1px rgba(255, 176, 88, 0.18), 0 0 20px rgba(255, 176, 88, 0.08); }
.tech-card__front--arduino { box-shadow: 0 0 0 1px rgba(123, 210, 255, 0.18), 0 0 20px rgba(123, 210, 255, 0.08); }

.tech-card__front--cpp,
.tech-card__front--python,
.tech-card__front--javascript,
.tech-card__front--csharp,
.tech-card__front--html,
.tech-card__front--css,
.tech-card__front--react,
.tech-card__front--node,
.tech-card__front--sql,
.tech-card__front--mongo,
.tech-card__front--ml,
.tech-card__front--powerbi,
.tech-card__front--analytics,
.tech-card__front--simulations,
.tech-card__front--git,
.tech-card__front--github,
.tech-card__front--vscode,
.tech-card__front--canva,
.tech-card__front--blender,
.tech-card__front--arduino,
.tech-card__front--obs {
  background:
    radial-gradient(circle at top, rgba(143, 186, 255, 0.1), transparent 52%),
    linear-gradient(160deg, rgba(8, 14, 30, 0.96), rgba(12, 20, 43, 0.9));
}

.portfolio-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 28px;
  padding: 28px;
}

.portfolio-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) auto minmax(240px, 0.9fr);
  gap: 24px;
  align-items: start;
  margin-top: 24px;
  padding: 26px 28px;
  border-radius: 30px;
  background: linear-gradient(160deg, rgba(6, 11, 24, 0.9), rgba(11, 18, 38, 0.8));
  border: 1px solid rgba(163, 214, 255, 0.16);
  box-shadow: 0 18px 44px rgba(3, 7, 18, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
}

.portfolio-footer__headline {
  margin: 0 0 10px;
  color: #f0f6ff;
  font-size: 1.05rem;
  line-height: 1.55;
  font-weight: 700;
}

.portfolio-footer__note,
.portfolio-footer__contact p {
  margin: 0;
  color: rgba(221, 232, 255, 0.82);
  line-height: 1.7;
}

.portfolio-footer__contact a {
  color: #8fbaff;
  text-decoration: none;
}

.portfolio-footer__contact a:hover,
.portfolio-footer__links a:hover {
  color: #ffffff;
}

.portfolio-footer__cta > .portfolio-footer__connect-btn {
  width: min(220px, 100%);
  min-height: 60px;
  padding: 0.9rem 1.25rem;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(12, 20, 42, 0.92), rgba(18, 29, 58, 0.82));
  border: 1px solid rgba(163, 214, 255, 0.2);
  color: #edf4ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 12px 28px rgba(2, 6, 18, 0.26);
  backdrop-filter: blur(12px);
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  line-height: 1.2;
  transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.portfolio-footer__connect-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(179, 227, 255, 0.42);
  background: linear-gradient(160deg, rgba(17, 28, 56, 0.96), rgba(27, 41, 78, 0.9));
  box-shadow: 0 14px 30px rgba(2, 6, 18, 0.3), 0 0 24px rgba(125, 173, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.portfolio-footer__connect-btn:active {
  transform: translateY(-1px);
}

.portfolio-shell a:focus-visible,
.portfolio-shell button:focus-visible {
  outline: 2px solid rgba(179, 227, 255, 0.6);
  outline-offset: 3px;
}

.connect-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.connect-modal.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.connect-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 10, 20, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.connect-modal__content {
  position: relative;
  z-index: 2;
  width: min(520px, calc(100vw - 32px));
  background: linear-gradient(160deg, rgba(9, 17, 38, 0.95), rgba(14, 25, 52, 0.88));
  border: 1px solid rgba(163, 214, 255, 0.18);
  border-radius: 28px;
  box-shadow: 0 24px 56px rgba(2, 6, 18, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  padding: 36px;
  transform-origin: bottom center;
  animation: modalExpandFromButton 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalExpandFromButton {
  from {
    opacity: 0;
    transform: scale(0.3) translateY(100px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.connect-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(125, 173, 255, 0.12);
  color: #edf4ff;
  font-size: 1.6rem;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.22s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.connect-modal__close:hover {
  background: rgba(125, 173, 255, 0.24);
  color: #ffffff;
}

.project-code-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 120;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.36s ease, visibility 0.36s ease;
}

.project-code-modal.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.project-code-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.project-code-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 10, 20, 0.6);
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  opacity: 0;
  transition: opacity 260ms ease;
}

.project-code-modal__dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: fit-content;
  max-width: min(92vw, 720px);
  transform: translate(calc(var(--popup-start-x, 50vw) - 50vw), calc(var(--popup-start-y, 50vh) - 50vh)) scale(var(--dialog-scale-start, 0.22));
  opacity: 0;
  transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 260ms ease, box-shadow 260ms ease;
}

.project-code-modal.is-open .project-code-modal__dialog {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  box-shadow: 0 40px 80px rgba(16, 18, 30, 0.6), 0 12px 30px rgba(12, 14, 22, 0.4);
}

.project-code-modal.is-open .project-code-modal__backdrop {
  opacity: 1;
}

.project-code-modal__close {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 18px;
  height: 18px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6b66, #ff564f);
  border: 1px solid rgba(255, 255, 255, 0.12);
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(2, 6, 18, 0.36);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: transform 160ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 160ms ease;
}

.project-code-modal__close:hover {
  transform: scale(1.08);
  box-shadow: 0 10px 22px rgba(2, 6, 18, 0.44);
}

.project-code-modal__close::before {
  content: '×';
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 700;
}

.code-popup-card {
  width: fit-content;
  max-width: min(92vw, 720px);
  margin: 0 auto;
  background: linear-gradient(160deg, rgba(34,34,52,0.98), rgba(28,28,46,0.98));
  border-radius: 10px;
  z-index: 1;
  box-shadow: 0 12px 36px rgba(2, 6, 18, 0.5);
  transition: 0.5s;
}

.code-popup-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.7);
}

.code-popup-top {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px 10px;
}

.code-popup-header {
  margin: 5px;
  margin-top: 5px;
  border-radius: 5px;
}

.code-popup-title {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
  margin: 0;
  text-align: center;
}

.code-popup-body {
  text-align: center;
  padding: 0 16px 16px;
}

.project-code-area {
  display: inline-block;
  width: fit-content;
  min-width: 260px;
  max-width: min(92vw, 680px);
  background-color: rgb(73, 70, 92);
  border-radius: 5px;
  border: none;
  color: #ffffff;
  padding: 10px;
  font-family: Consolas, 'Courier New', monospace;
  font-size: 0.77rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  overflow: visible;
}

.project-code-area a {
  color: #8fd4ff;
  text-decoration: underline;
}

.project-code-area a:hover {
  color: #ffffff;
}

.project-code-area:focus {
  outline: none !important;
}

.project-code-modal .code-popup-card:hover {
  transform: none;
}

.connect-modal__content h2 {
  margin: 0 0 24px;
  color: #f0f6ff;
  font-size: 1.8rem;
  letter-spacing: -0.02em;
}

.connect-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.connect-form__group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.connect-form__group label {
  color: #8fbaff;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.connect-form__group input,
.connect-form__group textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(163, 214, 255, 0.2);
  border-radius: 12px;
  background: rgba(7, 12, 25, 0.6);
  color: #edf4ff;
  font-family: inherit;
  font-size: 0.95rem;
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  position: relative;
}

.connect-form__group input::placeholder,
.connect-form__group textarea::placeholder {
  color: rgba(143, 186, 255, 0.56);
  transition: color 0.28s ease;
}

.connect-form__group input:hover,
.connect-form__group textarea:hover {
  border-color: rgba(179, 227, 255, 0.32);
  background: rgba(9, 16, 34, 0.72);
  box-shadow: 0 0 12px rgba(125, 173, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transform: translateY(-1px);
}

.connect-form__group input:focus,
.connect-form__group textarea:focus {
  border-color: rgba(179, 227, 255, 0.52);
  background: rgba(9, 16, 34, 0.9);
  box-shadow: 0 0 20px rgba(125, 173, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}

.connect-form__group input:focus::placeholder,
.connect-form__group textarea:focus::placeholder {
  color: rgba(143, 186, 255, 0.75);
}

.connect-form__group textarea {
  resize: vertical;
  min-height: 120px;
  font-family: inherit;
}

.connect-form__submit {
  min-height: 48px;
  padding: 12px 16px;
  margin-top: 8px;
  border: 1px solid rgba(163, 214, 255, 0.24);
  border-radius: 12px;
  background: linear-gradient(135deg, #75adff 0%, #5277e3 100%);
  color: #07111f;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 12px 24px rgba(82, 119, 227, 0.3);
}

.connect-form__submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(82, 119, 227, 0.5);
  background: linear-gradient(135deg, #85b5ff 0%, #6587ff 100%);
}

.connect-form__submit:active {
  transform: translateY(-1px);
}

.thank-you-popup {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  animation: popupFadeIn 0.3s ease-out;
}

@keyframes popupFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes popupFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.thank-you-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 10, 20, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.thank-you-popup__content {
  position: relative;
  z-index: 2;
  width: min(450px, calc(100vw - 32px));
  background: linear-gradient(160deg, rgba(9, 17, 38, 0.95), rgba(14, 25, 52, 0.88));
  border: 1px solid rgba(163, 214, 255, 0.18);
  border-radius: 28px;
  box-shadow: 0 24px 56px rgba(2, 6, 18, 0.44), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  padding: 48px 36px;
  text-align: center;
  animation: popupContentBounce 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes popupContentBounce {
  from {
    opacity: 0;
    transform: scale(0.6) translateY(-30px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.thank-you-popup__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  background: linear-gradient(135deg, #75adff 0%, #5277e3 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  animation: iconRotate 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes iconRotate {
  from {
    transform: scale(0) rotate(-180deg);
  }
  to {
    transform: scale(1) rotate(0);
  }
}

.thank-you-popup__title {
  color: #f0f6ff;
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

.thank-you-popup__message {
  color: #c8d7f0;
  font-size: 0.95rem;
  margin: 0 0 24px;
  line-height: 1.6;
}

.thank-you-popup__button {
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid rgba(163, 214, 255, 0.24);
  border-radius: 12px;
  background: linear-gradient(135deg, #75adff 0%, #5277e3 100%);
  color: #07111f;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.28s ease;
  box-shadow: 0 8px 16px rgba(82, 119, 227, 0.25);
}

.thank-you-popup__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(82, 119, 227, 0.4);
}

.thank-you-popup__button:active {
  transform: translateY(0);
}

/* --- GALAXY BUTTON (THEME-ADAPTED) --- */
.galaxy-btn {
  /* Scoped Variables - Adapted to portfolio theme */
  --btn-bg: #0b142b;
  --btn-text: #edf4ff;
  --btn-primary: #8fbaff; /* Portfolio blue accent */
  --btn-secondary: #5fa3ff; /* Lighter blue */
  --btn-accent: #7dd5ff; /* Cyan accent */
  --btn-font-size: 0.95rem;

  /* Layout & Sizing */
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--btn-font-size);
  padding: 0.8em 1.6em;
  border-radius: 12px;
  border: none;
  background: var(--btn-bg);
  position: relative;
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  /* Shadow */
  box-shadow: 0 12px 28px rgba(125, 173, 255, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Accessible Focus State */
.galaxy-btn:focus-visible {
  outline: 2px solid var(--btn-primary);
  outline-offset: 4px;
}

/* Active Click State */
.galaxy-btn:active {
  transform: scale(0.96);
}

/* Interior Content */
.galaxy-btn__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  position: relative;
  z-index: 2;
  color: var(--btn-text);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* SVG Icon Styling */
.galaxy-btn__icon {
  width: 1.1em;
  height: 1.1em;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  fill: var(--btn-text);
}

/* Hover: Move Icon */
.galaxy-btn:hover .galaxy-btn__icon {
  transform: translateX(3px) rotate(-8deg);
}

/* The Rotating Gradient Border (Nebula Effect) */
.galaxy-btn::before {
  content: "";
  position: absolute;
  inset: -3px;
  z-index: 0;
  background: conic-gradient(
    from 0deg,
    var(--btn-bg) 0deg,
    var(--btn-primary) 60deg,
    var(--btn-secondary) 120deg,
    var(--btn-accent) 180deg,
    var(--btn-primary) 240deg,
    var(--btn-secondary) 300deg,
    var(--btn-bg) 360deg
  );
  border-radius: 12px;
  animation: nebula-rotate 5s linear infinite;
  filter: blur(10px);
  opacity: 0.6;
  transition: opacity 0.3s ease, animation-duration 0.3s ease;
}

.galaxy-btn:hover::before {
  opacity: 0.9;
  animation-duration: 2.5s;
  filter: blur(12px);
}

/* Inner mask for border effect */
.galaxy-btn::after {
  content: "";
  position: absolute;
  inset: 1px;
  background: var(--btn-bg);
  border-radius: 11px;
  z-index: 1;
}

/* Star animation inside button */
.galaxy-btn__stars {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: 
    radial-gradient(circle at 25% 35%, rgba(255, 255, 255, 0.8) 1px, transparent 1.5px),
    radial-gradient(circle at 75% 65%, rgba(255, 255, 255, 0.6) 0.8px, transparent 1.2px),
    radial-gradient(circle at 45% 85%, rgba(255, 255, 255, 0.7) 0.5px, transparent 0.8px);
  background-size: 100% 100%;
  opacity: 0.4;
  border-radius: 12px;
  transition: opacity 0.3s ease;
}

.galaxy-btn:hover .galaxy-btn__stars {
  opacity: 0.8;
  animation: stars-shimmer 4s ease-in-out infinite;
}

/* Glow effect wrapper */
.galaxy-btn__glow {
  position: absolute;
  inset: -6px;
  border-radius: 12px;
  background: radial-gradient(circle at center, rgba(125, 173, 255, 0.3) 0%, transparent 70%);
  z-index: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.galaxy-btn:hover .galaxy-btn__glow {
  opacity: 1;
}

/* Keyframes */
@keyframes nebula-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes stars-shimmer {
  0%, 100% {
    opacity: 0.8;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

@media (max-width: 980px) {
  .achievement-grid {
    grid-template-columns: 1fr;
  }

  .galaxy-btn {
    padding: 0.7em 1.4em;
    font-size: 0.9rem;
  }

  .galaxy-btn__icon {
    width: 1em;
    height: 1em;
  }
}

@media (max-width: 640px) {
  .galaxy-btn {
    padding: 0.65em 1.2em;
    font-size: 0.85rem;
  }
}

@media (max-width: 980px) {
  .portfolio-hero,
  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .experience-grid {
    grid-template-columns: 1fr;
  }

  .portfolio-hero__copy {
    text-align: center;
  }

  .portfolio-hero__visual {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }

  .portfolio-about {
    grid-template-columns: 1fr;
  }

  .portfolio-about__visual {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }

  .portfolio-about__visual--card {
    max-width: 320px;
  }

  .portfolio-hero__actions,
  .portfolio-tabs,
  .portfolio-contact {
    justify-content: center;
  }

  .portfolio-hero__copy,
  .portfolio-hero__card,
  .portfolio-panel,
  .portfolio-contact {
    padding-left: 22px;
    padding-right: 22px;
  }

  .portfolio-footer {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .connect-modal__content {
    width: calc(100vw - 28px);
    padding: 28px 24px;
  }

  .connect-modal__content h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }

  .social-card ul {
    justify-content: center;
  }

  .portfolio-link--resume {
    width: fit-content;
    margin: 0 auto;
  }

  .weather-dock {
    top: 14px;
    right: 14px;
    width: min(292px, calc(100vw - 16px));
  }
}

@media (max-width: 640px) {
  .portfolio-shell {
    width: calc(100vw - 24px);
    padding-top: 22px;
    padding-bottom: 52px;
  }

  .projects-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .experience-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .projects-grid .card {
    width: 100%;
    min-height: 236px;
  }

  .experience-card {
    min-height: 272px;
    border-radius: 24px;
  }

  .experience-card__face {
    min-height: 272px;
    padding: 20px;
  }

  .experience-card__badge {
    width: 108px;
    height: 108px;
    top: 14px;
    right: 14px;
  }

  .experience-card__ring--1 {
    width: 108px;
  }

  .experience-card__ring--2 {
    width: 86px;
    top: 11px;
    right: 11px;
  }

  .experience-card__ring--3 {
    width: 62px;
    top: 22px;
    right: 22px;
  }

  .experience-card__ring--4 {
    width: 40px;
    top: 32px;
    right: 32px;
  }

  .experience-card__meta {
    max-width: calc(100% - 124px);
    padding-top: 84px;
  }

  .card__title {
    font-size: 0.95rem;
  }

  .card__list {
    font-size: 0.76rem;
  }

  .portfolio-hero__copy,
  .portfolio-hero__card,
  .portfolio-panel,
  .portfolio-contact {
    border-radius: 22px;
  }

  .portfolio-footer {
    border-radius: 22px;
    padding: 22px;
  }

  .portfolio-hero__portrait {
    border-radius: 24px;
  }

  .portfolio-about__visual {
    border-radius: 24px;
  }

  .portfolio-about__visual--card {
    padding: 0;
  }

  .portfolio-about__visual--card .card {
    height: 260px;
  }

  .portfolio-experience__intro {
    margin-bottom: 14px;
  }

  .experience-card__role {
    font-size: 1rem;
  }

  .experience-card__company {
    font-size: 0.9rem;
  }

  .experience-card__list {
    font-size: 0.8rem;
  }

  .social-card ul {
    gap: 8px;
    padding: 9px 10px;
  }

  .social-card .svg {
    width: 44px;
    height: 44px;
    padding: 0.66rem;
  }

  .weather-dock {
    position: absolute;
    top: 10px;
    right: 8px;
    width: min(272px, calc(100vw - 14px));
  }

  .weather-metrics--bottom {
    grid-template-columns: 1fr;
  }

  .connect-form__group {
    gap: 6px;
  }

  .connect-form__group input,
  .connect-form__group textarea {
    padding: 10px 12px;
    font-size: 0.9rem;
  }

  .thank-you-popup__content {
    padding: 36px 24px;
  }

  .thank-you-popup__title {
    font-size: 1.4rem;
  }

  .thank-you-popup__icon {
    width: 56px;
    height: 56px;
    font-size: 28px;
  }
}

.jarvis-button {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border: 1px solid rgba(163, 214, 255, 0.34);
  color: #ecf6ff;
  background:
    linear-gradient(135deg, rgba(38, 65, 129, 0.72), rgba(11, 18, 40, 0.9)),
    radial-gradient(circle at top, rgba(125, 202, 255, 0.18), transparent 60%);
  padding: 1rem 1.7rem;
  border-radius: 999px;
  cursor: pointer;
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: opacity 0.45s ease, transform 0.45s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
  z-index: 3;
  margin-top: 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  box-shadow:
    0 14px 34px rgba(5, 10, 24, 0.45),
    0 0 0 1px rgba(163, 214, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

.jarvis-button__label {
  position: relative;
  z-index: 2;
}

.jarvis-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 18%, rgba(255, 255, 255, 0.12) 48%, transparent 72%);
  transform: translateX(-130%);
  transition: transform 0.75s ease;
  pointer-events: none;
}

.jarvis-button.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.jarvis-button:hover,
.jarvis-button:focus {
  background:
    linear-gradient(135deg, rgba(52, 92, 185, 0.86), rgba(13, 23, 52, 0.96)),
    radial-gradient(circle at top, rgba(125, 202, 255, 0.3), transparent 58%);
  border-color: rgba(179, 227, 255, 0.72);
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 16px 34px rgba(5, 10, 24, 0.5),
    0 0 0 1px rgba(179, 227, 255, 0.16),
    0 0 28px rgba(125, 202, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  filter: saturate(1.08);
}

.jarvis-button:hover::before,
.jarvis-button:focus::before {
  transform: translateX(120%);
}

.jarvis-button:focus-visible {
  outline: none;
  box-shadow:
    0 16px 34px rgba(5, 10, 24, 0.5),
    0 0 0 3px rgba(179, 227, 255, 0.2),
    0 0 0 1px rgba(179, 227, 255, 0.3),
    0 0 28px rgba(125, 202, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.jarvis-button:active {
  transform: translateY(-1px) scale(0.99);
  box-shadow:
    0 10px 22px rgba(5, 10, 24, 0.38),
    0 0 18px rgba(125, 202, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.jarvis-button svg {
  display: block;
  width: 100%;
  height: 100%;
}

.jarvis-button .fil0 {
  fill: #e6f4ff;
}

.star-1,
.star-2,
.star-3,
.star-4,
.star-5,
.star-6 {
  position: absolute;
  height: auto;
  filter: drop-shadow(0 0 0 rgba(227, 245, 255, 0));
  z-index: 1;
  pointer-events: none;
}

.jarvis-button.hide,
.loader-bar.hide,
.loader.hide,
.loader-letter.fade-away {
  opacity: 0;
}

.jarvis-button.hide {
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px);
}

.star-1 {
  top: 18%;
  left: 16%;
  width: 24px;
  transition: all 0.95s cubic-bezier(0.05, 0.83, 0.43, 0.96);
}

.star-2 {
  top: 44%;
  left: 42%;
  width: 14px;
  transition: all 0.95s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-3 {
  top: 38%;
  left: 37%;
  width: 6px;
  transition: all 0.95s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-4 {
  top: 18%;
  left: 39%;
  width: 8px;
  transition: all 0.8s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-5 {
  top: 24%;
  left: 46%;
  width: 14px;
  transition: all 0.6s cubic-bezier(0, 0.4, 0, 1.01);
}

.star-6 {
  top: 6%;
  left: 52%;
  width: 6px;
  transition: all 0.8s ease;
}

.jarvis-button:hover .star-1,
.jarvis-button:focus .star-1 {
  top: -72%;
  left: -28%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.jarvis-button:hover .star-2,
.jarvis-button:focus .star-2 {
  top: -20%;
  left: 12%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.jarvis-button:hover .star-3,
.jarvis-button:focus .star-3 {
  top: 56%;
  left: 24%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.jarvis-button:hover .star-4,
.jarvis-button:focus .star-4 {
  top: 30%;
  left: 80%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.jarvis-button:hover .star-5,
.jarvis-button:focus .star-5 {
  top: 20%;
  left: 116%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.jarvis-button:hover .star-6,
.jarvis-button:focus .star-6 {
  top: 2%;
  left: 60%;
  filter: drop-shadow(0 0 10px rgba(227, 245, 255, 0.85));
}

.loader-bar.hide {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

.loader {
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.loader-letter {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  opacity: 0;
  font-family: 'Great Vibes', cursive;
  --x: 0px;
  --y: 20px;
  transform: translate(-50%, -50%) translateX(var(--x)) translateY(var(--y));
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.loader-letter:nth-child(1) { --x: -90px; }
.loader-letter:nth-child(2) { --x: -60px; }
.loader-letter:nth-child(3) { --x: -30px; }
.loader-letter:nth-child(4) { --x: 0px; }
.loader-letter:nth-child(5) { --x: 30px; }
.loader-letter:nth-child(6) { --x: 60px; }
.loader-letter:nth-child(7) { --x: 90px; }
.loader-letter:nth-child(8) { --x: 120px; }

.page-center.welcome-active .loader-letter {
  opacity: 1;
  --y: 0px;
}

.page-center.welcome-active .loader-letter:nth-child(1) { transition-delay: 0.2s; }
.page-center.welcome-active .loader-letter:nth-child(2) { transition-delay: 0.4s; }
.page-center.welcome-active .loader-letter:nth-child(3) { transition-delay: 0.6s; }
.page-center.welcome-active .loader-letter:nth-child(4) { transition-delay: 0.8s; }
.page-center.welcome-active .loader-letter:nth-child(5) { transition-delay: 1.0s; }
.page-center.welcome-active .loader-letter:nth-child(6) { transition-delay: 1.2s; }
.page-center.welcome-active .loader-letter:nth-child(7) { transition-delay: 1.4s; }
.page-center.welcome-active .loader-letter:nth-child(8) { transition-delay: 1.6s; }

.loader-letter.fade-away {
  opacity: 0;
  --y: -20px;
  animation: none !important;
}

.loader-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.3em;
  font-weight: 400;
  color: white;
  border-radius: 50%;
  background: rgba(89, 18, 147, 0.18);
  border: 1px solid rgba(154, 121, 255, 0.35);
  box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.16), 0 18px 55px rgba(48, 20, 106, 0.25);
  user-select: none;
  transition: transform 1.15s cubic-bezier(0.16, 1, 0.3, 1), opacity 3s ease, background 1.05s ease, box-shadow 1.05s ease;
  transform-origin: center center;
  will-change: transform, box-shadow;
}

.loader-wrapper::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(89, 18, 147, 0.18);
  border: 1px solid rgba(154, 121, 255, 0.35);
  box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.16), 0 18px 55px rgba(48, 20, 106, 0.25);
  animation: loader-rotate 2s linear infinite;
  z-index: 0;
}

.loader-wrapper.expanded {
  transform: scale(1.23);
  background: rgba(93, 23, 167, 0.26);
  box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.24), 0 24px 70px rgba(60, 26, 130, 0.3);
}

.loader-wrapper.bubble-docking {
  will-change: left, top, transform;
  transform-origin: top left;
}

.loader-wrapper.bubble-docked {
  position: fixed;
  left: 0;
  top: 0;
  margin: 0;
  z-index: 24;
  transform-origin: top left;
  transform: scale(0.44);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s ease, background 0.55s ease;
}

.loader-wrapper.bubble-docked::after {
  content: '';
  position: absolute;
  inset: -18px;
  border-radius: 50%;
  background: transparent;
}

.loader-wrapper.bubble-docked.expanded {
  transform: scale(0.44);
}

.loader-wrapper.chat-launch-ready {
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.loader-wrapper.chat-launch-ready:hover {
  box-shadow: inset 0 0 0 1px rgba(186, 153, 255, 0.3), 0 0 24px rgba(154, 121, 255, 0.36), 0 18px 40px rgba(35, 18, 87, 0.42);
  transform: scale(0.46);
}

.loader-wrapper.chat-launch-ready:active {
  transform: scale(0.41);
  filter: saturate(1.15) brightness(1.08);
  box-shadow: inset 0 0 0 1px rgba(200, 171, 255, 0.34), 0 0 30px rgba(177, 138, 255, 0.44), 0 14px 26px rgba(34, 17, 82, 0.42);
}

.guide-me-btn {
  position: fixed;
  right: 4px;
  bottom: 8px;
  z-index: 23;
  display: inline-block;
  width: 10.75rem;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

body.portfolio-ready .guide-me-btn {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.guide-me-btn .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 2.65rem;
  height: 2.65rem;
  background: linear-gradient(135deg, #2c1d55 0%, #1f2f66 100%);
  border-radius: 1.625rem;
  border: 1px solid rgba(169, 196, 255, 0.32);
  box-shadow: 0 10px 24px rgba(20, 28, 62, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.guide-me-btn .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #eef5ff;
}

.guide-me-btn .circle .icon.arrow {
  left: 0.52rem;
  width: 0.96rem;
  height: 0.125rem;
  background: none;
}

.guide-me-btn .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #eef5ff;
  border-right: 0.125rem solid #eef5ff;
  transform: rotate(45deg);
}

.guide-me-btn .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 0.5rem 0 0;
  margin: 0 0 0 2.4rem;
  color: #d9e8ff;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform: translateY(2px);
  z-index: 2;
}

.guide-me-btn:hover .circle,
.guide-me-btn:focus-visible .circle {
  width: 100%;
}

.guide-me-btn:hover .circle .icon.arrow,
.guide-me-btn:focus-visible .circle .icon.arrow {
  background: #eef5ff;
  transform: translate(0.5rem, 0);
}

.guide-me-btn:hover .button-text,
.guide-me-btn:focus-visible .button-text {
  color: #ffffff;
}

@media (max-width: 680px) {
  .guide-me-btn {
    right: 4px;
    bottom: 6px;
    width: 9.9rem;
  }

  .guide-me-btn .button-text {
    font-size: 0.62rem;
    transform: translateY(1px);
  }
}

.chatbot-panel {
  position: fixed;
  right: 28px;
  bottom: 120px;
  width: min(380px, calc(100vw - 36px));
  height: min(560px, calc(100vh - 150px));
  background: linear-gradient(160deg, rgba(20, 32, 68, 0.38), rgba(8, 14, 33, 0.3));
  border: 1px solid rgba(170, 205, 255, 0.24);
  border-radius: 20px;
  box-shadow: 0 28px 52px rgba(2, 6, 18, 0.45), 0 0 0 1px rgba(154, 121, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 40;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.chatbot-panel.pre-open {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(var(--chat-start-x, 0px), var(--chat-start-y, 0px), 0) scale(0.18);
  filter: blur(6px);
}

.chatbot-panel.hidden {
  visibility: hidden;
  pointer-events: none;
}

.chatbot-panel.visible {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.chatbot-panel.closing {
  visibility: visible;
  pointer-events: none;
  opacity: 0;
  transform: translateY(12px) scale(0.985);
}

.chatbot-panel.pre-open.visible {
  visibility: visible;
  pointer-events: auto;
  opacity: 0;
  transform: translate3d(var(--chat-start-x, 0px), var(--chat-start-y, 0px), 0) scale(0.18);
  filter: blur(6px);
}

.chatbot-header {
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(170, 205, 255, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01));
  color: #eef4ff;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#chatCloseBtn {
  border: none;
  background: transparent;
  color: #d7ddf3;
  font-size: 1.35rem;
  cursor: pointer;
  line-height: 1;
}

#chatCloseBtn:hover {
  color: #ffffff;
}

.chatbot-messages {
  flex: 1;
  padding: 14px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.chatbot-message {
  max-width: 84%;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 0.92rem;
  line-height: 1.45;
  word-break: break-word;
}

.chatbot-message.user {
  align-self: flex-end;
  color: #f5f7ff;
  background: linear-gradient(135deg, rgba(88, 130, 224, 0.58), rgba(54, 79, 167, 0.5));
  border: 1px solid rgba(179, 227, 255, 0.34);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.chatbot-message.bot {
  align-self: flex-start;
  color: rgba(233, 237, 255, 0.96);
  background: rgba(134, 152, 214, 0.2);
  border: 1px solid rgba(167, 190, 255, 0.26);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.chatbot-message.thinking {
  font-style: italic;
  opacity: 0.85;
}

.chatbot-input-row {
  display: flex;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid rgba(170, 205, 255, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
}

#chatVoiceBtn {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(179, 227, 255, 0.3);
  border-radius: 50%;
  background: radial-gradient(circle at top, rgba(125, 202, 255, 0.34), rgba(57, 93, 186, 0.88));
  color: #eef4ff;
  cursor: pointer;
  font-size: 0.95rem;
  box-shadow: 0 10px 24px rgba(2, 6, 18, 0.35);
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

#chatVoiceBtn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

#chatVoiceBtn.listening {
  background: radial-gradient(circle at top, rgba(255, 190, 120, 0.45), rgba(168, 86, 255, 0.9));
  box-shadow: 0 0 0 3px rgba(186, 153, 255, 0.16), 0 0 24px rgba(154, 121, 255, 0.28);
}

#chatInput {
  flex: 1;
  border: 1px solid rgba(176, 206, 255, 0.35);
  border-radius: 999px;
  background: rgba(18, 28, 58, 0.35);
  color: #eef4ff;
  padding: 10px 14px;
  font-size: 0.9rem;
  outline: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

#chatInput::placeholder {
  color: rgba(204, 214, 246, 0.65);
}

#chatInput:focus {
  border-color: rgba(186, 153, 255, 0.62);
  box-shadow: 0 0 0 3px rgba(154, 121, 255, 0.16);
}

#chatSendBtn {
  border: 1px solid rgba(179, 227, 255, 0.3);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(57, 93, 186, 0.9), rgba(30, 55, 125, 0.92));
  color: #eef4ff;
  padding: 10px 14px;
  font-size: 0.88rem;
  cursor: pointer;
}

#chatSendBtn:hover {
  filter: brightness(1.08);
}

.loader-wrapper.voice-active {
  animation: voice-breathe 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.loader-wrapper.expanded.voice-active {
  animation: voice-breathe-expanded 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.loader-wrapper.voice-active::before {
  animation: loader-rotate 2s linear infinite, voice-sheen 1.1s ease-in-out infinite;
}

.loader-wrapper.voice-active::after {
  content: '';
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 2px solid rgba(179, 227, 255, 0.32);
  box-shadow: 0 0 24px rgba(125, 202, 255, 0.2);
  opacity: 0;
  transform: scale(0.94);
  animation: voice-pulse-ring 1.1s ease-out infinite;
  pointer-events: none;
  z-index: 0;
}

.loader-wrapper.bubble-docked.voice-active,
.loader-wrapper.bubble-docked.expanded.voice-active {
  animation: voice-breathe-docked 1.1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.loader-wrapper.bubble-docked.voice-active::before,
.loader-wrapper.bubble-docked.expanded.voice-active::before {
  animation: loader-rotate 2s linear infinite, voice-sheen-docked 1.1s ease-in-out infinite;
}

.loader-wrapper.bubble-docked.voice-active::after,
.loader-wrapper.bubble-docked.expanded.voice-active::after {
  animation: voice-pulse-ring-docked 1.1s ease-out infinite;
}

.loader-wrapper.expanded .loader {
  animation: none;
  opacity: 0;
  transform: scale(0.92);
}

.page-center.welcome-active .loader {
  opacity: 0;
  animation: none;
  transform: scale(0.92);
}

.page-center.welcome-active .loader-bar {
  opacity: 0;
  visibility: hidden;
}

.page-center.jarvis-active .loader-letter {
  opacity: 0;
  transform: translateY(-20px);
  transition-duration: 0.38s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.page-center.jarvis-active .jarvis-name {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1.02);
}

.page-center.jarvis-active .jarvis-button {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (max-width: 640px) {
  .chatbot-panel {
    right: 10px;
    bottom: 92px;
    width: calc(100vw - 20px);
    height: min(68vh, 520px);
  }

  .jarvis-button {
    padding: 0.9rem 1.35rem;
    font-size: 0.86rem;
    letter-spacing: 0.11em;
  }

  .jarvis-button__label {
    white-space: nowrap;
  }
}

.jarvis-name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  color: #E6E8FF;
  font-family: 'Great Vibes', cursive;
  font-size: 1.75rem;
  letter-spacing: 0.03em;
  text-transform: none;
  text-align: center;
  padding: 0.3rem 0.75rem;
  transition: opacity 0.42s ease 0.05s, visibility 0.42s ease 0.05s, transform 0.42s ease 0.05s;
}

.jarvis-name.visible {
  opacity: 1;
  visibility: visible;
}

.jarvis-message {
  opacity: 0;
  visibility: hidden;
  max-width: none;
  min-height: 60px;
  position: absolute;
  top: calc(50% + 156px);
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: rgba(230, 232, 255, 0.95);
  font-family: Georgia, serif;
  font-size: clamp(1rem, 2.4vw, 1.5rem);
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  letter-spacing: 0.06em;
  text-shadow: 0 0 18px rgba(154, 121, 255, 0.10);
  transition: opacity 0.9s ease 0.2s, visibility 0.9s ease 0.2s;
  z-index: 3;
}

.jarvis-message.visible {
  opacity: 1;
  visibility: visible;
}

.message-part {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.85s ease, transform 0.85s ease, text-shadow 0.85s ease;
  display: inline-block;
  white-space: nowrap;
}

.message-part.visible {
  opacity: 1;
  transform: translateY(0);
  text-shadow: 0 0 18px rgba(154, 121, 255, 0.14);
}

.loader-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 180px;
  font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.2em;
  font-weight: 400;
  color: white;
  border-radius: 50%;
  background-color: transparent;
  user-select: none;
}

.loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: transparent;
  animation: loader-rotate 2s linear infinite;
  z-index: 0;
}

@keyframes loader-letter-anim {
  0%,
  100% {
    opacity: 0.4;
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: scale(1.15);
  }
  40% {
    opacity: 0.7;
    transform: translateY(0);
  }
}

@keyframes loader-rotate {
  0% {
    transform: rotate(90deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 30px 0 #ad5fff inset,
      0 60px 60px 0 #471eec inset;
  }
  50% {
    transform: rotate(270deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 10px 0 #d60a47 inset,
      0 40px 60px 0 #311e80 inset;
  }
  100% {
    transform: rotate(450deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 30px 0 #ad5fff inset,
      0 60px 60px 0 #471eec inset;
  }
}

@keyframes voice-breathe {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.16), 0 18px 55px rgba(48, 20, 106, 0.25);
  }
  50% {
    transform: translateY(-2px) scale(1.04);
    box-shadow: inset 0 0 0 1px rgba(179, 227, 255, 0.28), 0 22px 66px rgba(30, 52, 114, 0.34);
  }
}

@keyframes voice-breathe-expanded {
  0%,
  100% {
    transform: scale(1.23);
    box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.24), 0 24px 70px rgba(60, 26, 130, 0.3);
  }
  50% {
    transform: scale(1.265);
    box-shadow: inset 0 0 0 1px rgba(179, 227, 255, 0.3), 0 28px 82px rgba(33, 64, 150, 0.38);
  }
}

@keyframes voice-sheen {
  0%,
  100% {
    opacity: 0.78;
    filter: drop-shadow(0 0 10px rgba(160, 126, 255, 0.24));
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 30px rgba(186, 153, 255, 0.48));
  }
}

@keyframes voice-pulse-ring {
  0% {
    opacity: 0;
    transform: scale(0.94);
  }
  35% {
    opacity: 0.7;
    transform: scale(1.04);
  }
  70% {
    opacity: 0.18;
    transform: scale(1.12);
  }
  100% {
    opacity: 0;
    transform: scale(1.18);
  }
}

@keyframes voice-breathe-docked {
  0%,
  100% {
    transform: scale(0.44) translateY(0);
    box-shadow: inset 0 0 0 1px rgba(154, 121, 255, 0.16), 0 18px 55px rgba(48, 20, 106, 0.25);
  }
  50% {
    transform: scale(0.44) translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(179, 227, 255, 0.28), 0 22px 66px rgba(30, 52, 114, 0.34);
  }
}

@keyframes voice-sheen-docked {
  0%,
  100% {
    opacity: 0.78;
    filter: drop-shadow(0 0 10px rgba(160, 126, 255, 0.24));
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 24px rgba(186, 153, 255, 0.42));
  }
}

@keyframes voice-pulse-ring-docked {
  0% {
    opacity: 0;
    transform: scale(0.94);
  }
  35% {
    opacity: 0.65;
    transform: scale(1.03);
  }
  70% {
    opacity: 0.18;
    transform: scale(1.08);
  }
  100% {
    opacity: 0;
    transform: scale(1.12);
  }
}

.loader-bar {
  width: 80px;
  height: 50px;
  position: relative;
  z-index: 2;
}

.loader-text {
  position: absolute;
  top: 0;
  padding: 0;
  margin: 0;
  color: #C8B6FF;
  animation: text_713 3.5s ease both infinite;
  font-size: .8rem;
  letter-spacing: 1px;
}

.load {
  background-color: #9A79FF;
  border-radius: 50px;
  display: block;
  height: 16px;
  width: 16px;
  bottom: 0;
  position: absolute;
  transform: translateX(64px);
  animation: loading_713 3.5s ease both infinite;
}

.load::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #D1C2FF;
  border-radius: inherit;
  animation: loading2_713 3.5s ease both infinite;
}

#stars {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  background: transparent;
  pointer-events: none;
  z-index: 1;
  box-shadow:
    501px 811px #fff,
    1450px 1324px #fff,
    1093px 1780px #fff,
    1469px 678px #fff,
    904px 741px #fff,
    1160px 781px #fff,
    1841px 1962px #fff,
    1630px 1667px #fff,
    1788px 676px #fff,
    367px 1734px #fff,
    1343px 156px #fff,
    1283px 1142px #fff,
    1062px 378px #fff,
    1395px 467px #fff,
    1017px 1891px #fff,
    137px 1114px #fff,
    1767px 1403px #fff,
    1543px 11px #fff,
    1078px 181px #fff,
    1189px 1574px #fff,
    1697px 1551px #fff,
    439px 472px #fff,
    1491px 677px #fff,
    1364px 599px #fff,
    34px 382px #fff,
    1221px 1584px #fff,
    1266px 1499px #fff,
    169px 1907px #fff,
    1219px 1125px #fff,
    659px 18px #fff,
    1731px 1959px #fff,
    332px 1216px #fff,
    1913px 788px #fff,
    80px 712px #fff,
    326px 1605px #fff,
    574px 1502px #fff,
    473px 1653px #fff,
    404px 975px #fff,
    322px 1797px #fff,
    425px 1321px #fff,
    1121px 1797px #fff,
    731px 647px #fff,
    891px 1584px #fff,
    1523px 109px #fff,
    1379px 244px #fff,
    865px 1064px #fff,
    493px 956px #fff,
    624px 1380px #fff,
    440px 619px #fff,
    1630px 767px #fff,
    955px 1196px #fff,
    62px 729px #fff,
    126px 946px #fff,
    1256px 896px #fff,
    1444px 256px #fff,
    661px 1628px #fff,
    1078px 1716px #fff,
    300px 737px #fff,
    1734px 413px #fff,
    1296px 129px #fff,
    1771px 1678px #fff,
    977px 1764px #fff,
    1879px 549px #fff,
    665px 1531px #fff,
    89px 701px #fff,
    1084px 1183px #fff,
    1597px 1576px #fff,
    1354px 1774px #fff,
    554px 1471px #fff,
    1469px 287px #fff,
    887px 106px #fff,
    1962px 766px #fff,
    638px 805px #fff,
    1651px 741px #fff,
    1517px 1826px #fff,
    24px 1152px #fff,
    507px 558px #fff,
    1262px 652px #fff,
    246px 1048px #fff,
    1077px 421px #fff,
    1866px 1847px #fff,
    1986px 1561px #fff,
    704px 632px #fff,
    1991px 1875px #fff,
    1227px 395px #fff,
    45px 1116px #fff,
    247px 786px #fff,
    890px 607px #fff,
    787px 1235px #fff,
    557px 524px #fff,
    1582px 1285px #fff,
    1725px 1366px #fff,
    952px 747px #fff,
    251px 458px #fff,
    1500px 1250px #fff,
    1999px 1734px #fff,
    1336px 1955px #fff,
    1705px 1464px #fff,
    728px 697px #fff,
    594px 510px #fff,
    1345px 1990px #fff,
    1919px 1803px #fff,
    1117px 966px #fff,
    1629px 97px #fff,
    1046px 1196px #fff,
    810px 1092px #fff,
    722px 976px #fff,
    406px 18px #fff,
    1665px 1860px #fff,
    1758px 1628px #fff,
    1183px 463px #fff,
    564px 239px #fff,
    13px 1767px #fff,
    1482px 1472px #fff,
    1700px 347px #fff,
    1362px 244px #fff,
    1141px 1708px #fff,
    22px 885px #fff,
    374px 1309px #fff,
    1034px 1037px #fff,
    1725px 1086px #fff,
    1343px 1921px #fff,
    596px 903px #fff,
    1061px 478px #fff,
    18px 1409px #fff,
    729px 1364px #fff,
    264px 911px #fff,
    677px 1442px #fff,
    123px 33px #fff,
    1303px 646px #fff,
    1945px 792px #fff,
    1305px 938px #fff,
    918px 1536px #fff,
    620px 948px #fff,
    183px 646px #fff,
    695px 687px #fff,
    881px 272px #fff,
    1521px 1212px #fff,
    1423px 1022px #fff,
    1545px 1271px #fff,
    1393px 348px #fff,
    685px 1910px #fff,
    1446px 856px #fff,
    73px 1201px #fff,
    736px 999px #fff,
    673px 796px #fff,
    469px 850px #fff,
    1912px 142px #fff,
    1278px 664px #fff,
    184px 1990px #fff,
    1173px 1312px #fff,
    782px 1879px #fff,
    323px 1035px #fff,
    611px 908px #fff,
    565px 1449px #fff,
    748px 1713px #fff,
    1047px 490px #fff,
    1040px 1872px #fff,
    1818px 1659px #fff,
    1806px 1327px #fff,
    386px 575px #fff,
    1550px 463px #fff,
    148px 687px #fff,
    651px 1683px #fff,
    1588px 1194px #fff,
    1831px 2px #fff,
    581px 876px #fff,
    1396px 1743px #fff,
    1212px 1810px #fff,
    421px 1920px #fff,
    658px 1461px #fff,
    1859px 1809px #fff,
    1456px 388px #fff,
    186px 1627px #fff,
    1528px 1145px #fff,
    171px 97px #fff,
    674px 1072px #fff,
    676px 1052px #fff,
    1165px 1131px #fff,
    1088px 781px #fff,
    1231px 948px #fff,
    330px 257px #fff,
    426px 1046px #fff,
    549px 652px #fff,
    1338px 74px #fff,
    1749px 364px #fff,
    931px 369px #fff,
    383px 1428px #fff,
    1558px 389px #fff,
    927px 133px #fff,
    234px 1888px #fff,
    1785px 1617px #fff,
    556px 643px #fff,
    401px 275px #fff,
    406px 1644px #fff,
    1253px 1852px #fff,
    1599px 883px #fff,
    744px 1721px #fff,
    524px 1297px #fff,
    1226px 1177px #fff,
    1679px 55px #fff,
    874px 1811px #fff,
    838px 790px #fff,
    1241px 430px #fff,
    1676px 652px #fff,
    1191px 568px #fff,
    53px 1990px #fff,
    1163px 237px #fff,
    61px 223px #fff,
    592px 456px #fff,
    1844px 271px #fff,
    1324px 1488px #fff,
    1373px 717px #fff,
    1822px 709px #fff,
    1464px 941px #fff,
    1445px 1118px #fff,
    991px 1414px #fff,
    1964px 1076px #fff,
    108px 172px #fff,
    641px 1722px #fff,
    1539px 427px #fff,
    1697px 45px #fff,
    1301px 1353px #fff,
    1060px 329px #fff,
    967px 1396px #fff,
    493px 301px #fff,
    1228px 1406px #fff,
    1211px 1653px #fff,
    444px 1822px #fff,
    1746px 353px #fff,
    1449px 381px #fff,
    671px 887px #fff,
    650px 138px #fff,
    30px 1839px #fff,
    1094px 1405px #fff,
    273px 796px #fff,
    1618px 1964px #fff,
    1045px 1849px #fff,
    1472px 1155px #fff,
    1529px 1312px #fff,
    728px 448px #fff,
    44px 1908px #fff,
    691px 818px #fff,
    254px 293px #fff,
    1981px 1133px #fff,
    1307px 375px #fff,
    196px 316px #fff,
    1241px 1975px #fff,
    1138px 1706px #fff,
    1769px 463px #fff,
    1768px 1428px #fff,
    1730px 590px #fff,
    1780px 523px #fff,
    1862px 1526px #fff,
    1613px 909px #fff,
    1266px 1781px #fff,
    470px 352px #fff,
    699px 1682px #fff,
    1002px 614px #fff,
    1209px 133px #fff,
    1842px 518px #fff,
    1422px 1836px #fff,
    1720px 1901px #fff,
    470px 1788px #fff,
    1355px 1387px #fff,
    146px 1162px #fff,
    933px 80px #fff,
    681px 1063px #fff,
    313px 1341px #fff,
    740px 1498px #fff,
    168px 1014px #fff,
    345px 1355px #fff,
    1498px 1562px #fff,
    1626px 1358px #fff,
    890px 403px #fff,
    663px 562px #fff,
    1481px 168px #fff,
    22px 719px #fff,
    774px 1041px #fff,
    1899px 829px #fff,
    430px 158px #fff,
    430px 361px #fff,
    1592px 1334px #fff,
    224px 323px #fff,
    1639px 1131px #fff,
    7px 271px #fff,
    1646px 1514px #fff,
    1605px 1444px #fff,
    1820px 1665px #fff,
    1549px 1641px #fff,
    1609px 1377px #fff,
    486px 1098px #fff,
    229px 613px #fff,
    542px 1694px #fff,
    318px 256px #fff,
    1861px 918px #fff,
    889px 892px #fff,
    442px 1524px #fff,
    19px 422px #fff,
    1935px 1908px #fff,
    828px 109px #fff,
    862px 1248px #fff,
    1275px 560px #fff,
    906px 63px #fff,
    337px 1605px #fff,
    1691px 918px #fff,
    1414px 679px #fff,
    1726px 749px #fff,
    1540px 1149px #fff,
    1337px 1466px #fff,
    446px 430px #fff,
    676px 1616px #fff,
    840px 326px #fff,
    976px 977px #fff,
    1840px 642px #fff,
    1273px 804px #fff,
    1071px 928px #fff,
    1292px 1675px #fff,
    29px 1148px #fff,
    1585px 135px #fff,
    1007px 563px #fff,
    1035px 78px #fff,
    1174px 574px #fff,
    120px 1304px #fff,
    845px 1292px #fff,
    861px 540px #fff,
    234px 232px #fff,
    1940px 1367px #fff,
    759px 639px #fff,
    1775px 1381px #fff,
    906px 372px #fff,
    1104px 1165px #fff,
    1524px 911px #fff,
    1882px 330px #fff,
    1389px 700px #fff,
    300px 1629px #fff,
    220px 1614px #fff,
    563px 140px #fff,
    1611px 1586px #fff,
    793px 1316px #fff,
    325px 1070px #fff,
    1722px 1462px #fff,
    1406px 1120px #fff,
    1169px 1768px #fff,
    1956px 1053px #fff,
    959px 1587px #fff,
    585px 1566px #fff,
    370px 204px #fff,
    1606px 1416px #fff,
    443px 1606px #fff,
    1499px 1102px #fff,
    1943px 105px #fff,
    1121px 1594px #fff,
    1512px 32px #fff,
    871px 1425px #fff,
    433px 100px #fff,
    294px 1471px #fff,
    1688px 1755px #fff,
    1666px 591px #fff,
    1034px 300px #fff,
    734px 1178px #fff,
    1342px 313px #fff,
    1616px 1590px #fff,
    1763px 1472px #fff,
    632px 1935px #fff,
    1708px 872px #fff,
    1871px 915px #fff,
    1829px 1020px #fff,
    1599px 578px #fff,
    42px 585px #fff,
    1163px 1382px #fff,
    1744px 1272px #fff,
    984px 1426px #fff,
    1786px 1584px #fff,
    1813px 379px #fff,
    1867px 1127px #fff,
    97px 567px #fff,
    626px 988px #fff,
    1178px 79px #fff,
    1703px 211px #fff,
    961px 1785px #fff,
    110px 975px #fff,
    953px 1941px #fff,
    1027px 1790px #fff,
    1665px 107px #fff,
    11px 964px #fff,
    1718px 1147px #fff,
    21px 1728px #fff,
    1358px 1922px #fff,
    872px 65px #fff,
    1191px 1635px #fff,
    762px 681px #fff,
    1519px 1033px #fff,
    906px 566px #fff,
    1074px 657px #fff,
    1093px 415px #fff,
    51px 198px #fff,
    1075px 1418px #fff,
    1547px 1070px #fff,
    225px 920px #fff,
    850px 1974px #fff,
    981px 595px #fff,
    1425px 131px #fff,
    460px 917px #fff,
    56px 495px #fff,
    714px 428px #fff,
    920px 493px #fff,
    470px 1521px #fff,
    532px 821px #fff,
    1905px 71px #fff,
    883px 1501px #fff,
    294px 196px #fff,
    381px 1999px #fff,
    332px 793px #fff,
    1246px 408px #fff,
    233px 149px #fff,
    315px 231px #fff,
    1594px 1302px #fff,
    696px 1585px #fff,
    791px 136px #fff,
    479px 199px #fff,
    1627px 1413px #fff,
    1824px 924px #fff,
    1631px 342px #fff,
    1251px 1151px #fff,
    284px 1781px #fff,
    497px 1052px #fff,
    204px 1161px #fff,
    646px 1499px #fff,
    1762px 558px #fff,
    854px 1833px #fff,
    883px 945px #fff,
    44px 982px #fff,
    1101px 834px #fff,
    515px 1748px #fff,
    1578px 1435px #fff,
    819px 1258px #fff,
    776px 670px #fff,
    115px 385px #fff,
    1478px 434px #fff,
    885px 20px #fff,
    192px 1513px #fff,
    78px 1129px #fff,
    1774px 1105px #fff,
    955px 1149px #fff,
    1817px 1929px #fff,
    1106px 1832px #fff,
    1107px 1997px #fff,
    94px 23px #fff,
    243px 982px #fff,
    43px 1972px #fff,
    1798px 673px #fff,
    1131px 1589px #fff,
    841px 14px #fff,
    826px 345px #fff,
    687px 56px #fff,
    1084px 32px #fff,
    1887px 1878px #fff,
    153px 526px #fff,
    1828px 253px #fff,
    1947px 1105px #fff,
    886px 700px #fff,
    1307px 1723px #fff,
    1274px 651px #fff,
    1530px 837px #fff,
    1699px 1637px #fff,
    1703px 1331px #fff,
    1929px 1557px #fff,
    1763px 737px #fff,
    1118px 1680px #fff,
    1545px 692px #fff,
    1462px 1092px #fff,
    208px 1667px #fff,
    1393px 859px #fff,
    186px 1794px #fff,
    351px 1199px #fff,
    642px 1995px #fff,
    1061px 1726px #fff,
    1708px 115px #fff,
    1233px 1305px #fff,
    637px 1786px #fff,
    1730px 603px #fff,
    75px 1240px #fff,
    1704px 1326px #fff,
    584px 346px #fff,
    438px 1554px #fff,
    561px 513px #fff,
    1382px 225px #fff,
    467px 1674px #fff,
    1403px 815px #fff,
    1546px 1835px #fff,
    127px 1119px #fff,
    276px 591px #fff,
    688px 1458px #fff,
    765px 646px #fff,
    474px 984px #fff,
    171px 361px #fff,
    94px 1480px #fff,
    1962px 1666px #fff,
    909px 1037px #fff,
    1725px 222px #fff,
    253px 1355px #fff,
    1892px 1901px #fff,
    275px 1847px #fff,
    28px 1184px #fff,
    1725px 1382px #fff,
    882px 647px #fff,
    1935px 1046px #fff,
    10px 344px #fff,
    292px 1328px #fff,
    127px 1352px #fff,
    752px 929px #fff,
    1589px 384px #fff,
    284px 1829px #fff,
    381px 820px #fff,
    1229px 1125px #fff,
    777px 429px #fff,
    1811px 1499px #fff,
    1573px 287px #fff,
    295px 756px #fff,
    389px 616px #fff,
    781px 41px #fff,
    1092px 333px #fff,
    794px 1588px #fff,
    386px 1847px #fff,
    1802px 710px #fff,
    662px 60px #fff,
    640px 264px #fff,
    463px 746px #fff,
    1859px 799px #fff,
    763px 37px #fff,
    639px 396px #fff,
    357px 1071px #fff,
    1190px 1430px #fff,
    1814px 257px #fff,
    1382px 235px #fff,
    606px 1304px #fff,
    1939px 1470px #fff,
    1124px 349px #fff,
    307px 1567px #fff,
    310px 1323px #fff,
    1145px 922px #fff,
    1196px 1922px #fff,
    1647px 544px #fff,
    788px 1337px #fff,
    257px 632px #fff,
    1413px 414px #fff,
    590px 620px #fff,
    582px 794px #fff,
    1702px 1481px #fff,
    1055px 53px #fff,
    157px 346px #fff,
    50px 1901px #fff,
    1038px 1369px #fff,
    796px 1941px #fff,
    215px 194px #fff,
    1567px 1538px #fff,
    367px 800px #fff,
    1044px 489px #fff,
    1109px 1712px #fff,
    524px 327px #fff,
    525px 1252px #fff,
    1475px 1240px #fff,
    529px 436px #fff,
    795px 834px #fff,
    122px 1371px #fff,
    79px 482px #fff,
    520px 1249px #fff,
    336px 1878px #fff,
    188px 944px #fff,
    325px 1259px #fff,
    1491px 1942px #fff,
    620px 1054px #fff,
    1606px 1153px #fff,
    1448px 502px #fff,
    53px 1381px #fff,
    107px 1670px #fff,
    1380px 618px #fff,
    967px 1557px #fff,
    1116px 1722px #fff,
    1174px 1044px #fff,
    1805px 717px #fff,
    663px 394px #fff,
    1848px 1007px #fff,
    389px 802px #fff,
    49px 392px #fff,
    1650px 852px #fff,
    1678px 1012px #fff,
    335px 1009px #fff,
    1818px 1631px #fff,
    1568px 742px #fff,
    1162px 1991px #fff,
    52px 1190px #fff,
    1401px 928px #fff,
    119px 1549px #fff,
    537px 1529px #fff,
    2px 1709px #fff,
    122px 387px #fff,
    543px 2px #fff,
    27px 1971px #fff,
    507px 1377px #fff,
    1362px 1080px #fff,
    1031px 1544px #fff,
    1631px 1174px #fff,
    1603px 312px #fff,
    1626px 1422px #fff,
    1430px 615px #fff,
    1958px 1431px #fff,
    1946px 1412px #fff,
    1848px 247px #fff,
    984px 1808px #fff,
    1396px 225px #fff,
    319px 717px #fff,
    1252px 875px #fff,
    1619px 156px #fff,
    951px 1971px #fff,
    386px 355px #fff,
    1406px 1151px #fff,
    273px 1538px #fff,
    844px 1570px #fff,
    947px 151px #fff,
    1363px 525px #fff,
    209px 307px #fff,
    1923px 1718px #fff,
    993px 1741px #fff,
    1513px 353px #fff,
    1353px 61px #fff,
    664px 352px #fff,
    1382px 359px #fff,
    1487px 1707px #fff,
    657px 1045px #fff,
    1107px 490px #fff,
    1834px 1176px #fff,
    837px 1438px #fff,
    1947px 448px #fff,
    1196px 333px #fff,
    151px 555px #fff,
    18px 992px #fff,
    458px 748px #fff,
    1801px 890px #fff,
    1093px 1012px #fff,
    315px 1101px #fff,
    194px 323px #fff,
    754px 292px #fff,
    1737px 7px #fff,
    40px 840px #fff,
    1170px 805px #fff,
    176px 1753px #fff,
    805px 1148px #fff,
    1578px 1271px #fff,
    367px 1494px #fff,
    363px 1111px #fff,
    1955px 243px #fff,
    1451px 1093px #fff,
    375px 617px #fff,
    1223px 720px #fff,
    1178px 13px #fff,
    1456px 865px #fff,
    1440px 49px #fff,
    186px 1569px #fff,
    320px 1853px #fff,
    300px 539px #fff,
    1559px 509px #fff,
    1985px 1108px #fff,
    1588px 828px #fff,
    525px 1432px #fff,
    831px 363px #fff,
    141px 281px #fff,
    1319px 402px #fff,
    40px 456px #fff,
    1955px 478px #fff,
    1758px 818px #fff,
    1924px 688px #fff,
    1030px 953px #fff,
    1982px 210px #fff,
    917px 1401px #fff,
    1051px 1837px #fff,
    1045px 463px #fff,
    1744px 573px #fff,
    529px 1530px #fff,
    542px 469px #fff,
    1982px 324px #fff,
    1902px 1422px #fff,
    1968px 782px #fff,
    1666px 1561px #fff,
    955px 304px #fff,
    323px 778px #fff,
    272px 443px #fff,
    485px 581px #fff,
    1353px 1058px #fff,
    1257px 131px #fff,
    434px 98px #fff,
    1587px 1953px #fff,
    1749px 68px #fff,
    1984px 839px #fff,
    1518px 183px #fff,
    1071px 855px #fff,
    1662px 1994px #fff,
    1111px 106px #fff,
    1954px 838px #fff;
  animation: animStar 50s linear infinite;
}
#stars:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 1px;
  height: 1px;
  background: transparent;
  box-shadow:
    501px 811px #fff,
    1450px 1324px #fff,
    1093px 1780px #fff,
    1469px 678px #fff,
    904px 741px #fff,
    1160px 781px #fff,
    1841px 1962px #fff,
    1630px 1667px #fff,
    1788px 676px #fff,
    367px 1734px #fff,
    1343px 156px #fff,
    1283px 1142px #fff,
    1062px 378px #fff,
    1395px 467px #fff,
    1017px 1891px #fff,
    137px 1114px #fff,
    1767px 1403px #fff,
    1543px 11px #fff,
    1078px 181px #fff,
    1189px 1574px #fff,
    1697px 1551px #fff,
    439px 472px #fff,
    1491px 677px #fff,
    1364px 599px #fff,
    34px 382px #fff,
    1221px 1584px #fff,
    1266px 1499px #fff,
    169px 1907px #fff,
    1219px 1125px #fff,
    659px 18px #fff,
    1731px 1959px #fff,
    332px 1216px #fff,
    1913px 788px #fff,
    80px 712px #fff,
    326px 1605px #fff,
    574px 1502px #fff,
    473px 1653px #fff,
    404px 975px #fff,
    322px 1797px #fff,
    425px 1321px #fff,
    1121px 1797px #fff,
    731px 647px #fff,
    891px 1584px #fff,
    1523px 109px #fff,
    1379px 244px #fff,
    865px 1064px #fff,
    493px 956px #fff,
    624px 1380px #fff,
    440px 619px #fff,
    1630px 767px #fff,
    955px 1196px #fff,
    62px 729px #fff,
    126px 946px #fff,
    1256px 896px #fff,
    1444px 256px #fff,
    661px 1628px #fff,
    1078px 1716px #fff,
    300px 737px #fff,
    1734px 413px #fff,
    1296px 129px #fff,
    1771px 1678px #fff,
    977px 1764px #fff,
    1879px 549px #fff,
    665px 1531px #fff,
    89px 701px #fff,
    1084px 1183px #fff,
    1597px 1576px #fff,
    1354px 1774px #fff,
    554px 1471px #fff,
    1469px 287px #fff,
    887px 106px #fff,
    1962px 766px #fff,
    638px 805px #fff,
    1651px 741px #fff,
    1517px 1826px #fff,
    24px 1152px #fff,
    507px 558px #fff,
    1262px 652px #fff,
    246px 1048px #fff,
    1077px 421px #fff,
    1866px 1847px #fff,
    1986px 1561px #fff,
    704px 632px #fff,
    1991px 1875px #fff,
    1227px 395px #fff,
    45px 1116px #fff,
    247px 786px #fff,
    890px 607px #fff,
    787px 1235px #fff,
    557px 524px #fff,
    1582px 1285px #fff,
    1725px 1366px #fff,
    952px 747px #fff,
    251px 458px #fff,
    1500px 1250px #fff,
    1999px 1734px #fff,
    1336px 1955px #fff,
    1705px 1464px #fff,
    728px 697px #fff,
    594px 510px #fff,
    1345px 1990px #fff,
    1919px 1803px #fff,
    1117px 966px #fff,
    1629px 97px #fff,
    1046px 1196px #fff,
    810px 1092px #fff,
    722px 976px #fff,
    406px 18px #fff,
    1665px 1860px #fff,
    1758px 1628px #fff,
    1183px 463px #fff,
    564px 239px #fff,
    13px 1767px #fff,
    1482px 1472px #fff,
    1700px 347px #fff,
    1362px 244px #fff,
    1141px 1708px #fff,
    22px 885px #fff,
    374px 1309px #fff,
    1034px 1037px #fff,
    1725px 1086px #fff,
    1343px 1921px #fff,
    596px 903px #fff,
    1061px 478px #fff,
    18px 1409px #fff,
    729px 1364px #fff,
    264px 911px #fff,
    677px 1442px #fff,
    123px 33px #fff,
    1303px 646px #fff,
    1945px 792px #fff,
    1305px 938px #fff,
    918px 1536px #fff,
    620px 948px #fff,
    183px 646px #fff,
    695px 687px #fff,
    881px 272px #fff,
    1521px 1212px #fff,
    1423px 1022px #fff,
    1545px 1271px #fff,
    1393px 348px #fff,
    685px 1910px #fff,
    1446px 856px #fff,
    73px 1201px #fff,
    736px 999px #fff,
    673px 796px #fff,
    469px 850px #fff,
    1912px 142px #fff,
    1278px 664px #fff,
    184px 1990px #fff,
    1173px 1312px #fff,
    782px 1879px #fff,
    323px 1035px #fff,
    611px 908px #fff,
    565px 1449px #fff,
    748px 1713px #fff,
    1047px 490px #fff,
    1040px 1872px #fff,
    1818px 1659px #fff,
    1806px 1327px #fff,
    386px 575px #fff,
    1550px 463px #fff,
    148px 687px #fff,
    651px 1683px #fff,
    1588px 1194px #fff,
    1831px 2px #fff,
    581px 876px #fff,
    1396px 1743px #fff,
    1212px 1810px #fff,
    421px 1920px #fff,
    658px 1461px #fff,
    1859px 1809px #fff,
    1456px 388px #fff,
    186px 1627px #fff,
    1528px 1145px #fff,
    171px 97px #fff,
    674px 1072px #fff,
    676px 1052px #fff,
    1165px 1131px #fff,
    1088px 781px #fff,
    1231px 948px #fff,
    330px 257px #fff,
    426px 1046px #fff,
    549px 652px #fff,
    1338px 74px #fff,
    1749px 364px #fff,
    931px 369px #fff,
    383px 1428px #fff,
    1558px 389px #fff,
    927px 133px #fff,
    234px 1888px #fff,
    1785px 1617px #fff,
    556px 643px #fff,
    401px 275px #fff,
    406px 1644px #fff,
    1253px 1852px #fff,
    1599px 883px #fff,
    744px 1721px #fff,
    524px 1297px #fff,
    1226px 1177px #fff,
    1679px 55px #fff,
    874px 1811px #fff,
    838px 790px #fff,
    1241px 430px #fff,
    1676px 652px #fff,
    1191px 568px #fff,
    53px 1990px #fff,
    1163px 237px #fff,
    61px 223px #fff,
    592px 456px #fff,
    1844px 271px #fff,
    1324px 1488px #fff,
    1373px 717px #fff,
    1822px 709px #fff,
    1464px 941px #fff,
    1445px 1118px #fff,
    991px 1414px #fff,
    1964px 1076px #fff,
    108px 172px #fff,
    641px 1722px #fff,
    1539px 427px #fff,
    1697px 45px #fff,
    1301px 1353px #fff,
    1060px 329px #fff,
    967px 1396px #fff,
    493px 301px #fff,
    1228px 1406px #fff,
    1211px 1653px #fff,
    444px 1822px #fff,
    1746px 353px #fff,
    1449px 381px #fff,
    671px 887px #fff,
    650px 138px #fff,
    30px 1839px #fff,
    1094px 1405px #fff,
    273px 796px #fff,
    1618px 1964px #fff,
    1045px 1849px #fff,
    1472px 1155px #fff,
    1529px 1312px #fff,
    728px 448px #fff,
    44px 1908px #fff,
    691px 818px #fff,
    254px 293px #fff,
    1981px 1133px #fff,
    1307px 375px #fff,
    196px 316px #fff,
    1241px 1975px #fff,
    1138px 1706px #fff,
    1769px 463px #fff,
    1768px 1428px #fff,
    1730px 590px #fff,
    1780px 523px #fff,
    1862px 1526px #fff,
    1613px 909px #fff,
    1266px 1781px #fff,
    470px 352px #fff,
    699px 1682px #fff,
    1002px 614px #fff,
    1209px 133px #fff,
    1842px 518px #fff,
    1422px 1836px #fff,
    1720px 1901px #fff,
    470px 1788px #fff,
    1355px 1387px #fff,
    146px 1162px #fff,
    933px 80px #fff,
    681px 1063px #fff,
    313px 1341px #fff,
    740px 1498px #fff,
    168px 1014px #fff,
    345px 1355px #fff,
    1498px 1562px #fff,
    1626px 1358px #fff,
    890px 403px #fff,
    663px 562px #fff,
    1481px 168px #fff,
    22px 719px #fff,
    774px 1041px #fff,
    1899px 829px #fff,
    430px 158px #fff,
    430px 361px #fff,
    1592px 1334px #fff,
    224px 323px #fff,
    1639px 1131px #fff,
    7px 271px #fff,
    1646px 1514px #fff,
    1605px 1444px #fff,
    1820px 1665px #fff,
    1549px 1641px #fff,
    1609px 1377px #fff,
    486px 1098px #fff,
    229px 613px #fff,
    542px 1694px #fff,
    318px 256px #fff,
    1861px 918px #fff,
    889px 892px #fff,
    442px 1524px #fff,
    19px 422px #fff,
    1935px 1908px #fff,
    828px 109px #fff,
    862px 1248px #fff,
    1275px 560px #fff,
    906px 63px #fff,
    337px 1605px #fff,
    1691px 918px #fff,
    1414px 679px #fff,
    1726px 749px #fff,
    1540px 1149px #fff,
    1337px 1466px #fff,
    446px 430px #fff,
    676px 1616px #fff,
    840px 326px #fff,
    976px 977px #fff,
    1840px 642px #fff,
    1273px 804px #fff,
    1071px 928px #fff,
    1292px 1675px #fff,
    29px 1148px #fff,
    1585px 135px #fff,
    1007px 563px #fff,
    1035px 78px #fff,
    1174px 574px #fff,
    120px 1304px #fff,
    845px 1292px #fff,
    861px 540px #fff,
    234px 232px #fff,
    1940px 1367px #fff,
    759px 639px #fff,
    1775px 1381px #fff,
    906px 372px #fff,
    1104px 1165px #fff,
    1524px 911px #fff,
    1882px 330px #fff,
    1389px 700px #fff,
    300px 1629px #fff,
    220px 1614px #fff,
    563px 140px #fff,
    1611px 1586px #fff,
    793px 1316px #fff,
    325px 1070px #fff,
    1722px 1462px #fff,
    1406px 1120px #fff,
    1169px 1768px #fff,
    1956px 1053px #fff,
    959px 1587px #fff,
    585px 1566px #fff,
    370px 204px #fff,
    1606px 1416px #fff,
    443px 1606px #fff,
    1499px 1102px #fff,
    1943px 105px #fff,
    1121px 1594px #fff,
    1512px 32px #fff,
    871px 1425px #fff,
    433px 100px #fff,
    294px 1471px #fff,
    1688px 1755px #fff,
    1666px 591px #fff,
    1034px 300px #fff,
    734px 1178px #fff,
    1342px 313px #fff,
    1616px 1590px #fff,
    1763px 1472px #fff,
    632px 1935px #fff,
    1708px 872px #fff,
    1871px 915px #fff,
    1829px 1020px #fff,
    1599px 578px #fff,
    42px 585px #fff,
    1163px 1382px #fff,
    1744px 1272px #fff,
    984px 1426px #fff,
    1786px 1584px #fff,
    1813px 379px #fff,
    1867px 1127px #fff,
    97px 567px #fff,
    626px 988px #fff,
    1178px 79px #fff,
    1703px 211px #fff,
    961px 1785px #fff,
    110px 975px #fff,
    953px 1941px #fff,
    1027px 1790px #fff,
    1665px 107px #fff,
    11px 964px #fff,
    1718px 1147px #fff,
    21px 1728px #fff,
    1358px 1922px #fff,
    872px 65px #fff,
    1191px 1635px #fff,
    762px 681px #fff,
    1519px 1033px #fff,
    906px 566px #fff,
    1074px 657px #fff,
    1093px 415px #fff,
    51px 198px #fff,
    1075px 1418px #fff,
    1547px 1070px #fff,
    225px 920px #fff,
    850px 1974px #fff,
    981px 595px #fff,
    1425px 131px #fff,
    460px 917px #fff,
    56px 495px #fff,
    714px 428px #fff,
    920px 493px #fff,
    470px 1521px #fff,
    532px 821px #fff,
    1905px 71px #fff,
    883px 1501px #fff,
    294px 196px #fff,
    381px 1999px #fff,
    332px 793px #fff,
    1246px 408px #fff,
    233px 149px #fff,
    315px 231px #fff,
    1594px 1302px #fff,
    696px 1585px #fff,
    791px 136px #fff,
    479px 199px #fff,
    1627px 1413px #fff,
    1824px 924px #fff,
    1631px 342px #fff,
    1251px 1151px #fff,
    284px 1781px #fff,
    497px 1052px #fff,
    204px 1161px #fff,
    646px 1499px #fff,
    1762px 558px #fff,
    854px 1833px #fff,
    883px 945px #fff,
    44px 982px #fff,
    1101px 834px #fff,
    515px 1748px #fff,
    1578px 1435px #fff,
    819px 1258px #fff,
    776px 670px #fff,
    115px 385px #fff,
    1478px 434px #fff,
    885px 20px #fff,
    192px 1513px #fff,
    78px 1129px #fff,
    1774px 1105px #fff,
    955px 1149px #fff,
    1817px 1929px #fff,
    1106px 1832px #fff,
    1107px 1997px #fff,
    94px 23px #fff,
    243px 982px #fff,
    43px 1972px #fff,
    1798px 673px #fff,
    1131px 1589px #fff,
    841px 14px #fff,
    826px 345px #fff,
    687px 56px #fff,
    1084px 32px #fff,
    1887px 1878px #fff,
    153px 526px #fff,
    1828px 253px #fff,
    1947px 1105px #fff,
    886px 700px #fff,
    1307px 1723px #fff,
    1274px 651px #fff,
    1530px 837px #fff,
    1699px 1637px #fff,
    1703px 1331px #fff,
    1929px 1557px #fff,
    1763px 737px #fff,
    1118px 1680px #fff,
    1545px 692px #fff,
    1462px 1092px #fff,
    208px 1667px #fff,
    1393px 859px #fff,
    186px 1794px #fff,
    351px 1199px #fff,
    642px 1995px #fff,
    1061px 1726px #fff,
    1708px 115px #fff,
    1233px 1305px #fff,
    637px 1786px #fff,
    1730px 603px #fff,
    75px 1240px #fff,
    1704px 1326px #fff,
    584px 346px #fff,
    438px 1554px #fff,
    561px 513px #fff,
    1382px 225px #fff,
    467px 1674px #fff,
    1403px 815px #fff,
    1546px 1835px #fff,
    127px 1119px #fff,
    276px 591px #fff,
    688px 1458px #fff,
    765px 646px #fff,
    474px 984px #fff,
    171px 361px #fff,
    94px 1480px #fff,
    1962px 1666px #fff,
    909px 1037px #fff,
    1725px 222px #fff,
    253px 1355px #fff,
    1892px 1901px #fff,
    275px 1847px #fff,
    28px 1184px #fff,
    1725px 1382px #fff,
    882px 647px #fff,
    1935px 1046px #fff,
    10px 344px #fff,
    292px 1328px #fff,
    127px 1352px #fff,
    752px 929px #fff,
    1589px 384px #fff,
    284px 1829px #fff,
    381px 820px #fff,
    1229px 1125px #fff,
    777px 429px #fff,
    1811px 1499px #fff,
    1573px 287px #fff,
    295px 756px #fff,
    389px 616px #fff,
    781px 41px #fff,
    1092px 333px #fff,
    794px 1588px #fff,
    386px 1847px #fff,
    1802px 710px #fff,
    662px 60px #fff,
    640px 264px #fff,
    463px 746px #fff,
    1859px 799px #fff,
    763px 37px #fff,
    639px 396px #fff,
    357px 1071px #fff,
    1190px 1430px #fff,
    1814px 257px #fff,
    1382px 235px #fff,
    606px 1304px #fff,
    1939px 1470px #fff,
    1124px 349px #fff,
    307px 1567px #fff,
    310px 1323px #fff,
    1145px 922px #fff,
    1196px 1922px #fff,
    1647px 544px #fff,
    788px 1337px #fff,
    257px 632px #fff,
    1413px 414px #fff,
    590px 620px #fff,
    582px 794px #fff,
    1702px 1481px #fff,
    1055px 53px #fff,
    157px 346px #fff,
    50px 1901px #fff,
    1038px 1369px #fff,
    796px 1941px #fff,
    215px 194px #fff,
    1567px 1538px #fff,
    367px 800px #fff,
    1044px 489px #fff,
    1109px 1712px #fff,
    524px 327px #fff,
    525px 1252px #fff,
    1475px 1240px #fff,
    529px 436px #fff,
    795px 834px #fff,
    122px 1371px #fff,
    79px 482px #fff,
    520px 1249px #fff,
    336px 1878px #fff,
    188px 944px #fff,
    325px 1259px #fff,
    1491px 1942px #fff,
    620px 1054px #fff,
    1606px 1153px #fff,
    1448px 502px #fff,
    53px 1381px #fff,
    107px 1670px #fff,
    1380px 618px #fff,
    967px 1557px #fff,
    1116px 1722px #fff,
    1174px 1044px #fff,
    1805px 717px #fff,
    663px 394px #fff,
    1848px 1007px #fff,
    389px 802px #fff,
    49px 392px #fff,
    1650px 852px #fff,
    1678px 1012px #fff,
    335px 1009px #fff,
    1818px 1631px #fff,
    1568px 742px #fff,
    1162px 1991px #fff,
    52px 1190px #fff,
    1401px 928px #fff,
    119px 1549px #fff,
    537px 1529px #fff,
    2px 1709px #fff,
    122px 387px #fff,
    543px 2px #fff,
    27px 1971px #fff,
    507px 1377px #fff,
    1362px 1080px #fff,
    1031px 1544px #fff,
    1631px 1174px #fff,
    1603px 312px #fff,
    1626px 1422px #fff,
    1430px 615px #fff,
    1958px 1431px #fff,
    1946px 1412px #fff,
    1848px 247px #fff,
    984px 1808px #fff,
    1396px 225px #fff,
    319px 717px #fff,
    1252px 875px #fff,
    1619px 156px #fff,
    951px 1971px #fff,
    386px 355px #fff,
    1406px 1151px #fff,
    273px 1538px #fff,
    844px 1570px #fff,
    947px 151px #fff,
    1363px 525px #fff,
    209px 307px #fff,
    1923px 1718px #fff,
    993px 1741px #fff,
    1513px 353px #fff,
    1353px 61px #fff,
    664px 352px #fff,
    1382px 359px #fff,
    1487px 1707px #fff,
    657px 1045px #fff,
    1107px 490px #fff,
    1834px 1176px #fff,
    837px 1438px #fff,
    1947px 448px #fff,
    1196px 333px #fff,
    151px 555px #fff,
    18px 992px #fff,
    458px 748px #fff,
    1801px 890px #fff,
    1093px 1012px #fff,
    315px 1101px #fff,
    194px 323px #fff,
    754px 292px #fff,
    1737px 7px #fff,
    40px 840px #fff,
    1170px 805px #fff,
    176px 1753px #fff,
    805px 1148px #fff,
    1578px 1271px #fff,
    367px 1494px #fff,
    363px 1111px #fff,
    1955px 243px #fff,
    1451px 1093px #fff,
    375px 617px #fff,
    1223px 720px #fff,
    1178px 13px #fff,
    1456px 865px #fff,
    1440px 49px #fff,
    186px 1569px #fff,
    320px 1853px #fff,
    300px 539px #fff,
    1559px 509px #fff,
    1985px 1108px #fff,
    1588px 828px #fff,
    525px 1432px #fff,
    831px 363px #fff,
    141px 281px #fff,
    1319px 402px #fff,
    40px 456px #fff,
    1955px 478px #fff,
    1758px 818px #fff,
    1924px 688px #fff,
    1030px 953px #fff,
    1982px 210px #fff,
    917px 1401px #fff,
    1051px 1837px #fff,
    1045px 463px #fff,
    1744px 573px #fff,
    529px 1530px #fff,
    542px 469px #fff,
    1982px 324px #fff,
    1902px 1422px #fff,
    1968px 782px #fff,
    1666px 1561px #fff,
    955px 304px #fff,
    323px 778px #fff,
    272px 443px #fff,
    485px 581px #fff,
    1353px 1058px #fff,
    1257px 131px #fff,
    434px 98px #fff,
    1587px 1953px #fff,
    1749px 68px #fff,
    1984px 839px #fff,
    1518px 183px #fff,
    1071px 855px #fff,
    1662px 1994px #fff,
    1111px 106px #fff,
    1954px 838px #fff;
}

#stars2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 2px;
  background: transparent;
  pointer-events: none;
  z-index: 1;
  box-shadow:
    1925px 1320px #fff,
    693px 1778px #fff,
    1016px 711px #fff,
    1171px 563px #fff,
    661px 1919px #fff,
    1610px 44px #fff,
    1275px 140px #fff,
    1208px 1802px #fff,
    1473px 1587px #fff,
    11px 1117px #fff,
    853px 1757px #fff,
    1149px 937px #fff,
    1353px 428px #fff,
    270px 279px #fff,
    258px 1404px #fff,
    417px 1188px #fff,
    286px 561px #fff,
    393px 1765px #fff,
    147px 881px #fff,
    666px 1097px #fff,
    1425px 1278px #fff,
    806px 156px #fff,
    1252px 561px #fff,
    218px 52px #fff,
    1371px 1980px #fff,
    171px 745px #fff,
    1424px 89px #fff,
    137px 244px #fff,
    939px 1922px #fff,
    137px 1080px #fff,
    1757px 50px #fff,
    904px 536px #fff,
    1938px 1001px #fff,
    1172px 440px #fff,
    72px 1475px #fff,
    102px 121px #fff,
    804px 1671px #fff,
    1314px 270px #fff,
    440px 1341px #fff,
    1216px 511px #fff,
    1061px 1523px #fff,
    97px 274px #fff,
    704px 1318px #fff,
    52px 1872px #fff,
    1962px 296px #fff,
    111px 289px #fff,
    1157px 1236px #fff,
    1347px 1451px #fff,
    820px 286px #fff,
    1389px 1169px #fff,
    644px 841px #fff,
    1286px 522px #fff,
    955px 659px #fff,
    428px 1805px #fff,
    237px 557px #fff,
    1689px 1058px #fff,
    636px 1882px #fff,
    1349px 1664px #fff,
    1548px 432px #fff,
    1841px 504px #fff,
    302px 252px #fff,
    827px 1765px #fff,
    620px 123px #fff,
    207px 748px #fff,
    1454px 1234px #fff,
    1967px 1790px #fff,
    542px 33px #fff,
    742px 1214px #fff,
    255px 1402px #fff,
    74px 1772px #fff,
    699px 475px #fff,
    980px 1253px #fff,
    534px 1676px #fff,
    909px 202px #fff,
    1498px 1251px #fff,
    1796px 120px #fff,
    1409px 1263px #fff,
    1627px 995px #fff,
    969px 710px #fff,
    1674px 676px #fff,
    1832px 759px #fff,
    1623px 563px #fff,
    251px 1790px #fff,
    96px 1688px #fff,
    886px 239px #fff,
    778px 150px #fff,
    1767px 430px #fff,
    765px 1259px #fff,
    1189px 877px #fff,
    444px 1629px #fff,
    1560px 324px #fff,
    1952px 1097px #fff,
    712px 1173px #fff,
    541px 911px #fff,
    827px 1420px #fff,
    1233px 285px #fff,
    784px 546px #fff,
    645px 285px #fff,
    1273px 1255px #fff,
    1821px 174px #fff,
    221px 1795px #fff,
    1004px 456px #fff,
    1298px 941px #fff,
    274px 387px #fff,
    174px 376px #fff,
    1491px 258px #fff,
    1489px 1946px #fff,
    1134px 1382px #fff,
    1289px 1145px #fff,
    464px 358px #fff,
    1249px 1842px #fff,
    1665px 831px #fff,
    1982px 84px #fff,
    541px 774px #fff,
    1994px 523px #fff,
    762px 1644px #fff,
    1730px 867px #fff,
    1951px 1287px #fff,
    911px 1691px #fff,
    1454px 725px #fff,
    1287px 1940px #fff,
    70px 564px #fff,
    1980px 638px #fff,
    1674px 1774px #fff,
    1720px 116px #fff,
    1747px 182px #fff,
    1040px 450px #fff,
    1795px 375px #fff,
    857px 1471px #fff,
    1326px 1730px #fff,
    915px 274px #fff,
    1224px 358px #fff,
    1808px 60px #fff,
    43px 1870px #fff,
    1810px 1536px #fff,
    1564px 1719px #fff,
    731px 1388px #fff,
    1953px 1967px #fff,
    1744px 1119px #fff,
    794px 1384px #fff,
    959px 714px #fff,
    18px 1932px #fff,
    1358px 1437px #fff,
    355px 939px #fff,
    1355px 1648px #fff,
    608px 719px #fff,
    383px 758px #fff,
    1164px 1681px #fff,
    1045px 253px #fff,
    424px 1279px #fff,
    1899px 359px #fff,
    379px 488px #fff,
    214px 465px #fff,
    179px 905px #fff,
    830px 1993px #fff,
    448px 1077px #fff,
    1880px 1354px #fff,
    1973px 347px #fff,
    745px 1025px #fff,
    788px 1007px #fff,
    1377px 883px #fff,
    6px 290px #fff,
    1312px 407px #fff,
    1398px 622px #fff,
    1405px 339px #fff,
    1198px 1709px #fff,
    988px 1226px #fff,
    87px 1459px #fff,
    1113px 1698px #fff,
    997px 732px #fff,
    708px 331px #fff,
    1876px 1112px #fff,
    1729px 1797px #fff,
    719px 703px #fff,
    1295px 522px #fff,
    758px 1061px #fff,
    1309px 1014px #fff,
    1327px 1365px #fff,
    854px 1317px #fff,
    531px 1001px #fff,
    1751px 1040px #fff,
    1354px 190px #fff,
    800px 1538px #fff,
    88px 1455px #fff,
    668px 39px #fff,
    1379px 41px #fff,
    892px 524px #fff,
    54px 649px #fff,
    1289px 730px #fff,
    727px 488px #fff,
    181px 842px #fff,
    1230px 64px #fff,
    3px 857px #fff,
    292px 1201px #fff,
    1343px 673px #fff,
    1096px 1412px #fff,
    1520px 292px #fff,
    104px 1683px #fff,
    934px 1387px #fff,
    314px 739px #fff;
  animation: animStar 100s linear infinite;
}
#stars2:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 2px;
  height: 2px;
  background: transparent;
  box-shadow:
    1925px 1320px #fff,
    693px 1778px #fff,
    1016px 711px #fff,
    1171px 563px #fff,
    661px 1919px #fff,
    1610px 44px #fff,
    1275px 140px #fff,
    1208px 1802px #fff,
    1473px 1587px #fff,
    11px 1117px #fff,
    853px 1757px #fff,
    1149px 937px #fff,
    1353px 428px #fff,
    270px 279px #fff,
    258px 1404px #fff,
    417px 1188px #fff,
    286px 561px #fff,
    393px 1765px #fff,
    147px 881px #fff,
    666px 1097px #fff,
    1425px 1278px #fff,
    806px 156px #fff,
    1252px 561px #fff,
    218px 52px #fff,
    1371px 1980px #fff,
    171px 745px #fff,
    1424px 89px #fff,
    137px 244px #fff,
    939px 1922px #fff,
    137px 1080px #fff,
    1757px 50px #fff,
    904px 536px #fff,
    1938px 1001px #fff,
    1172px 440px #fff,
    72px 1475px #fff,
    102px 121px #fff,
    804px 1671px #fff,
    1314px 270px #fff,
    440px 1341px #fff,
    1216px 511px #fff,
    1061px 1523px #fff,
    97px 274px #fff,
    704px 1318px #fff,
    52px 1872px #fff,
    1962px 296px #fff,
    111px 289px #fff,
    1157px 1236px #fff,
    1347px 1451px #fff,
    820px 286px #fff,
    1389px 1169px #fff,
    644px 841px #fff,
    1286px 522px #fff,
    955px 659px #fff,
    428px 1805px #fff,
    237px 557px #fff,
    1689px 1058px #fff,
    636px 1882px #fff,
    1349px 1664px #fff,
    1548px 432px #fff,
    1841px 504px #fff,
    302px 252px #fff,
    827px 1765px #fff,
    620px 123px #fff,
    207px 748px #fff,
    1454px 1234px #fff,
    1967px 1790px #fff,
    542px 33px #fff,
    742px 1214px #fff,
    255px 1402px #fff,
    74px 1772px #fff,
    699px 475px #fff,
    980px 1253px #fff,
    534px 1676px #fff,
    909px 202px #fff,
    1498px 1251px #fff,
    1796px 120px #fff,
    1409px 1263px #fff,
    1627px 995px #fff,
    969px 710px #fff,
    1674px 676px #fff,
    1832px 759px #fff,
    1623px 563px #fff,
    251px 1790px #fff,
    96px 1688px #fff,
    886px 239px #fff,
    778px 150px #fff,
    1767px 430px #fff,
    765px 1259px #fff,
    1189px 877px #fff,
    444px 1629px #fff,
    1560px 324px #fff,
    1952px 1097px #fff,
    712px 1173px #fff,
    541px 911px #fff,
    827px 1420px #fff,
    1233px 285px #fff,
    784px 546px #fff,
    645px 285px #fff,
    1273px 1255px #fff,
    1821px 174px #fff,
    221px 1795px #fff,
    1004px 456px #fff,
    1298px 941px #fff,
    274px 387px #fff,
    174px 376px #fff,
    1491px 258px #fff,
    1489px 1946px #fff,
    1134px 1382px #fff,
    1289px 1145px #fff,
    464px 358px #fff,
    1249px 1842px #fff,
    1665px 831px #fff,
    1982px 84px #fff,
    541px 774px #fff,
    1994px 523px #fff,
    762px 1644px #fff,
    1730px 867px #fff,
    1951px 1287px #fff,
    911px 1691px #fff,
    1454px 725px #fff,
    1287px 1940px #fff,
    70px 564px #fff,
    1980px 638px #fff,
    1674px 1774px #fff,
    1720px 116px #fff,
    1747px 182px #fff,
    1040px 450px #fff,
    1795px 375px #fff,
    857px 1471px #fff,
    1326px 1730px #fff,
    915px 274px #fff,
    1224px 358px #fff,
    1808px 60px #fff,
    43px 1870px #fff,
    1810px 1536px #fff,
    1564px 1719px #fff,
    731px 1388px #fff,
    1953px 1967px #fff,
    1744px 1119px #fff,
    794px 1384px #fff,
    959px 714px #fff,
    18px 1932px #fff,
    1358px 1437px #fff,
    355px 939px #fff,
    1355px 1648px #fff,
    608px 719px #fff,
    383px 758px #fff,
    1164px 1681px #fff,
    1045px 253px #fff,
    424px 1279px #fff,
    1899px 359px #fff,
    379px 488px #fff,
    214px 465px #fff,
    179px 905px #fff,
    830px 1993px #fff,
    448px 1077px #fff,
    1880px 1354px #fff,
    1973px 347px #fff,
    745px 1025px #fff,
    788px 1007px #fff,
    1377px 883px #fff,
    6px 290px #fff,
    1312px 407px #fff,
    1398px 622px #fff,
    1405px 339px #fff,
    1198px 1709px #fff,
    988px 1226px #fff,
    87px 1459px #fff,
    1113px 1698px #fff,
    997px 732px #fff,
    708px 331px #fff,
    1876px 1112px #fff,
    1729px 1797px #fff,
    719px 703px #fff,
    1295px 522px #fff,
    758px 1061px #fff,
    1309px 1014px #fff,
    1327px 1365px #fff,
    854px 1317px #fff,
    531px 1001px #fff,
    1751px 1040px #fff,
    1354px 190px #fff,
    800px 1538px #fff,
    88px 1455px #fff,
    668px 39px #fff,
    1379px 41px #fff,
    892px 524px #fff,
    54px 649px #fff,
    1289px 730px #fff,
    727px 488px #fff,
    181px 842px #fff,
    1230px 64px #fff,
    3px 857px #fff,
    292px 1201px #fff,
    1343px 673px #fff,
    1096px 1412px #fff,
    1520px 292px #fff,
    104px 1683px #fff,
    934px 1387px #fff,
    314px 739px #fff;
  animation: animStar 100s linear infinite;
}

#stars3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 3px;
  background: transparent;
  pointer-events: none;
  z-index: 1;
  box-shadow:
    200px 981px #fff,
    1731px 521px #fff,
    132px 1039px #fff,
    1888px 1547px #fff,
    899px 1226px #fff,
    1887px 580px #fff,
    1548px 1092px #fff,
    1626px 689px #fff,
    254px 1072px #fff,
    1684px 1211px #fff,
    672px 1267px #fff,
    939px 668px #fff,
    1969px 645px #fff,
    1126px 983px #fff,
    457px 568px #fff,
    476px 876px #fff,
    829px 1896px #fff,
    1364px 1846px #fff,
    1507px 1120px #fff,
    936px 1948px #fff,
    1833px 832px #fff,
    1424px 285px #fff,
    1377px 1596px #fff,
    432px 153px #fff,
    1348px 1410px #fff,
    1529px 954px #fff,
    1102px 387px #fff,
    264px 297px #fff,
    811px 977px #fff,
    1931px 673px #fff,
    1734px 978px #fff,
    1772px 1567px #fff,
    1197px 1400px #fff,
    764px 282px #fff,
    1103px 822px #fff,
    872px 1803px #fff,
    1057px 1763px #fff,
    52px 1299px #fff,
    1312px 1236px #fff,
    235px 1082px #fff,
    299px 1086px #fff,
    1017px 1602px #fff,
    1950px 626px #fff,
    1306px 132px #fff,
    1358px 1618px #fff,
    1873px 1718px #fff,
    1447px 940px #fff,
    1888px 1195px #fff,
    1704px 1765px #fff,
    872px 1357px #fff,
    1555px 1120px #fff,
    250px 1415px #fff,
    450px 415px #fff,
    492px 901px #fff,
    170px 1641px #fff,
    56px 1129px #fff,
    627px 1514px #fff,
    1221px 500px #fff,
    324px 1895px #fff,
    1397px 1775px #fff,
    1966px 598px #fff,
    1550px 763px #fff,
    326px 1605px #fff,
    261px 969px #fff,
    890px 281px #fff,
    736px 544px #fff,
    589px 1262px #fff,
    1581px 368px #fff,
    1900px 1132px #fff,
    1914px 585px #fff,
    1864px 1517px #fff,
    241px 217px #fff,
    859px 787px #fff,
    996px 1729px #fff,
    741px 121px #fff,
    418px 414px #fff,
    142px 967px #fff,
    387px 896px #fff,
    703px 562px #fff,
    968px 1136px #fff,
    1682px 332px #fff,
    1287px 846px #fff,
    256px 1427px #fff,
    1885px 432px #fff,
    1739px 1458px #fff,
    345px 1769px #fff,
    1140px 1612px #fff,
    192px 1921px #fff,
    920px 471px #fff,
    834px 881px #fff,
    917px 1803px #fff,
    466px 1266px #fff,
    483px 1108px #fff,
    689px 986px #fff,
    1279px 786px #fff,
    458px 910px #fff,
    1250px 870px #fff,
    785px 1654px #fff,
    1543px 1757px #fff,
    287px 1272px #fff;
  animation: animStar 150s linear infinite;
}

#stars3:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 3px;
  height: 3px;
  background: transparent;
  box-shadow:
    200px 981px #fff,
    1731px 521px #fff,
    132px 1039px #fff,
    1888px 1547px #fff,
    899px 1226px #fff,
    1887px 580px #fff,
    1548px 1092px #fff,
    1626px 689px #fff,
    254px 1072px #fff,
    1684px 1211px #fff,
    672px 1267px #fff,
    939px 668px #fff,
    1969px 645px #fff,
    1126px 983px #fff,
    457px 568px #fff,
    476px 876px #fff,
    829px 1896px #fff,
    1364px 1846px #fff,
    1507px 1120px #fff,
    936px 1948px #fff,
    1833px 832px #fff,
    1424px 285px #fff,
    1377px 1596px #fff,
    432px 153px #fff,
    1348px 1410px #fff,
    1529px 954px #fff,
    1102px 387px #fff,
    264px 297px #fff,
    811px 977px #fff,
    1931px 673px #fff,
    1734px 978px #fff,
    1772px 1567px #fff,
    1197px 1400px #fff,
    764px 282px #fff,
    1103px 822px #fff,
    872px 1803px #fff,
    1057px 1763px #fff,
    52px 1299px #fff,
    1312px 1236px #fff,
    235px 1082px #fff,
    299px 1086px #fff,
    1017px 1602px #fff,
    1950px 626px #fff,
    1306px 132px #fff,
    1358px 1618px #fff,
    1873px 1718px #fff,
    1447px 940px #fff,
    1888px 1195px #fff,
    1704px 1765px #fff,
    872px 1357px #fff,
    1555px 1120px #fff,
    250px 1415px #fff,
    450px 415px #fff,
    492px 901px #fff,
    170px 1641px #fff,
    56px 1129px #fff,
    627px 1514px #fff,
    1221px 500px #fff,
    324px 1895px #fff,
    1397px 1775px #fff,
    1966px 598px #fff,
    1550px 763px #fff,
    326px 1605px #fff,
    261px 969px #fff,
    890px 281px #fff,
    736px 544px #fff,
    589px 1262px #fff,
    1581px 368px #fff,
    1900px 1132px #fff,
    1914px 585px #fff,
    1864px 1517px #fff,
    241px 217px #fff,
    859px 787px #fff,
    996px 1729px #fff,
    741px 121px #fff,
    418px 414px #fff,
    142px 967px #fff,
    387px 896px #fff,
    703px 562px #fff,
    968px 1136px #fff,
    1682px 332px #fff,
    1287px 846px #fff,
    256px 1427px #fff,
    1885px 432px #fff,
    1739px 1458px #fff,
    345px 1769px #fff,
    1140px 1612px #fff,
    192px 1921px #fff,
    920px 471px #fff,
    834px 881px #fff,
    917px 1803px #fff,
    466px 1266px #fff,
    483px 1108px #fff,
    689px 986px #fff,
    1279px 786px #fff,
    458px 910px #fff,
    1250px 870px #fff,
    785px 1654px #fff,
    1543px 1757px #fff,
    287px 1272px #fff;
}

@keyframes text_713 {
  0% {
    letter-spacing: 1px;
    transform: translateX(0px);
  }

  40% {
    letter-spacing: 2px;
    transform: translateX(26px);
  }

  80% {
    letter-spacing: 1px;
    transform: translateX(32px);
  }

  90% {
    letter-spacing: 2px;
    transform: translateX(0px);
  }

  100% {
    letter-spacing: 1px;
    transform: translateX(0px);
  }
}

@keyframes loading_713 {
  0% {
    width: 16px;
    transform: translateX(0px);
  }

  40% {
    width: 100%;
    transform: translateX(0px);
  }

  80% {
    width: 16px;
    transform: translateX(64px);
  }

  90% {
    width: 100%;
    transform: translateX(0px);
  }

  100% {
    width: 16px;
    transform: translateX(0px);
  }
}

@keyframes loading2_713 {
  0% {
    transform: translateX(0px);
    width: 16px;
  }

  40% {
    transform: translateX(0%);
    width: 80%;
  }

  80% {
    width: 100%;
    transform: translateX(0px);
  }

  90% {
    width: 80%;
    transform: translateX(15px);
  }

  100% {
    transform: translateX(0px);
    width: 16px;
  }
}

@keyframes animStar {
  from {
    transform: translateY(0px);
  }
  to {
    transform: translateY(-2000px);
  }
}

@keyframes introFadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
 
 

