/* MMP Services Glass Cards v1.0.3 */
.mmp-sgc {
    --mmp-red: #ff3b3b;
    --mmp-white: #fff;
    --mmp-muted: rgba(255,255,255,.68);
    --mmp-border: rgba(255,255,255,.18);
    --mmp-radius: 24px;
    width: 100%;
    position: relative;
    color: var(--mmp-white);
}
.mmp-sgc *, .mmp-sgc *::before, .mmp-sgc *::after { box-sizing: border-box; }

.mmp-sgc__intro { max-width: 760px; margin-bottom: 34px; }
.mmp-sgc__heading {
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(30px, 4vw, 58px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 600;
}
.mmp-sgc__intro-copy {
    margin: 0;
    max-width: 680px;
    color: var(--mmp-muted);
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.55;
}

.mmp-sgc__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}
.mmp-sgc--columns-2 .mmp-sgc__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mmp-sgc--columns-5 .mmp-sgc__grid { grid-template-columns: repeat(5,minmax(0,1fr)); }

.mmp-sgc__card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 330px;
    overflow: hidden;
    padding: 27px;
    border: 1px solid var(--mmp-border);
    border-radius: var(--mmp-radius);
    color: #fff !important;
    text-decoration: none !important;
    isolation: isolate;
    background:
        radial-gradient(125% 95% at 100% 0%, rgba(255,59,59,.58) 0%, rgba(255,59,59,.18) 28%, transparent 55%),
        radial-gradient(110% 100% at 0% 100%, rgba(255,30,30,.18) 0%, transparent 48%),
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035) 42%, rgba(0,0,0,.34)),
        rgba(8,8,10,.64);
    box-shadow: 0 20px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
    transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s ease, border-color .4s ease;
}
.mmp-sgc__card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: linear-gradient(125deg, transparent 15%, rgba(255,255,255,.08) 48%, transparent 68%);
    transform: translateX(-110%);
    transition: transform .9s cubic-bezier(.2,.8,.2,1);
}
.mmp-sgc__card:hover::before { transform: translateX(110%); }
.mmp-sgc__card::after {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: calc(var(--mmp-radius) - 1px);
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.07), transparent 28%);
    z-index: -1;
}

.mmp-sgc__glow {
    position: absolute;
    width: 170px;
    height: 170px;
    right: -80px;
    top: -80px;
    border-radius: 50%;
    background: var(--mmp-red);
    filter: blur(45px);
    opacity: .32;
    z-index: -1;
    transition: transform .7s ease, opacity .5s ease;
}
.mmp-sgc__card:hover .mmp-sgc__glow { transform: scale(1.35); opacity: .55; }

.mmp-sgc__noise {
    position: absolute;
    inset: 0;
    opacity: .035;
    pointer-events: none;
    z-index: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.mmp-sgc__top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex: 0 0 auto;
}
.mmp-sgc__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 17px;
    color: #fff;
    background: rgba(255,255,255,.07);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 25px rgba(0,0,0,.15);
    transform-origin: center;
    transition: transform .6s cubic-bezier(.2,.8,.2,1), background .4s ease, border-color .4s ease;
}
.mmp-sgc__icon svg { width: 31px; height: 31px; }
.mmp-sgc__card:hover .mmp-sgc__icon {
    transform: translateY(-3px) rotate(-4deg) scale(1.08);
    background: rgba(255,59,59,.14);
    border-color: rgba(255,107,107,.48);
}
.mmp-sgc__number {
    font-size: 11px;
    letter-spacing: .12em;
    color: rgba(255,255,255,.42);
    font-weight: 600;
}

.mmp-sgc__content {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-top: 54px;
    min-width: 0;
    flex: 1 1 auto;
}
.mmp-sgc__title {
    display: block;
    max-width: 100%;
    font-size: clamp(21px,2vw,31px);
    line-height: 1.04;
    letter-spacing: -.035em;
    font-weight: 600;
}
.mmp-sgc__body {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-top: 12px;
    color: var(--mmp-muted);
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.mmp-sgc__footer {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    margin-top: 24px;
    flex: 0 0 auto;
}
.mmp-sgc__cta-label {
    color: rgba(255,255,255,.55);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.mmp-sgc__arrow {
    position: relative;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    font-size: 18px;
    line-height: 1;
    transition: transform .5s cubic-bezier(.2,.8,.2,1), background .35s ease;
}
.mmp-sgc__card:hover .mmp-sgc__arrow {
    transform: translate(3px,-3px);
    background: rgba(255,59,59,.22);
}

.mmp-sgc--hover-lift .mmp-sgc__card:hover {
    transform: translateY(-9px);
    box-shadow: 0 30px 80px rgba(0,0,0,.30), 0 0 0 1px rgba(255,59,59,.10);
}
.mmp-sgc--hover-tilt .mmp-sgc__card:hover {
    transform: translateY(-8px) rotate(-.6deg);
    box-shadow: 0 30px 80px rgba(0,0,0,.30), 0 0 0 1px rgba(255,59,59,.10);
}
.mmp-sgc--hover-minimal .mmp-sgc__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 65px rgba(0,0,0,.26);
}

.mmp-sgc--style-dark .mmp-sgc__card {
    background:
        radial-gradient(110% 90% at 100% 0%, rgba(255,255,255,.12), transparent 48%),
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(0,0,0,.50)),
        rgba(8,8,10,.78);
}
.mmp-sgc--style-dark .mmp-sgc__glow { opacity: .16; }

@media (max-width:1100px) {
    .mmp-sgc--columns-5 .mmp-sgc__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .mmp-sgc__grid,
    .mmp-sgc--columns-2 .mmp-sgc__grid,
    .mmp-sgc--columns-3 .mmp-sgc__grid,
    .mmp-sgc--columns-5 .mmp-sgc__grid {
        grid-template-columns: 1fr;
    }
    .mmp-sgc__card { min-height: 300px; padding: 23px; }
}
@media (prefers-reduced-motion:reduce) {
    .mmp-sgc__card,
    .mmp-sgc__icon,
    .mmp-sgc__glow,
    .mmp-sgc__card::before,
    .mmp-sgc__arrow { transition: none !important; }
}

.mmp-sgc__empty {
    grid-column: 1 / -1;
    padding: 30px;
    border: 1px dashed rgba(255,255,255,.25);
    border-radius: 20px;
    color: rgba(255,255,255,.62);
    background: rgba(255,255,255,.035);
    font-size: 14px;
}
.mmp-sgc__empty strong {
    color: #fff;
}
