/* Shared four-category catalogue; scoped to public frontend components. */
.catalogue-v2 .catalog-section{width:min(1220px,calc(100% - 48px));margin:0 auto;padding:48px 0 64px}
.catalogue-v2 .catalog-section>h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.04em;margin:0 0 26px;color:#101d32}
.catalogue-v2 .catalog-preview{margin:0 0 16px;border:1px solid #dce2e9;border-radius:12px;background:#fff;overflow:hidden;max-width:none}
.catalogue-v2 .catalog-preview>summary{display:flex;align-items:center;gap:18px;padding:24px;list-style:none;font-weight:700;color:#17283e;font-size:18px;line-height:1.5;cursor:pointer}
.catalogue-v2 .catalog-preview>summary::-webkit-details-marker,.catalog-menu-group>summary::-webkit-details-marker{display:none}
.catalogue-v2 .catalog-preview>summary>span:nth-child(2){flex:1}
.catalogue-v2 .catalog-number{font-size:13px;color:#826020;background:#fbf5e8;border:1px solid #e7d5ac;border-radius:9px;padding:10px}
.catalogue-v2 .catalog-count{font-size:12px;font-weight:500;color:#66758a;white-space:nowrap}
.catalogue-v2 .catalog-plus{font-size:25px;font-weight:400;color:#8b641d;transition:transform .15s}
.catalogue-v2 .catalog-preview[open] .catalog-plus{transform:rotate(45deg)}
.catalogue-v2 .catalog-preview[open]>summary{border-bottom:1px solid #e5e9ef;background:#fcfaf6}
.catalogue-v2 .catalog-preview-body{padding:22px;background:#fafbfd}
.catalogue-v2 .catalog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalogue-v2 .catalog-card{min-width:0;background:white;border:1px solid #dce2e9;border-radius:9px;overflow:hidden}
.catalogue-v2 .catalog-card-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;min-height:94px;height:100%;color:#17283e;text-decoration:none;line-height:1.6;font-size:14px;font-weight:600}
.catalogue-v2 .catalog-card:hover{border-color:#ba964b;box-shadow:0 4px 16px #17283e09}
.catalogue-v2 .catalog-arrow{color:#956c1c;font-size:20px;flex-shrink:0}
.catalogue-v2 .catalog-view-all{display:flex;align-items:center;justify-content:center;gap:16px;min-height:46px;width:fit-content;margin:22px auto 0;padding:11px 22px;border-radius:7px;background:#183b7a;color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.catalogue-v2 .catalog-view-all:hover{background:#112d61}
.catalogue-v2 .catalog-listing>h1{font-size:clamp(28px,4vw,46px);line-height:1.25;letter-spacing:-.04em;max-width:980px;margin:24px 0 28px}
.catalogue-v2 .catalog-search{padding:22px 24px;border:1px solid #dce2e9;background:#f6f8fb;border-radius:10px;margin-bottom:32px}
.catalogue-v2 .catalog-search label{font-size:13px;font-weight:700;display:block;margin-bottom:10px}
.catalogue-v2 .catalog-search input{width:100%;max-width:680px;border:1px solid #cdd6e2;padding:14px;border-radius:6px;font:inherit;font-size:14px;background:#fff;color:#17283e}
.catalogue-v2 .catalog-results{font-size:12px;color:#647389;margin:12px 0 0}
.catalogue-v2 .catalog-subgroup{margin-bottom:32px}
.catalogue-v2 .catalog-subgroup>h2{font-size:21px;margin:0 0 16px;letter-spacing:-.02em;color:#22344b}
.catalogue-v2 .catalog-card[hidden],.catalogue-v2 .catalog-subgroup[hidden],.catalogue-v2 .catalog-no-results[hidden]{display:none!important}
.catalogue-v2 a:focus-visible,.catalogue-v2 summary:focus-visible{outline:3px solid #b78c32;outline-offset:3px}
.catalogue-v2.service-detail .detail-copy h1{overflow-wrap:break-word}
.catalogue-v2.service-detail .detail-hero{gap:40px}
.catalogue-v2 .catalog-course{margin:30px 0;border:1px solid #dce2e9;border-radius:10px;padding:20px}
.catalogue-v2 .catalog-course>summary{font-weight:700;cursor:pointer}
.catalogue-v2 .catalog-course .detailbody{margin-top:18px}
.catalog-menu-group{border:1px solid #dce2e9;border-radius:7px;margin:0 0 8px;overflow:hidden}
.catalog-menu-group>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;cursor:pointer;list-style:none;font-size:13px;font-weight:700;line-height:1.5;color:#17283e}
.catalog-menu-group>summary>span{font-size:19px;color:var(--mega-accent)}
.catalog-menu-group[open]>summary{background:var(--mega-soft)}
.catalog-menu-group>div>a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid #edf0f4;font-size:13px;color:#263952;text-decoration:none;line-height:1.6}
.catalog-menu-group>div>a:hover{background:#f5f7fb}
.catalog-menu-group .catalog-menu-more{font-weight:700;color:var(--mega-accent)}
@media(max-width:900px){.catalogue-v2 .catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalogue-v2 .catalog-section{width:calc(100% - 32px);padding:30px 0 40px}.catalogue-v2 .catalog-card-grid{grid-template-columns:minmax(0,1fr)}.catalogue-v2 .catalog-preview>summary{padding:18px 14px;gap:12px;font-size:15px;flex-wrap:wrap}.catalogue-v2 .catalog-count{display:none}.catalogue-v2 .catalog-preview-body{padding:14px}.catalogue-v2 .catalog-card-link{min-height:68px;padding:15px}.catalogue-v2 .catalog-search{padding:18px}.catalogue-v2 .catalog-number{padding:7px}.catalogue-v2 .catalog-listing>h1{font-size:29px}.catalogue-v2.service-detail .detail-hero{gap:24px}}

/* Decorative subject icons preserve service labels and existing link destinations. */
.service-choice-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;border:1px solid #d8e1ec;background:#edf3fa;color:#315d8c;transition:background .18s,transform .18s}
.service-choice-icon svg{width:23px;height:23px;display:block;flex-shrink:0}
.service-choice-icon.icon-team-support{color:#7752a0;background:#f4eefb;border-color:#e4d8f1}
.service-choice-icon.icon-expert-support{color:#94691c;background:#fff5df;border-color:#f0dfb6}
.service-choice-icon.icon-general-ai{color:#326b9b;background:#edf5fd;border-color:#d4e5f6}
.service-choice-icon.icon-specialized-ai{color:#2d7b61;background:#ecf7f1;border-color:#cfe8dc}
.catalogue-v2 .catalog-service-title,.catalog-menu-service-name{flex:1;min-width:0}
.catalogue-v2 .catalog-card-link{gap:14px}
.catalog-menu-group>div>a{justify-content:flex-start;gap:12px}
.catalog-menu-group .service-choice-icon{width:34px;height:34px;flex-basis:34px;border-radius:9px}
.catalog-menu-group .service-choice-icon svg{width:19px;height:19px}
.catalog-card-link:hover .service-choice-icon,.catalog-menu-group a:hover .service-choice-icon{transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.service-choice-icon{transition:none}.catalog-card-link:hover .service-choice-icon,.catalog-menu-group a:hover .service-choice-icon{transform:none}}
