.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:51px;padding:16px 24px;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:1.2;border:0;text-align:center;transition:color var(--dur-fast),background-color var(--dur-fast),border-color var(--dur-fast)}
.button--primary{background:var(--color-ink);color:var(--color-white)}.button--primary:hover,.button--primary:focus-visible{background:var(--color-accent)}.button .icon{width:18px;height:18px}
.button--square{padding:0;min-height:56px;width:56px;flex-shrink:0}.button--previous{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-ink)}.button--next{background:var(--color-ink);color:var(--color-white)}.button--square:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.button:disabled{cursor:default;color:var(--color-muted);opacity:.45}.button:disabled:hover{background:var(--color-white);border-color:var(--color-border);color:var(--color-muted)}
@media(max-width:767px){.button{min-height:44px;padding-block:12px}.button--square{position:relative;width:32px;min-height:32px;padding:0}.button--square::after{content:"";position:absolute;inset:-6px}}
.button--text-arrow{align-self:flex-start;padding:0;gap:24px;min-height:56px;font:500 26px/1.2 var(--font-heading);letter-spacing:-.01em;text-align:left;background:transparent;color:var(--color-ink)}.button--text-arrow .icon{flex:0 0 56px;width:56px;height:56px;padding:19px;background:var(--color-ink);color:var(--color-white);transition:background-color var(--dur-fast) ease}.button--text-arrow:hover{color:var(--color-accent)}.button--text-arrow:hover .icon{background:var(--color-accent)}
@media(max-width:767px){.button--text-arrow{position:relative;font-size:15px;line-height:18px;gap:16px;min-height:0}.button--text-arrow::after{content:"";position:absolute;inset:-4px 0}.button--text-arrow .icon{flex-basis:32px;width:32px;height:32px;padding:8px}}

.button--video{width:88px;min-height:88px;padding:0;background:var(--color-white);color:var(--color-ink)}.button--video .icon{width:28px;height:28px}.button--video:hover{background:var(--color-tag)}
@media(max-width:767px){.button--video{width:56px;min-height:56px}.button--video .icon{width:20px;height:20px}}

.button--primary:focus-visible{outline-color:var(--color-accent)}
.button--file-download{width:48px;min-height:48px;padding:0;background:transparent;color:var(--color-ink)}.button--file-download .icon{width:24px;height:24px}
@media(max-width:767px){.button--file-download{width:44px;min-height:44px}.button--file-download .icon{width:20px;height:20px}}

.button--social{width:52px;min-height:52px;padding:10px;background:var(--color-ink);color:var(--color-white)}.button--social .icon{width:32px;height:32px}.button--social:hover{background:var(--color-accent)}.button--social:focus-visible{outline-color:var(--color-accent)}
@media(max-width:767px){.button--social{width:44px;min-height:44px;padding:8px}.button--social .icon{width:28px;height:28px}}

.button--lime,.button--light{padding-inline:20px;color:var(--color-ink)}.button--lime{background:var(--color-via-lime)}.button--light{background:var(--color-white)}.button--lime:hover,.button--light:hover{background:var(--color-via-pale)}

.button--forum-previous,.button--forum-next{width:64px;min-height:64px;padding:0;color:var(--color-ink);border:0}.button--forum-next{background:var(--color-via-lime)}.button--forum-previous{background:var(--color-white)}.button--forum-previous:disabled,.button--forum-previous:disabled:hover{background:color-mix(in srgb,var(--color-white) 8%,transparent);color:var(--color-via-muted);opacity:1}.button--forum-next:hover,.button--forum-previous:hover{background:var(--color-via-pale);color:var(--color-ink)}
@media(max-width:767px){.button--forum-previous,.button--forum-next{width:32px;min-height:32px}}

.button--back-on-dark{width:64px;min-height:64px;padding:0;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-via-cream) 30%,transparent);color:var(--color-white);background:transparent}.button--back-on-dark .icon{width:24px;height:24px}.button--back-on-dark:hover{color:var(--color-ink);background:var(--color-via-lime);border-color:var(--color-via-lime)}
@media(max-width:767px){.button--back-on-dark{width:44px;min-height:44px;padding:0}.button--back-on-dark .icon{width:20px;height:20px}}
.button--lnob{background:var(--color-lnob-lime);color:var(--color-lnob-blue);border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:500;min-height:51px;padding:13px 28px 13px 32px;font-size:18px;line-height:24px;gap:14px}.button--lnob:hover{background:var(--color-lnob-blue);color:var(--color-white)}
@media(max-width:767px){.button--lnob{min-height:44px;font-size:16px;padding-block:10px;line-height:24px}}
.button--lime{min-height:51px;padding:0 28px;gap:var(--space-sm);font-size:20px;line-height:1.4}.button--lime .icon{width:20px;height:20px}
@media(max-width:767px){.button--lime{min-height:44px;font-size:16px}.button--lime .icon{width:16px;height:16px}}

/* Large link/action variant; padding lets translated labels wrap naturally. */
.button--large{min-height:51px;padding:11.5px 28px;gap:var(--space-sm);font-size:var(--fs-button-large);line-height:1.4}.button--large .icon{width:20px;height:20px}
@media(max-width:767px){.button--large{min-height:44px;padding-block:10.8px;font-size:var(--fs-button-large-mobile)}.button--large .icon{width:16px;height:16px}}

.button--video-accent{width:120px;min-height:120px;padding:0;border-radius:var(--radius-pill);background:var(--color-via-lime);color:var(--color-ink)}.button--video-accent .icon{width:48px;height:48px;transform:translateX(3.6px)}.button--video-accent:hover{background:var(--color-via-pale)}
@media(max-width:767px){.button--video-accent{width:64px;min-height:64px}.button--video-accent .icon{width:26px;height:26px;transform:translateX(1.92px)}}

.button--video-accent:focus-visible{outline-color:var(--color-white);outline-offset:4px}
