/* Professional homepage catalogue — intentionally scoped to #labs. */
.catalogue-home{padding:76px 0 50px;background:linear-gradient(180deg,#f7faff 0,#eef4fa 100%)}
.catalogue-home .catalogue-shell{overflow:hidden;background:#fff;border:1px solid #d9e4ef;border-radius:24px;box-shadow:0 24px 64px rgba(6,22,51,.11)}
.catalogue-home .catalogue-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;padding:clamp(30px,5vw,58px);color:#fff;background:radial-gradient(circle at 87% 0,rgba(75,215,255,.2),transparent 30rem),linear-gradient(125deg,#061633,#0b3264)}
.catalogue-home .catalogue-kicker{margin:0 0 10px;color:#55d5ff;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.catalogue-home .catalogue-intro h2{max-width:760px;margin:0;font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.04em}
.catalogue-home .catalogue-intro h2 span{color:#ffd51d}
.catalogue-home .catalogue-intro-copy>p:last-child{max-width:720px;margin:19px 0 0;color:#bdd2e9;font-size:16px;line-height:1.65}
.catalogue-home .catalogue-stats{display:flex;gap:9px}
.catalogue-home .catalogue-stat{min-width:112px;padding:16px 13px;background:rgba(255,255,255,.08);border:1px solid rgba(139,199,239,.22);border-radius:11px;text-align:center}
.catalogue-home .catalogue-stat strong{display:block;color:#fff;font:700 29px Georgia,serif}
.catalogue-home .catalogue-stat span{display:block;margin-top:3px;color:#a9c4df;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.catalogue-home .cert-series{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:22px;margin:26px clamp(20px,4vw,46px) 0;padding:23px 25px;background:linear-gradient(105deg,#eff8ff,#f7fbfe);border:1px solid #bddbf0;border-left:5px solid #1261a6;border-radius:10px}
.catalogue-home .series-mark{display:grid;place-items:center;width:82px;height:82px;color:#fff;background:#0b315d;border:4px solid #d6a720;border-radius:50%;font:900 16px/1 Georgia,serif;text-align:center;box-shadow:0 8px 24px rgba(7,42,79,.16)}
.catalogue-home .series-mark small{display:block;margin-top:5px;font:700 8px ui-sans-serif,system-ui;letter-spacing:.09em}
.catalogue-home .series-copy>span{color:#1261a6;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.catalogue-home .series-copy h3{margin:5px 0 4px;color:#0a294e;font:700 clamp(21px,3vw,29px) Georgia,serif}
.catalogue-home .series-copy p{margin:0;color:#5d7086;font-size:12px;line-height:1.55}
.catalogue-home .series-actions{display:flex;flex-direction:column;gap:8px;min-width:176px}
.catalogue-home .series-actions a,.catalogue-home .series-actions button{min-height:39px;padding:9px 13px;border-radius:5px;font-size:11px;font-weight:850;text-align:center;text-decoration:none;cursor:pointer}
.catalogue-home .series-actions a{color:#fff;background:#1261a6;border:1px solid #1261a6}
.catalogue-home .series-actions button{color:#0b315d;background:#fff;border:1px solid #b8ccdd}
.catalogue-home .catalogue-controls{margin:25px clamp(20px,4vw,46px) 0;padding:20px;background:#f6f9fc;border:1px solid #dce6ef;border-radius:10px}
.catalogue-home .search-row{display:grid;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(140px,190px));gap:10px}
.catalogue-home .catalogue-search{position:relative}
.catalogue-home .catalogue-search svg{position:absolute;left:14px;top:50%;width:19px;transform:translateY(-50%);color:#75879a}
.catalogue-home .catalogue-search input,.catalogue-home .filter-field select{width:100%;height:46px;color:#1b304a;background:#fff;border:1px solid #c8d5e2;border-radius:6px;outline:0}
.catalogue-home .catalogue-search input{padding:9px 14px 9px 43px}
.catalogue-home .filter-field{display:block}
.catalogue-home .filter-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.catalogue-home .filter-field select{padding:8px 31px 8px 11px}
.catalogue-home .filter-row{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:10px;margin-top:10px}
.catalogue-home .catalogue-search input:focus,.catalogue-home .filter-field select:focus{border-color:#168fe3;box-shadow:0 0 0 3px rgba(22,143,227,.13)}
.catalogue-home .clear-filters{padding:0 16px;color:#50647a;background:#fff;border:1px solid #c8d5e2;border-radius:6px;font-weight:800;cursor:pointer}
.catalogue-home .group-tabs{display:flex;flex-wrap:wrap;gap:7px;overflow:visible;margin-top:14px;padding:2px 0 4px}
.catalogue-home .group-tab{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:8px 10px;color:#465b72;background:#fff;border:1px solid #d2dee9;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer}
.catalogue-home .group-tab b{padding:2px 6px;color:#74869a;background:#edf2f7;border-radius:99px;font-size:9px}
.catalogue-home .group-tab.active{color:#fff;background:#0d315d;border-color:#0d315d}.catalogue-home .group-tab.active b{color:#172b44;background:#ffd51d}
.catalogue-home .catalogue-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(20px,4vw,46px) 16px}
.catalogue-home .catalogue-status p{margin:0;color:#687b90;font-size:12px}.catalogue-home .catalogue-status strong{color:#152c48}
.catalogue-home .active-filter{color:#1261a6!important;font-weight:750}
.catalogue-home .catalogue-groups{padding:0 clamp(20px,4vw,46px) 42px}
.catalogue-home .catalogue-group{margin-top:34px}.catalogue-home .catalogue-group:first-child{margin-top:0}
.catalogue-home .catalogue-group-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:14px}
.catalogue-home .catalogue-group-head>div{display:flex;align-items:baseline;gap:10px}
.catalogue-home .catalogue-group-head h3{margin:0;color:#0a294c;font:700 23px Georgia,serif}
.catalogue-home .catalogue-group-head span{color:#7b8da0;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.catalogue-home .catalogue-group-head i{height:1px;background:#dfe7ef}
.catalogue-home .catalogue-group-head a{color:#1261a6;font-size:11px;font-weight:800;text-decoration:none}
.catalogue-home .catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.catalogue-home .catalogue-card{position:relative;min-width:0;display:flex;flex-direction:column;min-height:220px;padding:18px;background:#fff;border:1px solid #dce5ee;border-radius:9px;box-shadow:0 6px 18px rgba(7,30,67,.045);transition:transform .16s,border-color .16s,box-shadow .16s}
.catalogue-home .catalogue-card:hover{z-index:1;transform:translateY(-2px);border-color:#a9c9e1;box-shadow:0 13px 28px rgba(7,30,67,.1)}
.catalogue-home .catalogue-card.practice{background:linear-gradient(150deg,#fff,#f5faff);border-color:#c5ddef}
.catalogue-home .card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.catalogue-home .card-badge{min-width:44px;padding:6px 8px;color:#fff;background:var(--accent,#1261a6);border-radius:4px;font-size:9px;font-weight:950;letter-spacing:.04em;text-align:center}
.catalogue-home .card-type{color:#718399;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.catalogue-home .catalogue-card h4{margin:18px 0 12px;color:#172d47;font-size:17px;line-height:1.35;letter-spacing:-.015em}
.catalogue-home .card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.catalogue-home .card-meta span{padding:5px 7px;color:#526a82;background:#eef3f7;border-radius:4px;font-size:9px;font-weight:750}
.catalogue-home .card-open{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:13px;color:#1261a6;border-top:1px solid #e2e9f0;font-size:11px;font-weight:850;text-decoration:none}
.catalogue-home .card-open::after{position:absolute;inset:-170px 0 0;content:""}
.catalogue-home .card-open span:last-child{font-size:17px}
.catalogue-home .show-group{display:block;margin:14px auto 0;padding:9px 15px;color:#315675;background:#f6f9fc;border:1px solid #cbd9e5;border-radius:5px;font-size:11px;font-weight:800;cursor:pointer}
.catalogue-home .catalogue-empty{display:none;margin:0 clamp(20px,4vw,46px) 42px;padding:44px;color:#697c91;background:#f7f9fb;border:1px dashed #b9c9d8;border-radius:9px;text-align:center}
.catalogue-home .catalogue-empty strong{display:block;margin-bottom:6px;color:#233d59}
@media(max-width:980px){.catalogue-home .catalogue-intro{grid-template-columns:1fr}.catalogue-home .catalogue-stats{justify-content:start}.catalogue-home .cert-series{grid-template-columns:82px 1fr}.catalogue-home .series-actions{grid-column:1/-1;flex-direction:row}.catalogue-home .series-actions>*{flex:1}.catalogue-home .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.catalogue-home{padding-top:46px}.catalogue-home .catalogue-intro{padding:33px 21px}.catalogue-home .catalogue-stats{display:grid;grid-template-columns:repeat(3,1fr)}.catalogue-home .catalogue-stat{min-width:0}.catalogue-home .cert-series{grid-template-columns:1fr;text-align:center}.catalogue-home .series-mark{margin:auto}.catalogue-home .search-row,.catalogue-home .filter-row{grid-template-columns:1fr}.catalogue-home .clear-filters{min-height:42px}.catalogue-home .catalogue-status{align-items:flex-start;flex-direction:column;gap:6px}.catalogue-home .catalogue-grid{grid-template-columns:1fr}.catalogue-home .catalogue-group-head{grid-template-columns:1fr auto}.catalogue-home .catalogue-group-head i{display:none}.catalogue-home .catalogue-group-head>div{display:block}.catalogue-home .catalogue-card{min-height:190px}}
@media(max-width:430px){.catalogue-home .catalogue-stats{gap:5px}.catalogue-home .catalogue-stat{padding:12px 5px}.catalogue-home .catalogue-stat strong{font-size:24px}.catalogue-home .catalogue-stat span{font-size:8px}.catalogue-home .series-actions{flex-direction:column}.catalogue-home .catalogue-controls{padding:14px}.catalogue-home .catalogue-group-head a{display:none}}
@media(prefers-reduced-motion:reduce){.catalogue-home *{transition:none!important}}

/* Mobile app: keep every category/card fully on screen */
html,body{max-width:100%;overflow-x:hidden}
.catalogue-home{max-width:100%}
.catalogue-home .catalogue-shell{max-width:100%;overflow-x:auto;overflow-y:visible}
.catalogue-home .group-tabs{width:100%;max-width:100%;flex-wrap:wrap;overflow:visible;padding-bottom:12px}
.catalogue-home .catalogue-card{max-width:100%;overflow:visible;word-break:break-word}
.catalogue-home .catalogue-card h4{overflow-wrap:anywhere}
.catalogue-home .catalogue-grid{width:100%}
@media(max-width:900px){
  .catalogue-home .catalogue-grid{grid-template-columns:1fr!important}
  .catalogue-home .search-row,.catalogue-home .filter-row{grid-template-columns:1fr!important}
  .catalogue-home .cert-series{grid-template-columns:1fr!important;text-align:left}
  .catalogue-home .catalogue-intro{grid-template-columns:1fr!important}
  .catalogue-home .series-actions{grid-column:1/-1;display:flex;flex-direction:column}
  .catalogue-home .series-actions>*{width:100%}
}
@media(max-width:600px){
  .catalogue-home .catalogue-card{min-height:0;padding:16px}
  .catalogue-home .catalogue-groups,.catalogue-home .catalogue-status,.catalogue-home .catalogue-empty{padding-left:14px;padding-right:14px}
  .catalogue-home .cert-series{margin-left:14px;margin-right:14px}
  .catalogue-home .catalogue-controls{padding:14px}
  .catalogue-home .card-meta span{font-size:10px}
}
