/* Capabilities: four glass panels listing what we build, each with a native <details> dropdown
   revealing the tools behind it. Plain text on purpose: readable and indexable. */
.medusa-caps { --mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace; position: relative; padding: clamp(80px, 9vw, 140px) 3.2rem; color: #e0e5ef; }
.medusa-caps > * { max-width: 1760px; margin-inline: auto; }
.medusa-caps__label { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; font: 300 10px/1.4 var(--_font-default); letter-spacing: .14em; color: #aab6c8; }
.medusa-caps__label span { width: 70px; height: 1px; background: #aab6c82b; }
.medusa-caps__header { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: clamp(28px, 3vw, 48px); }
.medusa-caps h2 { margin: 0; font: 400 clamp(36px, 4.4vw, 78px)/1 var(--_font-default); letter-spacing: -.045em; color: inherit; }
.medusa-caps__header p { max-width: 380px; margin: 0; font: 300 clamp(13px, 1.05vw, 17px)/1.45 var(--_font-default); color: #afb9cc; }
/* Equal panels: every card in a row shares one height and its button sits on the same line. */
.medusa-caps__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.4vw, 24px); align-items: stretch; }

.medusa-caps__panel {
  position: relative; display: flex; flex-direction: column; padding: clamp(22px, 2vw, 32px); border-radius: 22px;
  border: 1px solid #e0e5ef24; background: linear-gradient(145deg, #222c4a73, #0c122259);
  box-shadow: inset 1px 1px 0 #ffffff12, 0 30px 80px #03060e59; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.medusa-caps__code { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 20px; font: 400 10px/1.3 var(--mono); letter-spacing: .16em; color: #a79ac8; }
.medusa-caps__code span { color: #8f9ab0; letter-spacing: .08em; }
.medusa-caps h3 { margin: 0 0 18px; font: 400 clamp(22px, 1.8vw, 30px)/1.1 var(--_font-default); letter-spacing: -.03em; color: #f1f3f9; }
.medusa-caps__list { margin: 0 0 22px; padding: 0; list-style: none; border-top: 1px solid #e0e5ef1a; }
.medusa-caps__list li { position: relative; padding: 11px 22px 11px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-bottom: 1px solid #e0e5ef1a; font: 300 clamp(13px, 1vw, 16px)/1.3 var(--_font-default); color: #d6dcea; transition: color .3s, padding-left .3s; }
.medusa-caps__list li::after { content: '\2197'; position: absolute; right: 2px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #b9a8ff; opacity: 0; transition: opacity .3s; }
.medusa-caps__list li:hover { color: #fff; padding-left: 6px; }
.medusa-caps__list li:hover::after { opacity: 1; }

/* "See the technology" dropdown. */
.medusa-caps__tech { position: relative; margin-top: auto; }
/* The tool list opens as a floating glass menu, so panel heights never change. */
.medusa-caps__stack { position: absolute; z-index: 6; left: 0; right: 0; top: calc(100% + 8px); max-height: min(60vh, 460px); overflow-y: auto; padding: 4px 16px 18px; border: 1px solid #e0e5ef2e; border-radius: 20px; background: linear-gradient(145deg, #1c2440f2, #0b1122f2); box-shadow: 0 24px 60px #03060ecc; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); scrollbar-width: thin; }
.medusa-caps__tech summary { display: flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid #e0e5ef2e; border-radius: 20px; list-style: none; cursor: pointer; font: 400 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #f1f3f9; background: linear-gradient(145deg, #222c4a8c, #0c122273); transition: border-color .3s; }
.medusa-caps__tech summary::-webkit-details-marker { display: none; }
.medusa-caps__tech summary:hover { border-color: #e0e5ef66; }
.medusa-caps__tech summary em { margin-left: auto; padding: 3px 7px; border-radius: 20px; font-style: normal; font-size: 10px; color: #fff; background: linear-gradient(135deg, #7657f0, #a58cff); }
.medusa-caps__tech summary svg { width: 16px; height: 16px; flex: none; transition: transform .3s; }
.medusa-caps__tech[open] summary { border-color: #a58cff66; }
.medusa-caps__tech[open] summary svg { transform: rotate(180deg); }
.medusa-caps__tech summary:focus-visible { outline: 2px solid #a3b8d2; outline-offset: 3px; }
.medusa-caps__group { margin: 18px 0 8px; font: 400 9px/1.3 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: #8f9ab0; }
.medusa-caps__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.medusa-caps__chips li { padding: 6px 10px; border: 1px solid #e0e5ef1f; border-radius: 20px; background: #0d1426b3; font: 400 11px/1.2 var(--_font-default); color: #c9d2e2; }
@media (prefers-reduced-motion: no-preference) {
  .medusa-caps__tech[open] .medusa-caps__stack { animation: medusa-caps-in .45s ease both; }
  @keyframes medusa-caps-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 1199px) { .medusa-caps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .medusa-caps { padding-inline: 2.2rem; }
  .medusa-caps__header { flex-direction: column; align-items: start; gap: 16px; }
  .medusa-caps__grid { grid-template-columns: minmax(0, 1fr); }
  .medusa-caps__tech summary { min-height: 44px; }
  .medusa-caps__stack { position: static; margin-top: 8px; max-height: none; }
}
