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

.aa-disc__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 45px; }
.aa-disc__head .section-label { margin-bottom: 20px; }
.aa-disc__intro { color: var(--color-accent); font-size: 14px; line-height: 1.75; max-width: 370px; }
@media (max-width: 640px) {
  .aa-disc__head { display: block; margin-bottom: 30px; }
  .aa-disc__intro { margin-top: 20px; }
}
.aa-disc__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); }
.aa-disc__item {
  position: relative; padding: 34px 32px 28px; min-height: 260px; display: flex; flex-direction: column;
  background: radial-gradient(ellipse at 100% 0%, rgba(25, 111, 180, .12), transparent 55%), var(--color-surface);
  transition: background-color .2s;
}
.aa-disc__item:hover { background-color: var(--color-surface-2); }
.aa-disc__num { font-size: 64px; font-weight: 200; line-height: 1; letter-spacing: -.05em; color: var(--color-accent); margin-bottom: 26px; }
.aa-disc__item h3 { font-size: clamp(20px, 2vw, 26px); font-weight: 350; letter-spacing: -.03em; line-height: 1.15; color: var(--color-fg); max-width: 420px; }
.aa-disc__item p { margin-top: 12px; color: var(--color-muted); font-size: 13px; line-height: 1.65; max-width: 440px; }
.aa-disc__meta { margin-top: auto; padding-top: 26px; display: flex; justify-content: space-between; align-items: center; font: 11px var(--font-mono); color: var(--color-dim); text-transform: uppercase; letter-spacing: .5px; }
.aa-disc__link { color: var(--color-accent); text-decoration: none; font-size: 16px; }
body.cms-edit .aa-disc__grid .cms-list-item-add { grid-column: 1 / -1; }
.aa-disc__btn { margin-top: 32px; }
.aa-disc__btn::after { content: "\2197"; }
@media (max-width: 640px) {
  .aa-disc__grid { grid-template-columns: 1fr; }
  .aa-disc__item { min-height: 0; padding: 28px 22px 22px; }
  .aa-disc__num { font-size: 48px; margin-bottom: 18px; }
}

/* Optional background image per item: darkened so the text stays
   readable, with a slow zoom on hover. The "Image" button that sets it
   only shows in the editor. */
.aa-disc__item { position: relative; overflow: hidden; isolation: isolate; }
.aa-disc__img {
  position: absolute; inset: 0; z-index: -1;
  background: center / cover no-repeat; opacity: 1;
  transition: transform 6s ease-out, opacity .4s;
}
.aa-disc__img::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 19, .55) 0%, rgba(8, 12, 19, .78) 55%, rgba(8, 12, 19, .95) 100%);
}
.aa-disc__item:hover .aa-disc__img { transform: scale(1.05); }
.aa-disc__img-btn { display: none; }
body.cms-edit .aa-disc__img-btn {
  display: inline-flex; position: absolute; top: 12px; right: 12px; z-index: 3;
  padding: 6px 10px; font: 11px var(--font-body); cursor: pointer;
  color: var(--color-fg); background: rgba(5, 7, 11, .75);
  border: 1px dashed var(--color-border); border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) { .aa-disc__img { transition: none; } .aa-disc__item:hover .aa-disc__img { transform: none; } }
