/* ==========================================================================
   GM Core — Compliance Cards. Self-sufficient; scoped to .gm-compliance.
   Pixel-matched to growth-master-compliance.html.
   ========================================================================== */
.gm-compliance{
  --n:var(--navy,#0A1B33); --n2:var(--navy-2,#102847); --n3:var(--navy-3,#17375E);
  --gold:var(--gold,#D9A02B); --gold-lt:var(--gold-lt,#E8B33C); --gold-dk:var(--gold-dk,#B97512);
  --gg:var(--gold-grad,linear-gradient(135deg,#E8B33C,#D9A02B 48%,#B97512));
  --grw:var(--growth,linear-gradient(90deg,#1F4FBF,#0E7CC4 34%,#0AA9AC 68%,#0FA37A));
  --b1:var(--bar-1,#1F4FBF); --b2:var(--bar-2,#0E7CC4); --b3:var(--bar-3,#0AA9AC); --b4:var(--bar-4,#0FA37A);
  --b2t:var(--bar-2-t,#0E7BC4);
  --cream:var(--cream,#FCF9F2); --grey:var(--grey,#F3F6F9); --muted:var(--muted,#63738A); --border:var(--border,#E1E7EE);
  --r:var(--r,14px); --rlg:var(--r-lg,22px); --pill:var(--r-pill,100px);
  --sh:var(--sh,0 4px 24px rgba(10,27,51,.07)); --shlg:var(--sh-lg,0 18px 48px rgba(10,27,51,.14));
  --shg:var(--sh-gold,0 12px 32px rgba(217,160,43,.3)); --ease:var(--ease,260ms cubic-bezier(.4,0,.2,1));
  font-family:var(--sans,"Inter",-apple-system,"Segoe UI",Roboto,sans-serif);color:var(--dark,#16202E);
}

/* group */
.gm-compliance__group{margin-bottom:52px}
.gm-compliance__ghead{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.gm-compliance__gic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
.gm-compliance__gic svg{width:22px;height:22px;color:#fff}
.gm-compliance__gic--blue{background:var(--b1)}
.gm-compliance__gic--azure{background:var(--b2)}
.gm-compliance__gic--teal{background:var(--b3)}
.gm-compliance__gic--green{background:var(--b4)}
.gm-compliance__gic--gold{background:var(--gold)}
.gm-compliance__gt h2{font-size:1.4rem!important;font-weight:800!important;color:var(--n);letter-spacing:-.02em;line-height:1.15!important;margin:0}
.gm-compliance__gt span{font-size:.85rem!important;color:var(--muted)}

/* card grid */
.gm-compliance__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gm-compliance__card{display:flex;align-items:flex-start;gap:15px;background:#fff!important;
  border:1px solid #E1E7EE!important;border-radius:22px!important;
  padding:22px!important;box-shadow:0 4px 24px rgba(10,27,51,.07)!important;
  transition:transform 260ms cubic-bezier(.4,0,.2,1),box-shadow 260ms cubic-bezier(.4,0,.2,1),border-color 260ms cubic-bezier(.4,0,.2,1)!important;text-decoration:none;color:inherit}
.gm-compliance__card:hover{transform:translateY(-4px)!important;box-shadow:0 18px 48px rgba(10,27,51,.14)!important;border-color:rgba(217,160,43,.4)!important}
.gm-compliance__cic{flex:none;width:44px;height:44px;border-radius:11px;background:var(--grey);display:grid;place-items:center;transition:background var(--ease)}
.gm-compliance__cic svg{width:21px;height:21px;color:var(--n3);transition:color var(--ease)}
.gm-compliance__card:hover .gm-compliance__cic{background:rgba(217,160,43,.14)}
.gm-compliance__card:hover .gm-compliance__cic svg{color:var(--gold-dk)}
.gm-compliance__cb{flex:1;min-width:0}
.gm-compliance__cb h3{font-size:1rem!important;font-weight:700!important;color:var(--n)!important;line-height:1.3!important;margin:0 0 4px!important}
.gm-compliance__cb p{font-size:.82rem!important;color:#63738A!important;line-height:1.45!important;margin:0!important}
.gm-compliance__go{flex:none;color:var(--muted);transition:transform var(--ease),color var(--ease);margin-top:3px}
.gm-compliance__go svg{width:18px;height:18px}
.gm-compliance__card:hover .gm-compliance__go{color:var(--gold-dk);transform:translateX(3px)}

/* grievance callout */
.gm-compliance__callout{background:var(--n);color:#fff;border-radius:var(--rlg);padding:34px 36px;position:relative;overflow:hidden;margin-top:10px}
.gm-compliance__callout::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--grw)}
.gm-compliance__callout-in{position:relative;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.gm-compliance__callout h2{font-size:1.4rem;font-weight:800;letter-spacing:-.02em;line-height:1.2!important;margin:0 0 8px;color:#fff}
.gm-compliance__callout p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.6!important;max-width:600px;margin:0}
.gm-compliance__clinks{display:flex;gap:12px;flex-wrap:wrap}
.gm-compliance .btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border:2px solid transparent;border-radius:var(--pill);
  font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all var(--ease);text-decoration:none}
.gm-compliance .btn svg{width:16px;height:16px}
.gm-compliance .btn--gold{background:var(--gg);color:var(--n);box-shadow:var(--shg)}
.gm-compliance .btn--gold:hover{transform:translateY(-2px)}
.gm-compliance .btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}
.gm-compliance .btn--ghost:hover{background:rgba(255,255,255,.16)}

/* safety: icons never balloon */
.gm-compliance svg{max-width:100%;max-height:48px}

@media(max-width:960px){
  .gm-compliance__grid{grid-template-columns:1fr 1fr}
  .gm-compliance__callout-in{grid-template-columns:1fr}
}
@media(max-width:640px){.gm-compliance__grid{grid-template-columns:1fr}}
