/* Focused finish for the About cards, Projects handoff, and contact footer. */

#about .about-video-viewport {
  height: clamp(410px, 25vw, 455px) !important;
  perspective: 650px;
  perspective-origin: 50% 42%;
  overflow: hidden;
}

#about .about-text-card {
  box-sizing: border-box;
  top: 18px !important;
  width: clamp(220px, 14vw, 265px) !important;
  height: clamp(355px, 21vw, 395px) !important;
  padding: 18px 16px !important;
  pointer-events: auto !important;
  isolation: isolate;
  overflow: hidden !important;
  transform-style: preserve-3d !important;
  border: 1px solid rgba(110, 224, 211, .72) !important;
  border-radius: 17px !important;
  background:
    radial-gradient(circle at var(--card-glow-x, 50%) var(--card-glow-y, 12%), rgba(61, 201, 190, .19), transparent 55%),
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(105, 223, 214, .035) 24px),
    repeating-linear-gradient(90deg, transparent 0 23px, rgba(105, 223, 214, .025) 24px),
    linear-gradient(150deg, #173e43, #08272e 58%, #092e34) !important;
  box-shadow: inset 0 1px 0 rgba(235, 255, 252, .24), inset 0 0 24px rgba(70, 211, 194, .14), 0 15px 30px rgba(8, 37, 41, .28), 0 26px 55px rgba(3, 22, 26, .18) !important;
  backface-visibility: hidden;
  transition: border-color .3s ease, box-shadow .3s ease, background-position .3s ease !important;
}

#about .about-text-card::before {
  z-index: 2;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, #83f1df 28%, #d4fff5 50%, #70deca 72%, transparent) !important;
  box-shadow: 0 0 16px rgba(114, 245, 220, .62) !important;
}

#about .about-text-card::after {
  content: '' !important;
  display: block !important;
  position: absolute;
  z-index: 1;
  inset: 0;
  border-radius: inherit;
  background: url('/card-circuit.svg') center / 100% 100% no-repeat;
  pointer-events: none;
}

#about .about-text-card:hover {
  border-color: rgba(170, 255, 235, .94) !important;
  box-shadow: inset 0 1px 0 rgba(245, 255, 251, .38), 0 38px 70px rgba(4, 30, 33, .45), 0 0 35px rgba(45, 194, 167, .35) !important;
}

#about .about-card-inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; height: 100%; transform: translateZ(22px); }
#about .about-card-pill { align-self: stretch; padding: 6px 8px; border: 1px solid rgba(120, 232, 210, .28) !important; border-radius: 999px; background: rgba(5, 29, 34, .72) !important; color: #9ce6d6 !important; font-size: 8.5px; font-weight: 750; letter-spacing: .055em; line-height: 1.2; text-align: center; }
#about .about-card-title { margin: 19px 0 9px; color: #f7fffd !important; font-size: clamp(16px, 1vw, 19px); font-weight: 750; line-height: 1.2; text-align: center; text-shadow: 0 2px 12px rgba(0, 9, 11, .32) !important; }
#about .about-card-desc { margin: 0; color: #d9efed !important; font-size: clamp(10.8px, .7vw, 12px); line-height: 1.4; text-align: center; }
#about .about-card-tags { display: flex; align-self: stretch; flex-wrap: wrap; gap: 4px; margin-top: auto; padding-top: 10px; }
#about .about-tag-pill { padding: 3px 5px; border: 1px solid rgba(100, 210, 190, .40) !important; border-radius: 5px; color: #9eecda !important; background: rgba(6, 47, 51, .58) !important; font-size: 8.5px; line-height: 1.2; }
#about .about-hand-note { display: none !important; }

/* Projects rise as one curved light-green sheet, with no detached strip. */
#about { background: #f7faf9 !important; border-bottom: 0 !important; box-shadow: none !important; }
#about::before { background: #f7faf9 !important; }
/* portfolio cleaned */
/* circle-clip active */
/* portfolio::before removed */
/* portfolio::after removed */
#portfolio > div:nth-child(2),
#portfolio .portfolio-sticky-container {
  background: #c8f0dd !important;
  border: 0 !important;
}
#portfolio .portfolio-heading-title,
#portfolio h2,
#portfolio h3 { color: #0a3732 !important; text-shadow: none !important; }
#portfolio p { color: #174c47 !important; }
#portfolio .portfolio-gallery-card { box-shadow: 0 24px 60px rgba(15, 72, 64, .24) !important; }

/* The green project surface resolves into a cool gray-to-black gradient. */
#work-with-me {
  background:
    linear-gradient(180deg, rgba(190, 238, 218, 0) 0%, #91aba7 11%, #708285 20%, #4c6063 34%, #283a3e 57%, #07090a 100%),
    linear-gradient(90deg, #c8f0dd, #c8f0dd) !important;
}
#work-with-me::before { content: none !important; display: none !important; }

/* Deep green edges around a black center, blooming into vivid green below. */
#footer {
  background: linear-gradient(180deg, #08251d 0%, #050908 17%, #030504 31%, #123d2b 53%, #087d4f 74%, #12c47b 89%, #1be995 100%) !important;
  background-size: 100% 108% !important;
  animation: footer-gradient-drift 14s ease-in-out infinite;
  color: #fff !important;
}
#footer::before { content: none !important; display: none !important; }
#footer > img:first-child { display: none !important; }
#footer .rounded-4xl {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(180deg, #08251d 0%, #050908 16%, #030504 31%, #123d2b 52%, #098557 75%, #16d78a 100%) !important;
  background-size: 100% 108% !important;
  animation: footer-gradient-drift 14s ease-in-out infinite;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  box-shadow: 0 26px 65px rgba(0, 0, 0, .55) !important;
  backdrop-filter: none !important;
}
#footer .rounded-4xl::before {
  content: '';
  position: absolute;
  inset: -15% 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(4, 54, 37, 0) 0%, rgba(7, 102, 65, .35) 26%, rgba(9, 179, 108, .76) 76%, #16d78a 100%);
  -webkit-mask: url('/footer-wave.svg') center / 100% 100% no-repeat;
  mask: url('/footer-wave.svg') center / 100% 100% no-repeat;
  animation: footer-green-wave 10s ease-in-out infinite;
}
#footer .rounded-4xl > * { position: relative; z-index: 1; }
#footer .footer-content > img,
#footer img[alt="Logo"] { filter: brightness(0) invert(1) !important; }
#footer .footer-content p,
#footer .footer-content p span,
#footer .footer-content a,
#footer .footer-content span,
#footer h6,
#footer li a,
#footer .flex.justify-between.py-8 p { color: #fff !important; text-shadow: none !important; }
#footer a.group { background: #fff !important; color: #111 !important; border: 1px solid #fff !important; box-shadow: none !important; }
#footer a.group span { color: #111 !important; }
#footer a.group:hover { background: #fff !important; color: #111 !important; box-shadow: 0 10px 25px rgba(0, 0, 0, .35) !important; }
#footer a.group:hover span { color: #111 !important; }
#footer a.group > span:first-child > span { background: #111 !important; }
#footer a.group:hover > span:first-child > span { background: #171717 !important; }
#footer a.group > span:first-child > span { transform: scale(1) !important; }
#footer a[aria-label] img { filter: brightness(0) invert(1) !important; }
#footer .flex.justify-between.py-8 { border-top: 1px solid rgba(255,255,255,.22) !important; }

#header > a:first-child,
#header > a:nth-child(2) {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  transition: opacity .5s cubic-bezier(.22, 1, .36, 1),
              transform .55s cubic-bezier(.22, 1, .36, 1),
              filter .5s ease,
              box-shadow .32s ease,
              visibility 0s;
}
body.footer-active #header > a:first-child,
body.footer-active #header > a:nth-child(2) {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, -16px, 0) scale(.95);
  filter: blur(2.5px);
  transition: opacity .38s ease,
              transform .42s ease,
              filter .38s ease,
              visibility 0s .42s;
}
body.footer-active #header > a:first-child img {
  filter: brightness(0) invert(1) !important;
}
@media (prefers-reduced-motion: reduce) {
  #header > a:first-child,
  #header > a:nth-child(2) {
    transition: none !important;
  }
}

@keyframes footer-gradient-drift {
  0%, 100% { background-position: 50% 0%; }
  50% { background-position: 50% 100%; }
}

@keyframes footer-green-wave {
  0%, 100% { transform: translate3d(0, 6%, 0); }
  50% { transform: translate3d(0, -7%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  #footer, #footer .rounded-4xl, #footer .rounded-4xl::before { animation: none !important; }
}

@media (max-width: 700px) {
  #about .about-video-viewport { height: 420px !important; }
  #about .about-text-card { width: min(72vw, 255px) !important; height: 365px !important; padding: 18px 15px !important; }
  #about .about-card-title { font-size: 17px !important; }
  #about .about-card-desc { font-size: 11.5px !important; line-height: 1.38 !important; }
  #about .about-tag-pill { font-size: 8.5px !important; }
  /* portfolio::before removed */
}

@media (prefers-reduced-motion: reduce) {
  #about .about-text-card { transition: none !important; }
  #about .about-card-inner { transform: none; }
  /* portfolio::before removed */
}
