/* Magic UI Interactive Hover Button, MIT / 21st.dev. A restrained expanding ink fill. */
.button{--cta-progress:0;--face:#172e3b;--text:#fff;--fill:#e8eef1;--fill-text:#172e3b;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:54px;padding:17px 35px 17px 47px;border:1px solid #172e3b;border-radius:2px;background:var(--face);color:var(--text);font:500 11px/1.4 var(--sans);letter-spacing:.025em;white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff18;transition:transform .2s,box-shadow .2s;text-align:center;text-decoration:none}
.button.light-button{--face:#18374720;--text:#fff;--fill:#ffffff25;--fill-text:#fff;background:var(--face);border-color:#ffffff80;box-shadow:inset 0 0 0 1px #ffffff08;backdrop-filter:blur(8px)}
.cta-copy{position:relative;z-index:2;display:block;opacity:calc(1 - var(--cta-progress));transform:translateX(calc(var(--cta-progress)*16px));transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s}
.cta-next{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--fill-text);opacity:var(--cta-progress);transform:translateX(calc((1 - var(--cta-progress))*-16px));transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s;pointer-events:none}
.cta-fill{position:absolute;z-index:1;width:9px;height:9px;left:24px;top:calc(50% - 4.5px);border-radius:50%;background:var(--fill);transform:scale(calc(1 + var(--cta-progress)*70));transition:transform .55s cubic-bezier(.22,1,.36,1);pointer-events:none}.cta-dot{position:absolute;left:26px;top:calc(50% - 2.5px);width:5px;height:5px;background:var(--face);border-radius:50%;opacity:calc(1 - var(--cta-progress));z-index:2;transition:opacity .2s;pointer-events:none}
.button:hover,.button:focus-visible{--cta-progress:1}.button:active{transform:translateY(1px);box-shadow:inset 0 2px 8px #0002}.button:focus-visible{outline:2px solid #5499c6;outline-offset:5px}.button[aria-busy=true]{cursor:progress}.button:disabled,.button[aria-disabled=true]{opacity:.45;pointer-events:none}.button.small{min-height:44px;padding-block:12px}.filter-panel .button{min-height:44px}
@media(hover:none){.cta-copy,.cta-next,.cta-fill,.cta-dot{transition:none}.button:hover{--cta-progress:0}.button{white-space:normal}.hero-explore{min-width:218px}.hero-search .button{font-size:10px;padding:15px 20px 15px 35px}.hero-search .cta-fill{left:16px}.hero-search .cta-dot{left:18px}}
@media(prefers-reduced-motion:reduce){.button,.cta-copy,.cta-next,.cta-fill,.cta-dot{transition:none}}

.button.light-button{border-radius:999px;min-height:50px;padding:15px 31px 15px 43px}.light-button .cta-fill{width:5px;height:5px;top:calc(50% - 2.5px);left:23px}.light-button .cta-dot{display:none}.light-button .cta-copy{font-weight:400;letter-spacing:.05em}
/* One visible label avoids overlapping letterforms while touch drives an intermediate pose. */
.cta-copy{opacity:1;transform:none;color:color-mix(in srgb,var(--text) calc(100% - var(--cta-progress)*100%),var(--fill-text));transition:color .25s}.cta-next{display:none}.button.light-button .cta-copy{color:#fff}
@media(hover:none){.cta-copy{transition:none}}

/* Retain the licensed expanding-fill interaction, soften every action's resting face. */
.button{--face:transparent;--text:#172e3b;--fill:#172e3b;--fill-text:#fff;border-radius:999px;background:transparent;border-color:#172e3b50;box-shadow:none;font-size:11px;letter-spacing:.035em;min-height:52px;padding:16px 30px 16px 43px}
.button.light-button{--face:#16344012;--text:#fff;--fill:#ffffff20;--fill-text:#fff;background:#16344012;border-color:#ffffff75;backdrop-filter:blur(5px)}
.button .cta-fill{width:5px;height:5px;left:23px;top:calc(50% - 2.5px)}.button .cta-dot{display:none}
.closing-cta .cta-copy{color:inherit}.closing-cta{--fill:#172e3b0c;--fill-text:#172e3b}
@media(hover:none){.button{padding-inline:34px 24px}.button .cta-fill{left:18px}}
