.product-directory { display: flex; flex-direction: column; min-height: 100%; padding-block: clamp(28px,5vh,55px) 24px; }
.directory-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; }
.directory-top h2 { margin-top: 24px; font-size: clamp(38px,4.2vw,60px); }
.directory-top > p { max-width: 240px; margin-bottom: 3px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.directory-filter { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 40px; padding-block: 17px; border-block: 1px solid var(--line); }
.filter-current { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.filter-current > span { color: var(--orange); font: 10px/1 var(--mono); }
.directory-filter > span:last-child { color: var(--muted); font: 9px/1.5 var(--mono); letter-spacing: 1px; }
.product-grid { display: grid; width: min(100%,800px); grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); align-content: start; gap: 32px 48px; padding-block: 32px; }
.product-tile { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 16px 20px 22px; border-radius: 8px; transition: background .2s, transform .2s; }
.product-tile:hover { background: #eeeee6; transform: translateY(-4px); }
.product-icon { position: relative; width: 112px; height: 112px; margin-bottom: 22px; }
.product-icon img { width: 100%; height: 100%; border-radius: 23%; box-shadow: 0 8px 20px #353a2114; }
.product-arrow { position: absolute; bottom: -6px; right: -7px; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); font-size: 15px; }
.product-tile h3 { font-size: 28px; font-weight: 550; letter-spacing: -.8px; line-height: 1.2; }
.product-category { margin-top: 8px; color: var(--orange); font: 11px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .5px; }
.product-tile p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.product-demo-badge { display: flex; align-items: center; gap: 6px; margin-top: 18px; font-size: 11px; color: #667153; }
.directory-note { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); }
.directory-note > svg { color: #7a856b; width: 26px; height: 26px; }
.directory-note p { font-size: 12px; line-height: 1.8; }
.directory-note > span { margin-left: auto; font: 8px/1.5 var(--mono); letter-spacing: .7px; }

@media (max-height: 760px) and (min-width: 701px) {
  .directory-top h2 { margin-top: 16px; }
  .directory-filter { margin-top: 24px; }
  .product-grid { padding-block: 20px; }
  .product-icon { width: 96px; height: 96px; margin-bottom: 18px; }
}
@media (max-width: 700px) {
  .product-directory { padding-block: 30px 20px; }
  .directory-top { flex-direction: column; align-items: flex-start; gap: 20px; }
  .directory-top h2 { margin-top: 20px; font-size: 38px; }
  .directory-top > p br { display: none; }
  .directory-filter { margin-top: 27px; padding-block: 15px; }
  .directory-filter > span:last-child { display: none; }
  .product-grid { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-block: 20px; }
  .product-tile { padding: 12px 0 18px; }
  .product-icon { width: 88px; height: 88px; }
  .product-tile h3 { font-size: clamp(20px,4vw,24px); }
  .product-category { font-size: 10px; letter-spacing: .2px; }
  .product-tile p { font-size: 12px; }
  .directory-note { gap: 12px; padding-top: 18px; }
  .directory-note > span { display: none; }
  .directory-note p { font-size: 11px; }
}
