.sty-wrap { max-width: 78rem; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.sty-wrap h1 { margin: 0.5rem 0 0.75rem; }
.sty-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); padding: 0; margin: 2rem 0 0; }
.sty-grid a { display: grid; gap: 0.35rem; text-decoration: none; color: inherit; }
.sty-grid img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; border-radius: 10px; }
.sty-grid a:hover img { outline: 2px solid currentColor; outline-offset: 2px; }
.sty-card__name { font-weight: 700; }
.sty-card__industry { font-size: 0.9rem; opacity: 0.7; }
.sty-toc { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; margin: 1.5rem 0 2.5rem; font-size: 0.95rem; }
.sty-sec { margin: 0 0 3rem; scroll-margin-top: 1rem; }
.sty-sec h2 { display: flex; align-items: baseline; gap: 0.6rem; }
.sty-sec .num { font-variant-numeric: tabular-nums; opacity: 0.45; }
.sty-shot { display: block; width: 100%; border-radius: 10px; margin: 0.75rem 0 1rem; }
.sty-shot--hero { aspect-ratio: 16 / 9; object-fit: cover; }
.sty-shot--todo { display: grid; place-items: center; min-height: 9rem; border: 1px dashed currentColor; opacity: 0.45; font-size: 0.9rem; }
.sty-set { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.sty-set caption { text-align: start; font-weight: 600; padding-bottom: 0.4rem; }
.sty-set th, .sty-set td { text-align: start; vertical-align: top; padding: 0.45rem 0.75rem 0.45rem 0; border-bottom: 1px solid rgba(127, 127, 127, 0.25); }
.sty-set th[scope="row"] { font-weight: 500; width: 40%; }
.sty-blocks { margin: 0.5rem 0 0; padding-inline-start: 1.25rem; display: grid; gap: 0.75rem; }
.sty-blocks dl { display: grid; grid-template-columns: auto 1fr; gap: 0.15rem 0.75rem; margin: 0.35rem 0 0; font-size: 0.92rem; }
.sty-blocks dt { opacity: 0.7; }
.sty-blocks dd { margin: 0; }
.sw { display: inline-block; width: 0.85em; height: 0.85em; border-radius: 3px; vertical-align: -0.1em; box-shadow: inset 0 0 0 1px rgba(127, 127, 127, 0.5); }
.sty-next { border-top: 1px solid rgba(127, 127, 127, 0.3); padding-top: 1.5rem; }
@media (max-width: 40rem) { .sty-set th[scope="row"] { width: 50%; } }
