/* Mastermind9 Group Matcher */
.m9gm,.m9gm-results{--m9-navy:#155373;--m9-ink:#0E2C3B;--m9-orange:#EA531C;--m9-sand:#F3EEE6;--m9-line:#E6E1D9;font-family:Poppins,sans-serif}
.m9gm *,.m9gm-results *{box-sizing:border-box}

/* ---------- Quiz ---------- */
.m9gm{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "seats" "card" "note";row-gap:0}
.m9gm .m9gm-head{grid-area:head;max-width:620px}
.m9gm .m9gm-card{grid-area:card}
.m9gm .m9gm-seats{grid-area:seats}
@media (min-width:900px){.m9gm{grid-template-columns:minmax(0,620px) minmax(0,1fr);grid-template-areas:"head seats" "card seats" "note seats";column-gap:56px}}
.m9gm .m9gm-title{margin:0}
.m9gm .m9gm-intro{margin:12px 0 0}
.m9gm .m9gm-note{grid-area:note;margin:14px 0 0;font-size:15px;line-height:1.4;font-weight:500;opacity:.85}
.m9gm .m9gm-card{position:relative;margin:24px 0 0;padding:24px;background:#fff;border-radius:20px;box-shadow:0 24px 60px -24px rgba(0,0,0,.45);color:var(--m9-ink);text-align:left}
.m9gm .m9gm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.m9gm .m9gm-card .m9gm-small{margin:12px 0 0;font-size:14px;line-height:1.4;font-weight:500;color:var(--m9-navy)}
.m9gm .m9gm-card .m9gm-progress{margin:0;font-size:13px;line-height:1.3;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--m9-navy)}

/* The group forming around you */
.m9gm .m9gm-seats{margin:20px 0 0}
.m9gm .m9gm-ring{position:relative;display:flex;flex-wrap:wrap;gap:6px}
.m9gm .m9gm-chair{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px dashed rgba(255,255,255,.45);background:transparent;color:var(--m9-orange);transition:transform .45s cubic-bezier(.34,1.56,.64,1),background-color .3s,border-color .3s,box-shadow .3s}
.m9gm .m9gm-chair .m9gm-icon{width:55%;height:55%;opacity:0;transform:scale(.4);transition:opacity .3s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.m9gm .m9gm-chair.is-on{border:2px solid var(--m9-orange);background:#fff;box-shadow:0 0 22px rgba(234,83,28,.55)}
.m9gm .m9gm-chair.is-on .m9gm-icon{opacity:1;transform:scale(1)}
.m9gm .m9gm-hub{display:none}
.m9gm .m9gm-chair--you{background:#C2410C;border:2px solid #C2410C;color:#fff;font-size:11px;font-weight:700;line-height:1}
.m9gm .m9gm-chair--you.is-on{background:#C2410C;border-color:#C2410C}
.m9gm .m9gm-seats .m9gm-seatcount{margin:10px 0 0;font-size:14px;line-height:1.3;font-weight:600;letter-spacing:.04em}
@media (min-width:900px){
.m9gm .m9gm-chair--you{font-size:15px}
.m9gm .m9gm-seats{align-self:start;padding-top:24px;display:flex;flex-direction:column;align-items:center;margin:0}
.m9gm .m9gm-ring{display:block;width:360px;height:360px;flex:none}
.m9gm .m9gm-ring::before{content:"";position:absolute;inset:40px;border-radius:50%;border:1px dashed rgba(255,255,255,.25)}
.m9gm .m9gm-chair{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;transform:rotate(calc(var(--i) * 40deg - 90deg)) translateX(140px) rotate(calc(90deg - var(--i) * 40deg))}
.m9gm .m9gm-chair.is-on{transform:rotate(calc(var(--i) * 40deg - 90deg)) translateX(140px) rotate(calc(90deg - var(--i) * 40deg)) scale(1.06)}
.m9gm .m9gm-hub{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);color:#fff;text-align:center;transition:background-color .4s,box-shadow .4s,border-color .4s}
.m9gm .m9gm-hub-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.m9gm .m9gm-hub-count{margin-top:4px;font-size:30px;line-height:1;font-weight:700}
.m9gm.is-done .m9gm-hub{background:#C2410C;border-color:#C2410C;box-shadow:0 0 50px rgba(234,83,28,.6)}
.m9gm .m9gm-seats .m9gm-seatcount{margin:14px 0 0;font-size:16px;text-align:center}
}

.m9gm .m9gm-step{margin:0 0 20px;padding:0;border:0;min-width:0}
.m9gm .m9gm-step+.m9gm-step{padding-top:20px;border-top:1px solid var(--m9-line)}
.m9gm .m9gm-progresswrap+.m9gm-step,.m9gm .m9gm-step[hidden]+.m9gm-step{border-top:0;padding-top:0}
.m9gm .m9gm-q{display:block;float:none;width:100%;margin:16px 0 14px;padding:0;font-size:22px;line-height:1.25;font-weight:700;color:var(--m9-navy);outline:none}
.m9gm .m9gm-card .m9gm-nojs{margin:-6px 0 12px;font-size:14px;color:var(--m9-navy)}
.m9gm .m9gm-opts{display:grid;gap:10px}
@media (min-width:480px){.m9gm .m9gm-opts{grid-template-columns:1fr 1fr}}
.m9gm .m9gm-opt{position:relative;display:block;margin:0;cursor:pointer}
.m9gm .m9gm-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.m9gm .m9gm-opt span{display:flex;align-items:center;gap:12px;min-height:64px;height:100%;padding:12px 14px;border:2px solid var(--m9-line);border-radius:14px;background:#fff;font-size:16px;line-height:1.3;font-weight:600;color:var(--m9-ink);transition:border-color .15s,background-color .15s,box-shadow .2s,transform .2s}
.m9gm .m9gm-key{display:flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:2px solid var(--m9-line);font-size:13px;font-weight:700;color:var(--m9-navy);transition:background-color .15s,border-color .15s,color .15s}
.m9gm .m9gm-opt:hover span{border-color:var(--m9-navy);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(21,83,115,.6)}
.m9gm .m9gm-opt input:checked+span{border-color:var(--m9-orange);background:#FFF4EE;box-shadow:0 0 0 1px var(--m9-orange)}
.m9gm .m9gm-opt input:checked+span .m9gm-key{background:var(--m9-orange);border-color:var(--m9-orange);color:#fff}
.m9gm .m9gm-opt input:focus-visible+span{outline:3px solid var(--m9-navy);outline-offset:2px}
.m9gm .m9gm-card .m9gm-error{margin:0;min-height:0;font-size:15px;font-weight:600;color:#B3330B}
.m9gm .m9gm-card .m9gm-error:not(:empty){margin:0 0 12px}
.m9gm .m9gm-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.m9gm .m9gm-btn,.m9gm-results .m9gm-btn{display:inline-flex;align-items:center;gap:8px;margin:0;padding:13px 26px;border:0;border-radius:12px;background:var(--m9-orange);color:#fff;font-family:inherit;font-size:1.2rem;line-height:1.2;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 0 36px rgba(234,83,28,.55);transition:transform .32s ease-in-out,box-shadow .32s ease-in-out}
.m9gm .m9gm-btn:hover,.m9gm .m9gm-btn:focus-visible,.m9gm-results .m9gm-btn:hover,.m9gm-results .m9gm-btn:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 0 60px 6px rgba(234,83,28,.7)}
.m9gm .m9gm-btn:focus-visible,.m9gm-results .m9gm-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.m9gm .m9gm-btn[disabled]{opacity:.7;cursor:wait}
.m9gm .m9gm-back{margin:0;padding:10px 4px;border:0;background:none;color:var(--m9-navy);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.m9gm .m9gm-back:focus-visible{outline:3px solid var(--m9-navy);outline-offset:2px;border-radius:6px}
.m9gm .m9gm-nav .m9gm-btn{margin-left:auto}
.m9gm.is-js .m9gm-step{margin:0;padding:0;border:0}
.m9gm.is-js .m9gm-step .m9gm-q{margin-top:8px}
.m9gm.is-js .m9gm-nav{margin-top:20px}
.m9gm-quote{max-width:760px;margin:56px auto 0;text-align:center}
@media (prefers-reduced-motion:reduce){.m9gm .m9gm-btn,.m9gm-results .m9gm-btn,.m9gm .m9gm-chair,.m9gm .m9gm-chair .m9gm-icon,.m9gm .m9gm-opt span,.m9gm .m9gm-hub{transition:none}.m9gm .m9gm-btn:hover,.m9gm-results .m9gm-btn:hover,.m9gm .m9gm-opt:hover span{transform:none}}


/* Homepage band: how the rhythm works */
.m9gm-rhythm{margin:48px 0 0;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.2)}
.m9gm-rhythm .m9gm-rhythm-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.85}
.m9gm-rhythm ol{display:grid;gap:18px;margin:16px 0 0;padding:0;list-style:none}
@media (min-width:768px){.m9gm-rhythm ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
.m9gm-rhythm li{margin:0;padding:0 0 0 16px;border-left:3px solid #EA531C;color:#fff;font-size:16px;line-height:1.5}
.m9gm-rhythm li strong{display:block;font-size:18px;color:#fff}
.m9gm-rhythm .m9gm-rhythm-extra{margin:18px 0 0;font-size:15px;color:#fff;opacity:.85}

.m9gm.m9gm--explainer .m9gm-title{font-size:clamp(30px,3vw,44px);line-height:1.1}
