.problems, .caps, .teams { display: grid; gap: clamp(0.9rem, 2vw, 1.5rem); }
.problems { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.caps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.teams { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.problem, .cap, .team { background: #fff; padding: clamp(1.25rem, 2vw, 1.75rem); display: grid; align-content: start; gap: 0.7rem; }
.problem .icon, .cap .icon { width: 1.75rem; height: 1.75rem; color: var(--blue); }
.problem h3, .cap h3, .team h3 { font-size: 1.1875rem; line-height: 1.25; font-weight: 600; }
.problem p, .cap p, .team p { color: var(--graphite-600); font-size: 0.9688rem; }
.cap { position: relative; transition: border-color 0.25s, transform 0.25s var(--ease); }
.cap:hover { --cut-line: var(--blue); transform: translateY(-2px); }
.cap__tag { position: absolute; inset-block-start: 1rem; inset-inline-end: 2rem; font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: #17663f; }
.caps__note { margin-top: 1.5rem; max-width: 70ch; padding: 1rem 1.25rem; border-inline-start: 4px solid var(--blue); background: #eaf1f9; color: var(--graphite-900); font-size: 0.9375rem; }

.ops { background: #101519; padding: clamp(1rem, 2.4vw, 2rem); display: grid; gap: 1.25rem; }
.ops__demo { font-size: 0.75rem; letter-spacing: 0.14em; color: var(--warning); }
.ops__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(1rem, 3vw, 2.5rem); }
.ops__table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.ops__table th, .ops__table td { padding: 0.75rem 0.5rem; text-align: start; border-bottom: 1px solid var(--graphite-700); font-weight: 400; }
.ops__table thead th { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--graphite-400); }
.ops__table tbody th { font-weight: 500; }
.ops__table tbody th .mono { display: block; font-size: 0.75rem; color: var(--graphite-400); }
.ops__table .num { text-align: end; }
.ops__h { margin: 0 0 0.6rem; font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--graphite-400); }
.ops__side { display: grid; gap: 0.5rem; align-content: start; }
.ops__list { display: grid; gap: 0.5rem; font-size: 0.8125rem; color: var(--graphite-300); margin-bottom: 1rem; }
.ops__alerts { display: grid; gap: 0.6rem; font-size: 0.9375rem; }
.ops__alerts li { display: flex; gap: 0.7rem; align-items: baseline; }
.dot { flex: none; width: 0.6rem; height: 0.6rem; background: var(--orange); transform: rotate(45deg); }
.dot--blue { background: var(--blue-light); }

.faq__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.faq__list { display: grid; border-top: 1px solid var(--graphite-200); }
.faq details { border-bottom: 1px solid var(--graphite-200); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 0; font-weight: 600; font-size: 1.0625rem; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex: none; width: 0.6rem; height: 0.6rem; border-inline-end: 2px solid var(--graphite-600); border-block-end: 2px solid var(--graphite-600); transform: rotate(45deg); transition: transform 0.25s var(--ease); margin-inline-end: 0.3rem; }
.faq details[open] summary::after { transform: rotate(225deg); }
.faq details p { padding: 0 0 1.25rem; padding-inline-end: 2rem; color: var(--graphite-600); max-width: 60ch; }

.footer { padding-block: 2rem; border-top: 1px solid var(--graphite-700); }
.footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; font-size: 0.875rem; color: var(--graphite-300); }
.footer img { height: 1.75rem; width: auto; }

@media (max-width: 70rem) { .teams { grid-template-columns: repeat(2, minmax(0, 1fr)); } .caps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 56rem) { .problems { grid-template-columns: 1fr; } .faq__grid, .ops__grid { grid-template-columns: 1fr; } }
@media (max-width: 40rem) { .caps, .teams { grid-template-columns: 1fr; } .ops__table { font-size: 0.875rem; } .faq details p { padding-inline-end: 0; } }

.footer__link { color: var(--graphite-300); text-underline-offset: 3px; }
.footer__link:hover { color: var(--survey); }
.demo__privacy { grid-column: 1 / -1; margin: 0; font-size: 0.8125rem; }
.demo__privacy a { color: var(--graphite-300); text-underline-offset: 3px; }
.demo__privacy a:hover { color: var(--survey); }
