/* Homepage monthly selection · dedicated, versioned CI 2.3 component. */
.hmo{--hmo-purple:#45336e;--hmo-ink:#312340;--hmo-lime:#d8ef69;--hmo-lavender:#dfd2f2;box-sizing:border-box;position:relative;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.35fr);align-items:center;gap:40px;max-width:1440px;margin:40px auto;padding:44px 48px;background:#fffaf1;border:1px solid #e6dfd3;border-radius:24px;font-family:Manrope,sans-serif;color:var(--hmo-ink);line-height:1.55}
.hmo *{box-sizing:border-box}
.hmo .hmo-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 20px;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--hmo-purple)}
.hmo-eyebrow>span{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--hmo-lime);box-shadow:0 0 0 1px rgba(69,51,110,.16)}
.hmo h2{margin:0 0 16px;font-family:Manrope,sans-serif;font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.12;letter-spacing:-.035em;color:var(--hmo-purple)}
.hmo .hmo-month{display:inline-block;margin:0 0 16px;padding:4px 13px;background:var(--hmo-lime);border-radius:6px;transform:rotate(-2deg);font-size:19px;font-weight:800;line-height:1.4;color:var(--hmo-ink)}
.hmo .hmo-description{max-width:330px;margin:0 0 7px;font-size:16px}
.hmo .hmo-validity{margin:0;font-size:12px;color:#655971}
.hmo a.hmo-cta,.hmo a.hmo-cta:visited,.hmo a.hmo-cta:hover{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;max-width:100%;margin-top:26px;padding:14px 22px;border:1px solid var(--hmo-purple);border-radius:999px;background:var(--hmo-purple);color:#fffaf1!important;-webkit-text-fill-color:#fffaf1!important;text-decoration:none;font-family:inherit;font-size:14px;font-weight:800;line-height:1.4;transition:background-color 180ms ease}
.hmo a.hmo-cta:hover{background:#312340}
.hmo-cta>span{font-size:22px;line-height:1}
.hmo-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;padding:4px 0 20px;min-width:0}
.hmo a.hmo-product,.hmo a.hmo-product:visited{display:block;min-width:0;text-decoration:none;color:var(--hmo-purple)!important;-webkit-text-fill-color:var(--hmo-purple)!important}
.hmo-product-2{margin-top:30px}
.hmo-stage{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1.12;min-width:0;margin:8px 6px 18px;padding:16px}.hmo-stage::before{content:"";position:absolute;z-index:-1;inset:0;border:1px solid #e8e1d8;border-radius:20px;background:#fff;box-shadow:0 5px 14px rgba(49,35,64,.05)}
.hmo-shape{position:absolute;z-index:-2;inset:-5px -3px 0;background:var(--hmo-lavender);border-radius:24px;transform:rotate(-5deg)}
.hmo-product-2 .hmo-shape{inset:-5px -3px 0;border-radius:24px;background:var(--hmo-lime);transform:rotate(5deg)}
.hmo .hmo-photo{display:block;position:relative;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transition:transform 180ms ease}
.hmo-product:hover .hmo-photo{transform:translateY(-4px)}
.hmo-product-caption{position:relative;min-height:56px;padding:0 28px 0 6px}
.hmo-product-name{display:block;font-size:16px;line-height:1.35;font-weight:800;overflow-wrap:anywhere}
.hmo-article{display:block;margin-top:6px;font-size:11px;font-weight:500;color:#655971;-webkit-text-fill-color:#655971}
.hmo-product-arrow{position:absolute;right:2px;top:0;font-size:22px;line-height:1.2}
.hmo a:focus-visible{outline:3px solid var(--hmo-purple);outline-offset:6px;border-radius:8px}
@media(max-width:1000px){.hmo{gap:28px;padding:32px;grid-template-columns:minmax(250px,.9fr) minmax(0,1.25fr)}.hmo-products{gap:16px}.hmo-product-name{font-size:14px}}
@media(max-width:760px){.hmo{grid-template-columns:1fr;margin:28px 16px;padding:28px 24px;gap:26px}.hmo h2{font-size:30px}.hmo .hmo-eyebrow{margin-bottom:16px}.hmo .hmo-description{max-width:none}.hmo .hmo-month{font-size:18px;margin-bottom:14px}.hmo a.hmo-cta{margin-top:20px}.hmo-products{gap:16px;padding:0 0 8px}.hmo-product-2{margin-top:22px}.hmo-stage{margin:5px 4px 16px;aspect-ratio:1.08;padding:10px}.hmo-stage::before{border-radius:14px}.hmo-product-caption{padding-left:2px;padding-right:20px}.hmo-product-arrow{font-size:18px}.hmo-product-name{font-size:14px}.hmo-shape,.hmo-product-2 .hmo-shape{border-radius:16px}}
@media(max-width:360px){.hmo{padding:24px 18px}.hmo-products{gap:12px}.hmo a.hmo-cta{gap:12px;padding-right:16px;padding-left:16px;font-size:13px}.hmo-product-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hmo .hmo-photo,.hmo a.hmo-cta{transition:none}.hmo-product:hover .hmo-photo{transform:none}}
