/* Catalogue only; homepage cards and individual app pages retain their styles. */
body.app-directory-page{background:#f6f3eb;color:#171815}
body.app-directory-page main{width:min(100% - 6rem,72rem);max-width:none;margin-inline:auto;padding-bottom:3rem}
.app-directory{--directory-ink:#171815;--directory-orange:#f15a24;--directory-line:#d8d4ca}
.app-directory-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);border-radius:24px;overflow:hidden;margin-block:2rem 3rem}
.app-directory-copy{background:var(--directory-orange);padding:clamp(1.6rem,3.8vw,3.4rem);display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.app-directory-eyebrow{font-size:.7rem;line-height:1.6;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.app-directory-hero h1{font-size:clamp(2.5rem,4.3vw,4.2rem);letter-spacing:-.055em;line-height:1.04;font-weight:550;margin:1.5rem 0 1.25rem;overflow-wrap:anywhere}
.app-directory-hero h1 span{display:block}
.app-directory-intro{font-size:1rem;line-height:1.7;max-width:42ch}
.app-directory-jump{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:46px;border-radius:10px;padding:.75rem 1rem;background:var(--directory-ink);color:#fffdf8;font-size:.85rem;font-weight:600;margin-top:1.65rem}
.app-directory-jump:hover{background:#34352e}
.app-directory-aside{background:var(--directory-ink);color:#fffdf8;padding:clamp(1.6rem,3vw,2.75rem);display:flex;flex-direction:column;justify-content:center;min-width:0}
.app-directory-aside>.app-directory-eyebrow{color:#ffad8c}
.app-directory-aside h2{font-size:clamp(1.6rem,2.1vw,2rem);font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:1rem 0 1.5rem}
.app-directory-aside ul{list-style:none;padding:0;margin:0}
.app-directory-aside li{display:flex;align-items:flex-start;gap:1rem;border-top:1px solid #45463e;padding:.9rem 0}
.app-directory-aside li:last-child{padding-bottom:0}
.app-directory-aside li>span{color:#ffad8c;font-size:1.2rem;line-height:1.4}
.app-directory-aside strong{font-size:.88rem;font-weight:550}
.app-directory-aside li p{font-size:.8rem;color:#cdcac1;line-height:1.6;margin-top:.2rem;max-width:32ch}
.app-directory-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.app-directory-list-head h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.25;font-weight:550;letter-spacing:-.035em}
.app-directory-count{font-size:.8rem;color:#585a51;white-space:nowrap}
.app-directory-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.app-directory-filters[hidden],.app-directory .catalog-card[hidden]{display:none}
.app-directory-filters button{border:1px solid #8b877e;border-radius:999px;background:transparent;color:var(--directory-ink);font:500 .8125rem/1.3 Arial,Helvetica,sans-serif;min-height:44px;padding:.65rem 1rem;cursor:pointer;transition:background-color .15s,color .15s}
.app-directory-filters button:hover{background:#e9e4da}
.app-directory-filters button[aria-pressed=true]{background:var(--directory-ink);border-color:var(--directory-ink);color:#fffdf8}
.app-directory .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;scroll-margin-top:1.5rem}
.app-directory .catalog-card{background:#fffdf8;border:1px solid var(--directory-line);border-radius:20px;padding:1.5rem;min-width:0;transition:border-color .15s,box-shadow .15s}
.app-directory .catalog-card:hover,.app-directory .catalog-card:focus-within{border-color:#a7a091;box-shadow:0 8px 22px #1718150a}
.app-directory .catalog-card-head{flex-direction:row;align-items:center;gap:.875rem;min-height:76px}
.app-directory .catalog-card-head>div{min-width:0}
.app-directory .catalog-card-head>img{width:52px;height:52px;border-radius:12px;flex:0 0 52px}
.app-directory .catalog-kind{font-size:.65rem;color:#626158;letter-spacing:.08em;line-height:1.6}
.app-directory .catalog-card h2{font-size:1.4rem;font-weight:550;line-height:1.2;letter-spacing:-.035em;margin:.25rem 0 0}
.app-directory .catalog-platform{border:1px solid #dedbd2;border-radius:7px;background:#f1f0ea;color:#585a51;font-size:.75rem;padding:.3rem .6rem;margin-top:1rem}
.app-directory .catalog-description{font-size:.9rem;line-height:1.7;color:#54564e;margin:1rem 0 1.25rem}
.app-directory .catalog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}
.app-directory .catalog-actions>.catalog-details,.app-directory .catalog-actions>.play-install,.app-directory .catalog-actions>.catalog-download{grid-column:1/-1}
.app-directory .catalog-card[data-app-group=tools] .catalog-details{grid-column:auto}
.app-directory .catalog-actions :where(.catalog-details,.catalog-web){font-size:.8125rem;min-height:44px}
.app-directory .catalog-actions .catalog-details{border-color:#e5e1d7;color:var(--directory-ink)}
.app-directory .catalog-actions .catalog-web{color:#94300f}
.app-directory .catalog-availability{color:#626158;font-size:.75rem;line-height:1.6}
.app-directory .catalog-trademark{font-size:.75rem;line-height:1.7;color:#626158;margin-top:1.75rem}
.app-directory :is(a,button):focus-visible{outline:3px solid #94300f;outline-offset:4px}
.app-directory-copy a:focus-visible{outline-color:var(--directory-ink)}
@media(max-width:1200px){.app-directory .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){
  .app-directory-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .app-directory-hero h1{font-size:clamp(2.4rem,4.6vw,3.3rem)}
}
@media(max-width:760px){
  body.app-directory-page main{width:calc(100% - 2.5rem)}
  .app-directory-hero{grid-template-columns:minmax(0,1fr);border-radius:20px;margin-block:1.5rem 2rem}
  .app-directory-copy{padding:2rem}
  .app-directory-hero h1{font-size:clamp(2.4rem,7vw,3.3rem);margin-top:1rem}
  .app-directory-aside{padding:1.5rem 2rem}
  .app-directory-aside h2{font-size:1.5rem;margin:.65rem 0 1rem}
  .app-directory-aside ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .app-directory-aside li{gap:.5rem;padding-top:.8rem}
  .app-directory-aside strong{font-size:.8rem}
  .app-directory-aside li p{font-size:.75rem}
  .app-directory .catalog-card-head{min-height:76px}
}
@media(max-width:600px){
  .app-directory-copy{padding:1.5rem}
  .app-directory-hero h1{font-size:clamp(1.85rem,8.7vw,2.15rem)}
  .app-directory-aside{padding:1.25rem 1.5rem}
  .app-directory-aside>.app-directory-eyebrow,.app-directory-aside h2,.app-directory-aside li p,.app-directory-aside li>span{display:none}
  .app-directory-aside ul{display:flex;flex-wrap:wrap;gap:.65rem 1rem}
  .app-directory-aside li{border:0;padding:0;gap:0}
  .app-directory-aside strong{font-size:.75rem}
  .app-directory-aside strong::before{content:'✓';color:#ffad8c;margin-right:.35rem}
  .app-directory .catalog-grid{grid-template-columns:minmax(0,1fr)}
  .app-directory-list-head{align-items:flex-start;gap:.75rem}
  .app-directory-list-head h2{font-size:1.5rem}
  .app-directory-count{font-size:.75rem;padding-top:.25rem}
  .app-directory .catalog-card{padding:1.25rem}
  .app-directory .catalog-card-head{min-height:60px}
  .app-directory .catalog-card h2{font-size:1.4rem}
}
@media(max-width:350px){body.app-directory-page main{width:calc(100% - 2rem)}.app-directory-filters button{padding-inline:.8rem}}
@media(max-width:380px){.app-directory .catalog-actions{grid-template-columns:minmax(0,1fr)}.app-directory .catalog-actions>.catalog-web{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.app-directory .catalog-card,.app-directory-filters button{transition:none}}
