/* Frontpage campaign hero, isolated from category/product banners and the native slider. */
.m2y-home-campaign { margin-bottom:20px; }
.m2y-home-campaign *, .m2y-home-campaign *::before, .m2y-home-campaign *::after { box-sizing:border-box; }
.m2y-home-campaign__hero { position:relative; isolation:isolate; display:flex; width:100%; min-width:0; align-items:center; aspect-ratio:3/1; overflow:hidden; background:#0c1410; color:#fff; border:1px solid #274433; border-radius:5px; padding:clamp(25px,3.2vw,48px); }
.m2y-home-campaign__hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(110deg,#090e0b 5%,#0f2317 57%,#164b2c); }
.m2y-home-campaign__light { position:absolute; z-index:-1; right:0; top:-50%; width:65%; height:180%; transform:rotate(-20deg); background:linear-gradient(90deg,transparent,#44d77d0c,transparent 45%,#7ff3a71a,transparent 85%); pointer-events:none; }
.m2y-home-campaign__copy { position:relative; z-index:2; width:58%; min-width:0; }
.m2y-home-campaign__eyebrow { display:flex; align-items:center; gap:9px; color:#a3dcb5; font-size:10px; font-weight:700; line-height:1.5; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:16px; }
.m2y-home-campaign__eyebrow > span { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#2ecc71; box-shadow:0 0 12px #2ecc7177; }
.m2y-home-campaign #m2y-home-headline { margin:0 0 16px; font-family:inherit; font-weight:700; font-size:clamp(40px,5.8vw,83px); line-height:.93; letter-spacing:-2.8px; color:#fff; }
.m2y-home-campaign #m2y-home-headline > span { display:block; overflow-wrap:anywhere; }
.m2y-home-campaign #m2y-home-headline > span + span { color:#76e6a0; }
.m2y-home-campaign__copy > p { margin:0 0 20px; max-width:480px; color:#d4e1d8; font-size:14px; line-height:1.6; }
.m2y-home-campaign__actions { display:flex; flex-wrap:wrap; gap:10px; }
.m2y-home-campaign__actions a { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 18px; border-radius:4px; font-size:13px; line-height:1.4; font-weight:700; text-decoration:none; }
.m2y-home-campaign__primary { background:#2ecc71; color:#102719; border:1px solid #2ecc71; box-shadow:0 5px 24px #0002; }
.m2y-home-campaign__primary:hover { background:#66e59a; color:#102719; border-color:#66e59a; }
.m2y-home-campaign__secondary { border:1px solid #9fb7a6; color:#fff; background:#ffffff05; }
.m2y-home-campaign__secondary:hover { background:#ffffff10; color:#fff; }
.m2y-home-campaign__secondary svg { width:18px; height:18px; }
.m2y-home-campaign__footnote { display:block; margin-top:12px; font-size:11px; color:#b4cbbb; line-height:1.5; }
.m2y-home-campaign__art { position:absolute; z-index:1; right:-1%; top:0; bottom:0; width:51%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.m2y-home-campaign__svg { width:100%; max-height:100%; }
.m2y-home-campaign__art picture { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.m2y-home-campaign__art img { display:block; width:100%; height:100%; object-fit:contain; }
.m2y-home-campaign a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(min-width:761px) and (max-width:1100px) { .m2y-home-campaign__hero { min-height:335px; } .m2y-home-campaign #m2y-home-headline { font-size:58px; } .m2y-home-campaign__eyebrow { letter-spacing:1px; font-size:9px; } .m2y-home-campaign__art { right:-5%; width:53%; opacity:.8; } }
@media(max-width:760px) { .m2y-home-campaign__hero { aspect-ratio:auto; min-height:440px; padding:28px 24px; align-items:flex-start; } .m2y-home-campaign__copy { width:100%; } .m2y-home-campaign #m2y-home-headline { font-size:clamp(44px,9.2vw,67px); letter-spacing:-1.8px; line-height:.98; margin-bottom:16px; } .m2y-home-campaign__copy > p { max-width:75%; font-size:14px; } .m2y-home-campaign__eyebrow { margin-bottom:20px; font-size:9px; letter-spacing:1px; } .m2y-home-campaign__art { top:auto; width:63%; height:63%; right:-17%; bottom:-8%; opacity:.35; } .m2y-home-campaign__actions { max-width:420px; } .m2y-home-campaign__actions a { min-height:45px; } .m2y-home-campaign__footnote { max-width:75%; } }
@media(max-width:420px) { .m2y-home-campaign__hero { min-height:465px; padding:26px 20px; } .m2y-home-campaign__copy > p { max-width:100%; } .m2y-home-campaign__actions a { flex:1 1 100%; } .m2y-home-campaign__footnote { max-width:100%; font-size:10px; } .m2y-home-campaign__art { width:70%; right:-25%; bottom:-12%; opacity:.2; } }
@media(prefers-reduced-motion:reduce) { .m2y-home-campaign * { scroll-behavior:auto; } }

/* Keep CTA contrast in every native link state, including :visited. */
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__primary,
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__primary:visited { background:#2ecc71; color:#102719; border-color:#2ecc71; font-weight:700; opacity:1; }
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__primary:hover,
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__primary:focus-visible { background:#6de69b; color:#102719; border-color:#6de69b; }
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__secondary,
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__secondary:visited { background:#fff; color:#193425; border-color:#fff; font-weight:700; opacity:1; }
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__secondary:hover,
.m2y-home-campaign .m2y-home-campaign__actions a.m2y-home-campaign__secondary:focus-visible { background:#e2f5e8; color:#193425; border-color:#e2f5e8; }
.m2y-home-campaign__secondary svg { color:inherit; stroke:currentColor; }
@media(max-width:760px) {
    .m2y-home-campaign__hero { min-height:0; padding:22px 20px; }
    .m2y-home-campaign__eyebrow { margin-bottom:12px; font-size:9px; letter-spacing:.8px; }
    .m2y-home-campaign #m2y-home-headline { font-size:clamp(34px,8.6vw,54px); line-height:.97; margin-bottom:12px; letter-spacing:-1.4px; }
    .m2y-home-campaign__copy > p { max-width:100%; font-size:13px; line-height:1.5; margin-bottom:14px; }
    .m2y-home-campaign__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; max-width:none; }
    .m2y-home-campaign__actions a { min-height:44px; padding:11px 12px; font-size:13px; gap:8px; }
    .m2y-home-campaign__actions a:only-child { grid-column:1 / -1; }
    .m2y-home-campaign__footnote { max-width:100%; margin-top:10px; font-size:10px; line-height:1.5; }
    .m2y-home-campaign__art { opacity:.13; width:55%; right:-15%; bottom:-25%; height:95%; }
}
@media(max-width:420px) { .m2y-home-campaign__hero { min-height:0; padding:20px 18px; } .m2y-home-campaign__actions { grid-template-columns:1fr; } }
