/* Premium redesign — shared tokens & reusable patterns (design_handoff_premium_homepage) */
@font-face{font-family:"WORKSANS EXTRABOLD";font-display:swap;src:url("/assets/vendor/fonts/WORKSANS-EXTRABOLD.woff") format("woff");}
:root{
  --navy:#0b1730; --navy-hero:#08122a; --navy-footer:#080f22;
  --ink:#0b1730; --body-text:#43506b; --muted:#7d879c; --offwhite:#f5f6f8;
  --red:#d12e27; --red-hover:#b3241e;
}
body.mjp-premium{margin:0;font-family:'Work Sans',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;}
body.mjp-premium ::selection{background:var(--red);color:#fff;}
.mjp-p-nav-link{color:rgba(255,255,255,0.75);text-decoration:none;font-size:16px;font-weight:700;letter-spacing:0.4px;white-space:nowrap;transition:color .2s;}
.mjp-p-nav-link:hover,.mjp-p-nav-link.active{color:#fff;}
.mjp-p-pill{color:rgba(255,255,255,0.6);text-decoration:none;font-size:14px;font-weight:700;border:1px solid rgba(255,255,255,0.25);border-radius:999px;padding:7px 15px;white-space:nowrap;transition:color .2s,border-color .2s;}
.mjp-p-pill:hover{color:#fff;border-color:rgba(255,255,255,0.6);}
.mjp-p-cta{background:var(--red);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:11px 24px;border-radius:999px;white-space:nowrap;transition:background .2s;display:inline-block;}
.mjp-p-cta:hover{background:var(--red-hover);}
.mjp-p-btn-red{background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:16px 32px;border-radius:4px;letter-spacing:.3px;transition:all .3s ease;display:inline-block;}
.mjp-p-btn-red:hover{background:var(--red-hover);transform:translateY(-2px);}
.mjp-p-btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:16px 32px;border-radius:4px;letter-spacing:.3px;transition:all .3s ease;display:inline-block;}
.mjp-p-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.mjp-p-footer-link{color:rgba(255,255,255,.55);text-decoration:none;font-size:14px;transition:color .2s;}
.mjp-p-footer-link:hover{color:#fff;}
.mjp-p-underline-link{color:#0b1730;text-decoration:none;font-weight:700;font-size:15px;border-bottom:2px solid var(--red);padding-bottom:4px;}
.mjp-p-underline-link.on-dark{color:#fff;}
.mjp-p-social{width:36px;height:36px;border-radius:999px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s;}
.mjp-p-social:hover{background:var(--red);}
.mjp-p-pill-filter{cursor:pointer;border:1px solid #d8dce4;background:#fff;color:var(--body-text);font-size:14px;font-weight:600;padding:10px 22px;border-radius:999px;font-family:inherit;transition:all .25s ease;}
.mjp-p-pill-filter:hover,.mjp-p-pill-filter.active{border-color:var(--navy);background:var(--navy);color:#fff;}
.mjp-p-groups-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;align-items:start;}
@media (max-width:820px){.mjp-p-groups-grid{grid-template-columns:1fr;}}
.mjp-p-chip{display:block;background:var(--offwhite);border-radius:8px;padding:20px;font-weight:600;font-size:14.5px;color:var(--ink);text-align:center;text-decoration:none;transition:all .25s ease;}
.mjp-p-chip:hover{background:var(--navy);color:#fff;}
.mjp-p-related-pill{background:var(--offwhite);color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px;padding:14px 22px;border-radius:999px;transition:all .25s ease;display:inline-block;}
.mjp-p-related-pill:hover{background:var(--navy);color:#fff;}
.mjp-p-img-zoom{transition:transform .6s ease;}
a:hover>.mjp-p-img-zoom,.mjp-p-hover-zoom:hover .mjp-p-img-zoom{transform:scale(1.08);}
.mjp-p-brand-tile{background:#fff;border-radius:8px;padding:22px 16px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -20px rgba(11,23,48,.3);}
.mjp-p-brand-tile img{max-width:100%;max-height:36px;filter:grayscale(100%);opacity:.7;transition:all .3s ease;}
.mjp-p-brand-tile:hover img{filter:grayscale(0%);opacity:1;}
.mjp-p-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease;}
.mjp-p-reveal.mjp-p-in{opacity:1;transform:translateY(0);}
@keyframes mjp-p-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mjp-p-form-input{border:1px solid #d8dce4;background:#fff;border-radius:4px;padding:14px 16px;font-size:15px;font-family:inherit;color:var(--ink);width:100%;box-sizing:border-box;}
.mjp-p-form-input::placeholder{color:#9aa3b5;}
