*,
*::before,
*::after {
  box-sizing: border-box;
}
body,
html {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family:
    "Segoe UI",
    system-ui,
    -apple-system,
    sans-serif;
  background-color: #0f172a;
  background-image: url("../images/background.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: #ffffff;
  min-height: 100vh;
}

/* Desktop */
.portfolio-grid {
  /* Vert stack */
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  grid-template-rows: 1fr auto 1fr;
  min-height: 100vh;
  padding: 40px;
  gap: 20px;
}

/* Glassbox */
.glass-box {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 15px;
  padding: 30px;
}

/* Boxes */
.box-top-left {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  max-width: 350px;
}

.box-center {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: center;
  text-align: center;
  width: 100%;
  max-width: 500px;
}

.box-bottom-right {
  grid-column: 3;
  grid-row: 3;
  align-self: end;
  justify-self: end;
  max-width: 320px;
  text-align: right;
}

h1 {
  margin: 0 0 10px 0;
  font-size: 2.8rem;
  letter-spacing: 2px;
}
h2 {
  margin: 0 0 15px 0;
  font-size: 1.2rem;
  font-weight: 500;
  color: #cbd5e1;
}
p {
  margin: 0;
  line-height: 1.6;
  color: #f8fafc;
}
.divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  margin: 20px 0;
}
.status {
  font-family: monospace;
  color: #38bdf8;
  font-size: 0.9rem;
}
.privacy-text {
  font-size: 0.9rem;
  color: #94a3b8;
  line-height: 1.5;
}

/* Mobile */

@media (max-width: 850px) {
  .portfolio-grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 15px;
    gap: 20px;
  }

  .glass-box {
    padding: 20px;
  }

  .box-top-left,
  .box-center,
  .box-bottom-right {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }
}
