/* =========================
   ABOUT
========================== */

.about {
  border-bottom: 1px solid var(--color-border);
}

/* =========================
   TOP
========================== */

.about-top {
  max-width: 620px;
}

.about .eyebrow {
  margin-bottom: 28px;
}

/* =========================
   TITLE
========================== */

.about-title {
  max-width: 600px;

  font-size: clamp(40px, 3.5vw, 56px);
  font-weight: 800;

  line-height: 1.05;
  letter-spacing: -0.045em;

  color: var(--color-text);
}

/* δεύτερη γραμμή */
.about-title-second {
  display: block;

  color: var(--color-text);
}

/* ΜΟΝΟ το personal */
.about-title .text-accent {
  color: var(--color-accent);
}

/* =========================
   SUBTITLE
========================== */

.about-subtitle {
  max-width: 500px;

  margin-top: 24px;

  font-size: 14px;
  line-height: 1.75;

  color: var(--color-text-muted);
}

/* =========================
   TEAM
========================== */

.about-team {
  display: grid;
  position: relative;
  z-index: 3;

  grid-template-columns: 1fr 1fr;

  gap: 90px;

  margin-top: 95px;
}

/* =========================
   TEAM MEMBER
========================== */

.team-member {
  display: block;

  max-width: 500px;

  padding: 0;

  border: 0;
}

/* =========================
   SMALL ORANGE LINE
========================== */

.team-line {
  width: 28px;
  height: 2px;

  margin-bottom: 19px;

  background-color: var(--color-accent);
}

/* =========================
   NAME
========================== */

.team-member h3 {
  margin: 0 0 7px;

  font-size: 20px;
  font-weight: 700;

  line-height: 1.2;
  letter-spacing: -0.02em;

  color: var(--color-text);
}

/* =========================
   ROLE
========================== */

.team-role {
  display: block;

  margin-bottom: 19px;

  font-family: var(--font-mono);

  font-size: 9px;
  font-weight: 500;

  line-height: 1.4;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--color-accent);
}

/* =========================
   DESCRIPTION
========================== */

.team-member p {
  max-width: 420px;

  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: var(--color-text-muted);
}

/* ================================
   ABOUT ILLUSTRATION
================================ */

.about-container {
  position: relative;
}

/* ================================
   ABOUT ILLUSTRATION
================================ */

.about-illustration {
  position: absolute;

  top: -30px;
  right: 200px;

  width: 38%;
  max-width: 740px;

  aspect-ratio: 1 / 1;

  z-index: 1;
}

.about-illustration img {
  position: absolute;
  display: block;
  height: auto;
}

.about-team-image {
  position: absolute;

  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: auto;

  object-fit: contain;

  z-index: 1;
}

/* ================================
   AMBIENT EFFECTS
================================ */

.about-illustration {
  overflow: visible;
}

/* ================================
   LAMP GLOW
================================ */

.lamp-glow {
  position: absolute;

  width: 95px;
  height: 95px;
  top: 25%;
  right: 5%;

  border-radius: 50%;

  background: radial-gradient(
    circle,
    rgba(232, 160, 32, 0.7) 0%,
    rgba(232, 160, 32, 0.35) 30%,
    rgba(232, 160, 32, 0.1) 55%,
    transparent 75%
  );

  filter: blur(9px);

  pointer-events: none;

  z-index: 4;

  animation: lampFlicker 4.8s ease-in-out infinite;
}
/* ================================
   LAPTOP GLOW
================================ */

.laptop-glow {
  position: absolute;

  width: 190px;
  height: 25px;

  top: 32%;
  left: 13%;

  border-radius: 50%;

  background: radial-gradient(
    ellipse at center,
    rgba(210, 230, 255, 0.85) 0%,
    rgba(200, 220, 245, 0.48) 28%,
    rgba(180, 210, 240, 0.2) 72%,
    transparent 76%
  );

  filter: blur(14px);

  pointer-events: none;
  z-index: 1;

  animation: laptopPulse 4.5s ease-in-out infinite;
}

/* ================================
   COFFEE STEAM
================================ */

.coffee-steam {
  position: absolute;

  width: 36px;
  height: 65px;

  left: 5%;
  top: 31%;

  pointer-events: none;
  z-index: 5;
}

.coffee-steam span {
  position: absolute;

  bottom: 0;

  width: 2px;
  height: 30px;

  border-radius: 999px;

  background: linear-gradient(
    to top,
    transparent,
    rgba(238, 244, 251, 0.45),
    transparent
  );

  filter: blur(px);

  opacity: 0;

  animation: steamRise 3s ease-out infinite;
}

.coffee-steam span:nth-child(1) {
  left: 5px;
  animation-delay: 0s;
}

.coffee-steam span:nth-child(2) {
  left: 15px;
  animation-delay: 0.8s;
}

.coffee-steam span:nth-child(3) {
  left: 25px;
  animation-delay: 1.6s;
}

/* ================================
   ANIMATIONS
================================ */

@keyframes lampFlicker {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(1);
  }

  22% {
    opacity: 0.8;
  }

  46% {
    opacity: 0.58;
    transform: scale(0.98);
  }

  68% {
    opacity: 0.74;
    transform: scale(1.02);
  }
}

@keyframes laptopPulse {
  0%,
  100% {
    opacity: 0.55;
  }

  50% {
    opacity: 0.9;
  }
}

@keyframes steamRise {
  0% {
    opacity: 0;
    transform: translate(0, 8px) scaleY(0.7);
  }

  20% {
    opacity: 0.45;
  }

  45% {
    transform: translate(3px, -5px) scaleY(1);
  }

  70% {
    opacity: 0.25;
    transform: translate(-2px, -18px) scaleY(1.08);
  }

  100% {
    opacity: 0;
    transform: translate(2px, -32px) scaleY(1.15);
  }
}
