.goodmus-catalogue{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--gm-text,#213345);line-height:1.55;max-width:1400px;margin:auto}.goodmus-catalogue *{box-sizing:border-box}.goodmus-catalogue button,.goodmus-catalogue input,.goodmus-catalogue select,.goodmus-catalogue textarea{font:inherit}.goodmus-catalogue button{cursor:pointer}.gm-hero{background:linear-gradient(115deg,var(--gm-deep,#10243b),var(--gm-shade-16435b,#16435b) 75%,var(--gm-shade-1c7981,#1c7981));color:white;padding:42px 38px;border-radius:15px}.gm-eyebrow,.gm-overline{font-size:11px;font-weight:800;letter-spacing:.1em;color:#94d7dc}.gm-hero h2{color:white!important;font-size:clamp(30px,4vw,44px)!important;line-height:1.13!important;margin:12px 0!important;letter-spacing:-.03em}.gm-hero p{color:#d7e6ee!important;margin:0 0 15px!important;font-size:15px}.gm-hero-count{display:inline-block;background:#ffffff19;border:1px solid #ffffff33;padding:9px 13px;border-radius:9px;font-size:12px}.gm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.gm-stats>div{border:1px solid var(--gm-border,#e4ebf0);border-radius:12px;background:var(--gm-surface,#ffffff);padding:15px 17px}.gm-stats strong{font-size:21px;color:var(--gm-deep,#10243b);display:block}.gm-stats span{color:var(--gm-shade-64748b,#64748b);font-size:12px}.gm-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.gm-side,.gm-main{background:var(--gm-surface,#ffffff);border:1px solid var(--gm-border,#e4ebf0);border-radius:14px;padding:20px}.gm-side h3,.gm-main h3{color:var(--gm-deep,#10243b)!important;font-size:16px!important;margin:0 0 12px!important}.gm-side label{display:block;font-weight:700;font-size:12px;margin:22px 0 7px}.gm-side select{width:100%;border:1px solid var(--gm-shade-dce5eb,#dce5eb);border-radius:8px;padding:10px;background:var(--gm-surface,#ffffff)}.gm-category{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-size:12px!important;color:var(--gm-shade-41566b,#41566b);background:none;border:0;border-radius:8px;padding:10px 9px}.gm-category small{color:var(--gm-shade-8293a3,#8293a3);white-space:nowrap}.gm-category:hover,.gm-category.active{background:var(--gm-shade-eaf4f6,#eaf4f6);color:var(--gm-shade-176475,#176475)}.gm-clear{margin-top:16px;border:1px solid var(--gm-shade-dce5eb,#dce5eb);background:var(--gm-surface,#ffffff);border-radius:8px;padding:8px 12px;color:var(--gm-shade-53697a,#53697a);font-size:12px!important}.gm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}.gm-toolbar h3{margin:0!important}.gm-toolbar p{font-size:12px;color:var(--gm-shade-6f8191,#6f8191);margin:3px 0}.gm-toolbar input{flex:1 1 180px;min-width:170px;border:1px solid var(--gm-shade-dce5eb,#dce5eb);padding:10px 12px;border-radius:8px;font-size:13px}.gm-toolbar select{border:1px solid var(--gm-shade-dce5eb,#dce5eb);border-radius:8px;padding:10px;font-size:12px;background:var(--gm-surface,#ffffff)}.gm-count{font-size:11px;color:var(--gm-shade-748393,#748393);margin:17px 0 12px}.gm-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gm-card{padding:16px;border:1px solid var(--gm-border,#e4ebf0);border-radius:12px;min-width:0;display:flex;flex-direction:column;gap:9px}.gm-card:hover{border-color:#9dcbd4;box-shadow:0 6px 18px #10243b0d}.gm-card-id{font-size:10px;letter-spacing:.08em;color:var(--gm-shade-8a97a6,#8a97a6);font-weight:800}.gm-card h4{font-size:14px!important;color:var(--gm-heading,#142a40)!important;line-height:1.35!important;margin:0!important}.gm-tag{align-self:flex-start;background:var(--gm-soft,#eef5f7);color:var(--gm-shade-3a6577,#3a6577);padding:5px 8px;border-radius:5px;font-size:10px}.gm-card-foot{display:flex;gap:10px;align-items:end;justify-content:space-between;border-top:1px solid #edf1f5;padding-top:12px;margin-top:auto;font-size:11px;color:var(--gm-shade-667b8b,#667b8b)}.gm-card-foot strong{color:var(--gm-deep,#10243b);font-size:12px}.gm-card-foot small{font-size:9px}.gm-card-foot button{border:0;background:transparent;color:var(--gm-shade-116d81,#116d81);font-weight:750;font-size:11px!important;white-space:nowrap}.gm-more{display:block;margin:25px auto 7px;background:var(--gm-surface,#ffffff);border:1px solid var(--gm-shade-c5d9e0,#c5d9e0);border-radius:9px;color:var(--gm-shade-183653,#183653);padding:10px 20px;font-size:13px!important}.goodmus-catalogue [hidden]{display:none!important}.gm-dialog-open{overflow:hidden}.gm-overlay{position:fixed;inset:0;z-index:99999;overflow-y:auto;padding:25px;background:#0a1e33ba}.gm-dialog{position:relative;max-width:910px;margin:0 auto;background:var(--gm-surface,#ffffff);border-radius:17px;overflow:hidden;box-shadow:0 20px 70px #0004}.gm-detail-hero{background:linear-gradient(110deg,var(--gm-deep,#10243b),var(--gm-secondary,#1a6470));color:white;padding:29px}.gm-detail-hero h2{color:white!important;font-size:clamp(24px,3vw,31px)!important;line-height:1.2!important;margin:10px 35px 8px 0!important}.gm-detail-hero p{color:#d3e4ed;font-size:13px;margin:0}.gm-x{position:absolute;right:18px;top:16px;border:1px solid #ffffff60;background:#ffffff20;border-radius:8px;color:white;font-size:24px!important;width:38px;height:38px;padding:0}.gm-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.gm-btn{border-radius:8px;border:1px solid transparent;padding:10px 14px;font-size:12px!important;font-weight:800;line-height:1.3}.gm-btn-gold{background:var(--gm-gold,#e5b557);color:var(--gm-deep,#10243b)}.gm-btn-outline{border-color:#ffffff6b;background:transparent;color:white}.gm-btn-primary{background:var(--gm-primary,#165d71);color:white}.gm-dialog-body{padding:28px}.gm-dialog-body section{margin:20px 0}.gm-dialog-body h3{font-size:16px!important;color:var(--gm-heading,var(--gm-shade-173c54,#173c54))!important;margin:0 0 10px!important;border-bottom:1px solid var(--gm-shade-eaf0f4,#eaf0f4);padding-bottom:7px}.gm-dialog-body p,.gm-dialog-body li{font-size:13px;color:var(--gm-text,#536273);line-height:1.7}.gm-dialog-body li{margin-bottom:5px}.gm-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gm-metrics>div{padding:13px;border:1px solid var(--gm-border,#e4ebf0);background:#f9fbfc;border-radius:9px}.gm-metrics small{display:block;color:var(--gm-shade-768899,#768899);font-size:10px;font-weight:800;text-transform:uppercase}.gm-metrics b{display:block;color:var(--gm-heading,var(--gm-shade-193247,#193247));font-size:13px;margin-top:4px}.gm-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gm-dialog-body ol,.gm-dialog-body ul{padding-left:21px}.gm-modules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gm-modules>div{padding:12px;border:1px solid var(--gm-shade-e6edf2,#e6edf2);border-radius:9px}.gm-modules small{display:block;color:var(--gm-shade-16828c,#16828c);font-size:10px;font-weight:800}.gm-modules b{font-size:12px;color:var(--gm-heading,var(--gm-shade-1c3447,#1c3447))}.gm-modules p{margin:5px 0 0!important;font-size:12px}.gm-dialog-body table{border-collapse:collapse;width:100%;font-size:12px}.gm-dialog-body th,.gm-dialog-body td{padding:10px;border-bottom:1px solid #e7edf1;text-align:left}.gm-dialog-body th{background:#f1f5f8;font-size:11px}.gm-small{font-size:11px!important;color:var(--gm-shade-738292,#738292)!important}.gm-bottom{text-align:center;border-top:1px solid var(--gm-shade-e6edf2,#e6edf2);padding-top:18px}.gm-enquiry-dialog{max-width:780px}.gm-enquiry-dialog .gm-x{background:var(--gm-deep,#10243b)}.gm-enquiry-dialog h2{color:var(--gm-deep,#10243b)!important;font-size:26px!important;margin:8px 35px 4px 0!important}.gm-enquiry-course{font-weight:700;color:var(--gm-shade-176b87,#176b87)!important}.gm-enquiry-dialog form{margin-top:18px}.gm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.gm-enquiry-dialog form label{display:block;font-size:12px;font-weight:750;color:var(--gm-shade-40556a,#40556a);margin-bottom:13px}.gm-enquiry-dialog form label span{color:#c65444}.gm-enquiry-dialog form input:not([type=checkbox]),.gm-enquiry-dialog form select,.gm-enquiry-dialog form textarea{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid var(--gm-shade-d1dfe7,#d1dfe7);border-radius:8px;background:var(--gm-surface,#ffffff);color:var(--gm-shade-20384b,#20384b);font-size:13px;font-weight:400}.gm-consent{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important}.gm-consent input{margin:4px 0 0}.gm-honeypot{position:absolute;left:-99999px;opacity:0}.gm-form-status{font-size:12px;margin:8px 0;color:var(--gm-shade-64748b,#64748b)}.gm-success{color:var(--gm-success,#19764c)}.gm-error{color:var(--gm-error,#b12e2e)}@media(max-width:900px){.gm-layout{grid-template-columns:210px minmax(0,1fr)}.gm-cards{grid-template-columns:1fr}.gm-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.gm-hero{padding:29px 20px}.gm-layout{grid-template-columns:1fr}.gm-side,.gm-main{padding:16px}.gm-category{display:inline-flex;width:48%;vertical-align:top}.gm-dialog{border-radius:9px}.gm-overlay{padding:8px}.gm-detail-hero,.gm-dialog-body{padding:21px 16px}.gm-metrics,.gm-columns,.gm-modules,.gm-form-row{grid-template-columns:1fr}.gm-toolbar input{flex-basis:100%}}@media print{body *{visibility:hidden!important}.goodmus-catalogue #gm-detail-overlay,.goodmus-catalogue #gm-detail-overlay *{visibility:visible!important}.goodmus-catalogue #gm-detail-overlay{position:absolute!important;inset:0;padding:0;background:var(--gm-surface,#ffffff);overflow:visible}.gm-dialog{box-shadow:none;max-width:none}.gm-detail-actions,.gm-x,.gm-bottom{display:none!important}}

/* Theme-resistant subtle discipline button states */
.goodmus-catalogue .gm-category,.goodmus-catalogue .gm-category:focus{
 background:var(--gm-shade-f5f8f9,#f5f8f9)!important;background-image:none!important;border:1px solid transparent!important;
 box-shadow:none!important;color:var(--gm-shade-375c6d,#375c6d)!important;text-shadow:none!important;
}
.goodmus-catalogue .gm-category:hover{background:var(--gm-shade-eaf3f5,#eaf3f5)!important;color:var(--gm-shade-246171,#246171)!important;border-color:var(--gm-shade-dcebee,#dcebee)!important}
.goodmus-catalogue .gm-category.active,.goodmus-catalogue .gm-category.active:hover{
 background:var(--gm-shade-e6f1f2,#e6f1f2)!important;color:var(--gm-shade-165c68,#165c68)!important;border-color:var(--gm-shade-cbe2e3,#cbe2e3)!important;box-shadow:none!important;
}
.goodmus-catalogue #gm-close-detail,.goodmus-catalogue .gm-x{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:38px!important;height:38px!important;min-height:38px!important;line-height:1!important;
 padding:0!important;margin:0!important;box-sizing:border-box!important;text-align:center!important;
 font-family:Arial,sans-serif!important;font-weight:400!important;transform:none!important;
}

/* Version 5: more prominent section headings and search field, retaining subtle colours. */
.goodmus-catalogue .gm-side > h3,
.goodmus-catalogue .gm-main .gm-toolbar h3 {
  color:var(--gm-heading,var(--gm-shade-102c43,#102c43))!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:-.025em;
}
.goodmus-catalogue .gm-side > h3 {
  margin:0 0 16px!important;
  padding-bottom:11px;
  border-bottom:2px solid #dcebef;
}
.goodmus-catalogue .gm-main .gm-toolbar h3 { margin:0 0 5px!important; }
.goodmus-catalogue .gm-toolbar #gm-search {
  border:2px solid var(--gm-shade-a9c8d3,#a9c8d3)!important;
  border-radius:10px!important;
  background:#fbfdff!important;
  color:#18354b!important;
  padding:12px 14px!important;
  min-height:46px;
  box-shadow:0 2px 7px rgba(16,55,78,.055)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.goodmus-catalogue .gm-toolbar #gm-search::placeholder { color:#677f90;opacity:1; }
.goodmus-catalogue .gm-toolbar #gm-search:hover { border-color:var(--gm-shade-79a9bb,#79a9bb)!important;background:var(--gm-surface,#ffffff)!important; }
.goodmus-catalogue .gm-toolbar #gm-search:focus,
.goodmus-catalogue .gm-toolbar #gm-search:focus-visible {
  outline:none!important;
  border-color:var(--gm-focus,#197d91)!important;
  background:var(--gm-surface,#ffffff)!important;
  box-shadow:0 0 0 3px rgba(25,125,145,.14)!important;
}
