.awards {
  background: var(--bp-paper-2);
  color: var(--ink, #0a0c14);
  padding: 110px 6vw 120px;
  border-top: 1px solid var(--line, rgba(10, 12, 20, .1));
}

.awards__inner {
  max-width: 1240px;
  margin: 0 auto;
}

.awards__head {
  max-width: 720px;
  margin: 0 0 56px;
  display: grid;
  gap: 18px;
}

.awards__title {
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.05;
  letter-spacing: -.025em;
  font-weight: 500;
  margin: 0;
}

.awards__title em {
  font-style: normal;
  color: #0d6efd;
}

.awards__sub {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--fg-soft, #4a4f5c);
  margin: 0;
  max-width: 60ch;
}

/* ----- grid ----- */
.awards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
}

@media (max-width: 600px) {
  .awards { padding: 80px 5vw 90px; }
  .awards__grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ----- card ----- */
.award-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 260px;
  padding: 26px 24px 24px;
  background: #ffffff;
  border: 1px solid rgba(10, 12, 20, .08);
  border-radius: 20px;
  cursor: pointer;
  overflow: hidden;
  transition: transform .4s cubic-bezier(.2, .8, .2, 1),
              box-shadow .4s cubic-bezier(.2, .8, .2, 1),
              border-color .4s;
}

.award-card:hover,
.award-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(13, 110, 253, .35);
  box-shadow: 0 22px 44px -22px rgba(20, 40, 120, .35);
}

@media (prefers-reduced-motion: reduce) {
  .award-card { transition: none; }
  .award-card:hover { transform: none; }
}

/* corner arrow — Greza signature */
.award-card__arrow {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid rgba(10, 12, 20, .16);
  background: #fff;
  color: var(--ink, #0a0c14);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background .3s, color .3s, transform .3s, border-color .3s;
}

.award-card:hover .award-card__arrow {
  background: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
  transform: rotate(-45deg);
}

/* logo */
.award-card__logo {
  width: 116px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.award-card__logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* fallback chip when logo is missing */
.award-card__logo:empty::before {
  content: attr(data-name);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--fg-faint, #9aa0ad);
  text-transform: uppercase;
}

.award-card__name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  margin: 0;
  padding-right: 44px;
  color: var(--ink, #0a0c14);
}

.award-card__desc {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--fg-soft, #4a4f5c);
  margin: 0;
  /* clamp to 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.award-card__more {
  margin-top: auto;
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #0d6efd;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  /* revealed on hover — details on demand */
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s, transform .3s;
}

.award-card:hover .award-card__more,
.award-card:focus-within .award-card__more {
  opacity: 1;
  transform: translateY(0);
}

.award-card__more:hover { text-decoration: underline; }

/* keep the link visible on touch devices that lack hover */
@media (hover: none) {
  .award-card__more { opacity: 1; transform: none; }
}

/* ============================================================
   MODAL
   ============================================================ */
.awards-modal[hidden] { display: none; }

.awards-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
}

.awards-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(8, 10, 20, .55);
  backdrop-filter: blur(3px);
  animation: awModalFade .25s ease;
}

.awards-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(730px, 100%);
  max-height: 95vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 20px;
  padding: 36px 34px 34px;
  box-shadow: 0 40px 80px -30px rgba(10, 20, 60, .55);
  animation: awModalRise .3s cubic-bezier(.2, .8, .2, 1);
}

@keyframes awModalFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes awModalRise {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.awards-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(10, 12, 20, .14);
  background: #fff;
  font-size: 20px;
  line-height: 1;
  color: var(--ink, #0a0c14);
  cursor: pointer;
  transition: background .2s, color .2s;
}
.awards-modal__close:hover { background: #0d6efd; color: #fff; border-color: #0d6efd; }

.awards-modal__logo {
  height: 60px;
  display: flex;
  align-items: center;
  margin-bottom: 14px;
}
.awards-modal__logo img { max-height: 100%; max-width: 160px; object-fit: contain; }

.awards-modal__title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 500;
  margin: 0 0 18px;
  color: var(--ink, #0a0c14);
  padding-right: 30px;
}

.awards-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.awards-modal__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.awards-modal__list li {
  position: relative;
  padding: 12px 12px 12px 36px;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--fg-soft, #4a4f5c);
  border-bottom: 1px solid #e8e8e8;
}

.awards-modal__list li:last-child {
  border-bottom: none;
}

.awards-modal__list li::before {
  content: "✓";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: #4a4f5c;
  font-weight: 500;
}

body.aw-modal-open { overflow: hidden; }
