/* One continuous surface: small droplet, round bead, then the final button. */
.final-cta{position:relative;min-height:125svh;background:#fff;--button-width:min(560px,calc(100vw - 48px));--button-height:clamp(104px,12vw,160px)}
.final-cta-stage{position:sticky;top:0;height:100svh;display:grid;place-items:center;padding:80px 24px 0;overflow:clip}
.final-cta-primary{position:relative;display:grid;place-items:center;width:var(--drop-width,var(--button-width));height:var(--drop-height,var(--button-height));border-radius:999px;background:#111;color:#fff;text-decoration:none;font-size:clamp(30px,4vw,54px);font-weight:550;letter-spacing:-.015em;white-space:nowrap;box-shadow:0 12px 24px -16px #0005;transform:translate3d(0,var(--drop-y,0px),0) scaleY(var(--drop-stretch,1));opacity:var(--drop-presence,1);isolation:isolate;will-change:width,height,transform,opacity}
.final-cta-primary::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 30% 18%,#ffffff55,transparent 55%);opacity:var(--drop-gloss,0)}
.final-cta-primary>span{opacity:var(--drop-label,1);transform:translateY(var(--drop-label-y,0px));will-change:transform,opacity}
.final-cta-primary:focus-visible{outline:2px solid #111;outline-offset:7px;width:var(--button-width);height:var(--button-height);transform:none;opacity:1;pointer-events:auto!important}
.final-cta-primary:focus-visible>span{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.final-cta{min-height:100svh}.final-cta-stage{position:relative}.final-cta-primary{width:var(--button-width);height:var(--button-height);transform:none;opacity:1;will-change:auto}.final-cta-primary>span{opacity:1;transform:none;will-change:auto}.final-cta-primary::before{display:none}}

/* Filter only the dark surfaces; labels and controls remain sharp. */
.cta-interaction{position:relative;display:grid;place-items:center;width:min(1000px,100%);height:var(--button-height);--cell-width:clamp(170px,20vw,220px);--cell-height:120px;--cell-gap:24px;--cell-step-x:calc(var(--cell-width) + var(--cell-gap));--cell-step-y:0px}
.final-cta-primary{border:0;padding:0;cursor:pointer;font-family:inherit}
.cta-role-picker{position:absolute;inset:0;z-index:2}
.cta-role-picker[hidden],.cta-other-profiles[hidden]{display:none}
.cta-role-title{position:absolute;left:50%;bottom:calc(50% + var(--cell-step-y) + var(--cell-height)/2 + 32px);transform:translateX(-50%);margin:0;color:#111;font-size:clamp(28px,3vw,42px);font-weight:550;letter-spacing:-.035em;line-height:1.15;white-space:nowrap}
.cta-cells{position:absolute;inset:0;pointer-events:none}
.cta-cell,.cta-role-choice{--cell-x:calc(var(--cell-index) * var(--cell-step-x));--cell-y:calc(var(--cell-index) * var(--cell-step-y));position:absolute;left:50%;top:50%;width:var(--cell-width);height:var(--cell-height);border-radius:999px;transform:translate(-50%,-50%) translate(var(--cell-x),var(--cell-y))}
.cta-cell{display:block;background:#111}
.cta-role-choice{display:flex;align-items:center;justify-content:center;gap:12px;border:0;padding:0 20px;background:transparent;color:#fff;font-family:inherit;font-size:clamp(22px,2.4vw,30px);font-weight:550;letter-spacing:-.02em;text-decoration:none;cursor:pointer;white-space:nowrap}
.cta-role-choice:focus-visible{outline:2px solid #111;outline-offset:6px}
.cta-role-choice[aria-pressed="true"]{background:#fff;color:#111;box-shadow:inset 0 0 0 2px #111}
.cta-role-choice svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.cta-other-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.cta-other-toggle svg{flex-shrink:0}
.cta-other-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.cta-other-profiles{position:absolute;left:calc(50% + var(--cell-step-x));top:calc(50% + var(--cell-step-y) + var(--cell-height)/2 + 10px);transform:translateX(-50%);width:max(250px,var(--cell-width));max-width:calc(100vw - 48px);overflow:auto;overscroll-behavior:contain;max-height:260px;padding:8px;border:1px solid #e7e7e7;border-radius:22px;background:#fff;box-shadow:0 18px 45px -16px #0004}
.cta-other-profiles button,.cta-other-profiles a{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px 15px;border-radius:14px;color:#111;font-family:inherit;font-size:15px;cursor:pointer}
.cta-other-profiles button:hover,.cta-other-profiles button:focus-visible,.cta-other-profiles a:hover,.cta-other-profiles a:focus-visible{background:#f2f2f2;outline:none}
.cta-filter-defs{position:absolute;pointer-events:none}
.split-open .final-cta-primary{visibility:hidden;pointer-events:none!important}
.splitting .final-cta-primary{visibility:visible;background:transparent;box-shadow:none;z-index:3}
.splitting .final-cta-primary::before{display:none}
.splitting .cta-cells{filter:url(#cta-cell-goo)}
.splitting .cta-role-choice{pointer-events:none}
@media(max-width:700px){.cta-interaction{--cell-width:min(280px,calc(100vw - 64px));--cell-height:76px;--cell-gap:18px;--cell-step-x:0px;--cell-step-y:calc(var(--cell-height) + var(--cell-gap))}.cta-role-choice{font-size:25px}.cta-other-profiles{width:var(--cell-width)}}
@media(prefers-reduced-motion:reduce){.cta-role-choice svg{transition:none}}

.cta-other-profiles a{text-decoration:none;box-sizing:border-box}
