.home-controls, .home-hero, .home-showcase, .team-invite {
    --home-ink: var(--text-main); --home-muted: var(--text-muted); --home-bg: var(--page-background); --home-surface: var(--surface);
    --home-surface-muted: var(--surface-muted); --home-border: color-mix(in srgb, var(--text-main) 20%, var(--border-soft));
    --home-shadow: 0 24px 58px rgb(0 0 0 / 14%); --hero-ink: #111; --hero-muted: rgb(17 17 17 / 72%); --hero-kicker: rgb(17 17 17 / 58%);
    --hero-overlay-start: rgb(250 251 250 / 72%); --hero-overlay-mid: rgb(250 251 250 / 46%); --hero-overlay-end: rgb(250 251 250 / 44%);
    --team-panel-start: rgb(255 255 255 / 98%); --team-panel-end: rgb(231 236 233 / 98%); --team-ink: #111; --team-muted: rgb(17 17 17 / 70%);
    --team-kicker: rgb(17 17 17 / 52%);
}
:root[data-bs-theme="dark"] :is(.home-controls, .home-hero, .home-showcase, .team-invite), :root[data-theme="dark"] :is(.home-controls, .home-hero, .home-showcase, .team-invite) {
    --hero-ink: #fff; --hero-muted: rgb(255 255 255 / 80%); --hero-kicker: rgb(255 255 255 / 72%); --hero-overlay-start: rgb(5 7 6 / 68%);
    --hero-overlay-mid: rgb(5 7 6 / 40%); --hero-overlay-end: rgb(5 7 6 / 48%); --team-panel-start: rgb(16 19 22 / 98%); --team-panel-end: rgb(35 41 46 / 96%);
    --team-ink: #fff; --team-muted: rgb(255 255 255 / 76%); --team-kicker: rgb(255 255 255 / 56%);
}
.home-controls { position: absolute; inset: 0 0 auto; z-index: 50; padding: max(1rem, env(safe-area-inset-top)) 0 1rem; color: var(--hero-ink); }
.home-controls__inner { display: flex; min-height: 44px; gap: .75rem; align-items: center; justify-content: flex-end; }
.home-controls__theme, .home-controls__language select { color: var(--hero-ink) !important; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-weight: 800; }
.home-controls__theme { display: inline-flex; padding: .35rem; align-items: center; justify-content: center; appearance: none; }
.home-controls__theme .bi { font-size: 1.45rem; line-height: 1; }
.home-controls__language { display: flex; margin: 0; align-items: center; }
.home-controls__language select { width: auto; min-width: 0; height: auto; padding: .25rem 1.5rem .25rem .25rem; appearance: none; line-height: 1.2; }
.home-controls :is(button, select):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.home-controls__language option { color: var(--home-ink); background: var(--home-surface); }
.home-kicker { margin: 0 0 .85rem; color: var(--home-muted); font-size: .75rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.home-kicker--hero { color: var(--hero-kicker); }
.home-showcase__copy h2, .team-invite__content h2 { margin: 0; font-size: clamp(3rem, 6.5vw, 6rem); font-weight: 850; letter-spacing: -.065em; line-height: .94; text-wrap: balance; }
.home-showcase__copy > p:not(.home-kicker), .team-invite__content > p:not(.home-kicker) { max-width: 680px; margin: 1.2rem 0 0; color: var(--home-muted); font-size: 1.02rem; line-height: 1.75; }
.home-hero {
    --hero-fallback:
        radial-gradient(circle at 78% 22%, #d9e2dc 0, transparent 34%),
        linear-gradient(145deg, #f2f4f3, #dfe5e1 72%);
    position: relative; display: flex; min-height: 100svh; overflow: hidden; color: var(--hero-ink);
    background-color: var(--hero-bg-light, #dfe5e1); background-image: var(--hero-image, var(--hero-fallback)); background-position: center; background-repeat: no-repeat;
    background-size: cover; isolation: isolate;
}
:root[data-bs-theme="dark"] .home-hero, :root[data-theme="dark"] .home-hero {
    --hero-fallback:
        radial-gradient(circle at 78% 22%, #677970 0, transparent 34%),
        linear-gradient(145deg, #1a211e, #080a09 72%);
    background-color: var(--hero-bg-dark, #080a09);
}
.home-hero--monochrome { --hero-ink: var(--hero-mono-ink-light, #111); --hero-muted: color-mix(in srgb, var(--hero-ink) 72%, transparent); --hero-kicker: color-mix(in srgb, var(--hero-ink) 58%, transparent); background-image: none; background-color: var(--hero-bg-light, #dfe5e1); }
:root[data-bs-theme="dark"] .home-hero--monochrome, :root[data-theme="dark"] .home-hero--monochrome { --hero-ink: var(--hero-mono-ink-dark, #fff); --hero-muted: color-mix(in srgb, var(--hero-ink) 80%, transparent); --hero-kicker: color-mix(in srgb, var(--hero-ink) 72%, transparent); background-color: var(--hero-bg-dark, #080a09); }
.home-hero--monochrome .home-hero__backdrop { display: none; }
.home-hero__backdrop {
    position: absolute; inset: 0; z-index: -2;
    background: linear-gradient(90deg, var(--hero-overlay-start), var(--hero-overlay-mid) 38%, transparent 78%),
        linear-gradient(180deg, transparent 45%, var(--hero-overlay-end));
}
.home-hero__grain {
    position: absolute; inset: 0; z-index: -1; opacity: .18; pointer-events: none; background-image: radial-gradient(rgb(255 255 255 / 45%) .5px, transparent .5px);
    background-size: 5px 5px; mix-blend-mode: soft-light;
}
.home-hero__container {
    position: relative; display: flex; min-height: 100svh; padding-top: clamp(8rem, 14vw, 12rem); padding-bottom: clamp(3rem, 6vw, 5rem); align-items: flex-end;
    justify-content: space-between;
}
.home-hero__content { position: relative; z-index: 2; width: min(100%, 880px); }
.home-hero__title { max-width: 920px; margin: 0; color: var(--hero-ink); font-size: clamp(4rem, 9vw, 8.2rem); font-weight: 860; letter-spacing: -.075em; line-height: .87; text-wrap: balance; }
.home-hero__intro { max-width: 650px; margin: 1.65rem 0 0; color: var(--hero-muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.65; }
.home-hero__character {
    position: absolute; right: clamp(2.5rem, 7vw, 7rem); bottom: 1.5rem; z-index: 1; width: min(35vw, 470px); max-height: 82%; opacity: .94; pointer-events: none;
    filter: drop-shadow(0 26px 44px rgb(0 0 0 / 34%));
}
.home-hero__character img { display: block; width: 100%; max-height: 76svh; object-fit: contain; object-position: center bottom; }
.home-hero__character-mobile { display: none; }
.home-hero__scroll {
    display: inline-flex; padding-bottom: .5rem; gap: .8rem; align-items: center; align-self: flex-end; color: var(--hero-muted); font-size: .76rem;
    font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; writing-mode: vertical-rl;
}
.store-links { display: flex; margin-top: 2rem; gap: .75rem; flex-wrap: wrap; }
.store-link {
    position: relative; display: grid; width: 220px; min-height: 58px; padding: .65rem .85rem; overflow: hidden; align-items: center; color: #fff;
    border: 1px solid rgb(255 255 255 / 20%); border-radius: 16px; background: rgb(8 10 9 / 78%); box-shadow: 0 14px 34px rgb(0 0 0 / 28%);
    grid-template-columns: 38px minmax(0, 1fr) 38px; text-decoration: none; backdrop-filter: blur(18px);
    transition: transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}
.store-link::after { width: 38px; content: ""; }
.store-link:hover { color: #fff; border-color: rgb(255 255 255 / 42%); background: rgb(20 23 27 / 96%); transform: translateY(-3px); }
.store-link--google::before { position: absolute; inset: 0 0 auto; height: 4px; content: ""; background: linear-gradient(90deg, #34a853 0 25%, #4285f4 25% 50%, #fbbc04 50% 75%, #ea4335 75%); }
.store-link__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: rgb(255 255 255 / 10%); }
.store-link__copy { width: 100%; color: inherit; font-size: .84rem; font-weight: 780; line-height: 1.2; text-align: center; }
.home-showcase {
    position: relative; padding: clamp(5rem, 9vw, 8.5rem) 0; overflow: hidden; color: var(--home-ink); border-top: 1px solid var(--home-border);
    background: radial-gradient(circle at 10% 8%, color-mix(in srgb, var(--home-ink) 5%, transparent), transparent 24rem),
        var(--home-bg);
}
.home-showcase--alt { border-bottom: 1px solid var(--home-border); background: linear-gradient(180deg, color-mix(in srgb, var(--home-surface-muted) 96%, var(--home-surface)), var(--home-surface)); }
.home-showcase__heading { margin-bottom: 1.5rem; }
.home-showcase__copy--with-icon { display: grid; max-width: 780px; gap: clamp(1rem, 2vw, 1.5rem); align-items: start; grid-template-columns: clamp(64px, 7vw, 92px) minmax(0, 1fr); }
.home-section-icon {
    display: block; width: clamp(64px, 7vw, 92px); height: clamp(64px, 7vw, 92px); object-fit: contain;
    filter: drop-shadow(0 12px 22px color-mix(in srgb, var(--app-shadow) 14%, transparent));
}
.home-list-actions { display: flex; width: 100%; margin: 0 0 1.25rem; gap: 1.25rem; align-items: center; }
.home-list-actions__line { height: 1px; background: linear-gradient(90deg, color-mix(in srgb, var(--home-ink) 22%, transparent), color-mix(in srgb, var(--home-ink) 8%, transparent)); flex: 1; }
.home-arrow-link { display: inline-flex; gap: .85rem; align-items: center; color: var(--home-ink); font-weight: 800; white-space: nowrap; text-decoration: none; }
.home-cta-orbit {
    display: inline-grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; color: var(--app-on-primary); border: 1px solid var(--app-primary);
    border-radius: 50%; background: var(--app-primary); box-shadow: 0 10px 24px color-mix(in srgb, var(--app-primary) 22%, transparent);
    transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}
.home-arrow-link:hover .home-cta-orbit { border-color: var(--app-primary-strong); background: var(--app-primary-strong); transform: translate(2px, -2px); }
.feature-card {
    position: relative; min-height: 430px; overflow: hidden; color: #fff; border: 1px solid rgb(255 255 255 / 22%); border-radius: 28px; background: #111;
    box-shadow: var(--home-shadow); isolation: isolate; text-decoration: none;
}
.feature-card__media, .feature-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.feature-card__media { display: grid; place-items: center; color: var(--home-muted); background: var(--home-surface-muted); }
.feature-card__media img { object-fit: cover; transition: transform 700ms cubic-bezier(.2, .7, .2, 1); }
.feature-card:hover .feature-card__media img { transform: scale(1.045); }
.feature-card__placeholder { font-size: 6rem; font-weight: 850; }
.feature-card__veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 28%, rgb(6 7 8 / 92%)); }
.feature-card__content { position: absolute; inset: auto 0 0; z-index: 2; padding: clamp(1.35rem, 3vw, 2rem) clamp(5.75rem, 8vw, 7rem) clamp(4.5rem, 6vw, 5.75rem) clamp(1.35rem, 3vw, 2rem); }
.feature-card__badge {
    display: inline-flex; width: fit-content; max-width: 100%; margin-bottom: .8rem; padding: .42rem .7rem; color: #fff; border: 1px solid rgb(255 255 255 / 30%);
    border-radius: 999px; background: rgb(8 10 12 / 50%); font-size: .7rem; font-weight: 850; letter-spacing: .12em; line-height: 1; text-transform: uppercase;
    backdrop-filter: blur(14px);
}
.feature-card__content h3 { margin: 0; color: #fff; font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 830; letter-spacing: -.055em; line-height: 1; }
.feature-card__description {
    display: -webkit-box; max-width: 100%; margin: .9rem 0 0; overflow: hidden; color: rgb(255 255 255 / 74%); line-height: 1.55; overflow-wrap: anywhere;
    -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}


.community-carousel {
    position: relative;
}

.community-carousel__viewport {
    overflow-x: auto;
    padding: .2rem max(0px,calc((100% - 3rem) * 0));
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}

.community-carousel__viewport::-webkit-scrollbar {
    display: none;
}

.community-carousel__track {
    display: grid;
    grid-auto-columns: minmax(290px,calc((100% - 2rem) / 3));
    grid-auto-flow: column;
    gap: 1rem;
}

.community-carousel__slide {
    width: 100%;
    min-height: 0;
    aspect-ratio: 1;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.community-carousel__controls {
    display: flex;
    margin-top: 1.25rem;
    gap: .75rem;
    align-items: center;
    justify-content: flex-end;
}

.community-carousel__button {
    display: inline-grid;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--home-border);
    border-radius: 50%;
    color: var(--home-ink);
    background: var(--home-surface);
    place-items: center;
    transition:
        transform var(--transition-fast),
        border-color var(--transition-fast),
        background-color var(--transition-fast);
}

.community-carousel__button:hover:not(:disabled) {
    border-color: var(--app-primary);
    background: color-mix(in srgb,var(--app-primary) 14%,var(--home-surface));
    transform: translateY(-2px);
}

.community-carousel__button:disabled {
    cursor: default;
    opacity: .38;
}

.community-carousel__status {
    min-width: 52px;
    margin: 0;
    color: var(--home-muted);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

@media (max-width:991.98px) {
    .community-carousel__track {
        grid-auto-columns: minmax(280px,calc((100% - 1rem) / 2));
    }
}

@media (max-width:575.98px) {
    .community-carousel__viewport {
        margin-inline: calc(var(--bs-gutter-x) * -.5);
        padding-inline: calc(var(--bs-gutter-x) * .5);
        scroll-padding-inline: calc(var(--bs-gutter-x) * .5);
    }

    .community-carousel__track {
        grid-auto-columns: minmax(82vw,320px);
    }

    .community-carousel__controls {
        justify-content: center;
    }
}

@media (prefers-reduced-motion:reduce) {
    .community-carousel__viewport {
        scroll-behavior: auto;
    }
}

.association-rail { display: grid; overflow: hidden; border: 1px solid var(--home-border); border-radius: 28px; background: var(--home-surface); box-shadow: 0 22px 54px rgb(0 0 0 / 8%); }
.association-tile {
    display: grid; padding: 1rem; gap: clamp(1rem, 3vw, 2rem); align-items: center; color: var(--home-ink); border-bottom: 1px solid var(--home-border);
    grid-template-columns: 108px minmax(0, 1fr); text-decoration: none; transition: background-color var(--transition-fast);
}
.association-tile:last-child { border-bottom: 0; }
.association-tile:hover { color: var(--home-ink); background: var(--home-surface-muted); }
.association-tile__logo {
    display: grid; width: 108px; height: 108px; overflow: hidden; place-items: center; color: var(--home-muted); border: 1px solid var(--home-border);
    border-radius: 22px; background: var(--home-bg); font-size: 2.4rem; font-weight: 850;
}
.association-tile__logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.association-tile__body { display: grid; min-width: 0; gap: 1.5rem; align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
.association-tile h3 { margin: 0 0 .45rem; color: var(--home-ink); font-size: clamp(1.5rem, 2.6vw, 2.3rem); font-weight: 820; letter-spacing: -.045em; }
.association-tile__body p { max-width: 680px; margin: 0; color: var(--home-muted); line-height: 1.6; }
.home-app-forward { display: grid; width: 54px; height: 44px; overflow: visible; place-items: center; }
.home-app-forward img { width: 100%; height: 100%; object-fit: contain; }
.home-app-forward__light { display: block; }
.home-app-forward__dark, :root[data-bs-theme="dark"] .home-app-forward__light, :root[data-theme="dark"] .home-app-forward__light { display: none; }
:root[data-bs-theme="dark"] .home-app-forward__dark, :root[data-theme="dark"] .home-app-forward__dark { display: block; }
.feature-card__action { position: absolute; right: 1.25rem; bottom: 1.25rem; z-index: 3; width: 60px; height: 48px; }
.association-tile__action { width: 88px; height: 72px; flex: 0 0 88px; }
.team-invite {
    position: relative; padding: clamp(5rem, 9vw, 8rem) 0; color: var(--home-ink); border-top: 1px solid var(--home-border);
    background: radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--home-ink) 6%, transparent), transparent 26rem),
        var(--home-bg);
}
.team-invite__panel {
    position: relative; display: grid; min-height: 500px; padding: clamp(2rem, 6vw, 5rem) clamp(2rem, 43vw, 34rem) clamp(2rem, 6vw, 5rem) clamp(2rem, 6vw, 5rem);
    overflow: hidden; gap: clamp(2rem, 5vw, 5rem); align-items: end; color: var(--team-ink); border: 1px solid color-mix(in srgb, var(--team-ink) 20%, transparent);
    border-radius: 36px; background: linear-gradient(135deg, var(--team-panel-start), var(--team-panel-end)); box-shadow: 0 28px 70px rgb(0 0 0 / 18%);
    text-decoration: none; isolation: isolate;
}
.team-invite__content { position: relative; z-index: 2; max-width: 760px; }
.team-invite__content h2 { color: var(--team-ink); }
.team-invite__content > p:not(.home-kicker) { max-width: 620px; color: var(--team-muted); }
.team-invite__content .home-kicker { color: var(--team-kicker); }
.home-section-icon--team { width: 82px; height: 82px; margin-bottom: 1rem; }
.team-invite__character { position: absolute; right: clamp(.5rem, 4vw, 3rem); bottom: 0; z-index: 0; width: min(42%, 480px); height: 94%; pointer-events: none; }
.team-invite__character::before { position: absolute; right: 4%; bottom: 5%; width: 78%; aspect-ratio: 1; border-radius: 50%; content: ""; background: var(--app-surface-accent); }
.team-invite__character img {
    position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom;
    filter: drop-shadow(0 24px 35px color-mix(in srgb, var(--app-shadow) 20%, transparent));
}
.team-invite__cta { position: relative; z-index: 2; display: inline-flex; gap: 1rem; align-items: center; justify-self: start; color: var(--team-ink); font-weight: 820; }
.team-invite__cta-icon { width: 60px; height: 48px; min-width: 60px; }
.home-empty { padding: 2rem; color: var(--home-muted); border: 1px dashed var(--border-medium); border-radius: 24px; background: var(--home-surface); grid-column: 1 / -1; }
@media (max-width: 1199.98px) {
    .home-hero__character { right: 1rem; width: min(38vw, 390px); opacity: .82; }
    .team-invite__panel { padding-right: clamp(2rem, 40vw, 27rem); }
}
@media (max-width: 991.98px) {
    .home-hero__scroll, .home-hero__character { display: none; }
    .team-invite__panel { padding-right: 2rem; padding-bottom: 0; }
    .team-invite__character { position: relative; right: auto; bottom: auto; width: min(100%, 390px); height: 360px; margin: 0 auto; }
    .team-invite__cta { width: 100%; justify-content: space-between; }
}
@media (max-width: 767.98px) {
    .home-controls { padding-top: max(.75rem, env(safe-area-inset-top)); }
    .home-controls__inner { min-height: 40px; }
    .home-controls__theme { padding: .25rem; }
    .home-controls__theme .bi { font-size: 1.35rem; }
    .home-controls__language select { padding: .2rem 1.35rem .2rem .2rem; font-size: 1rem; }
    .home-hero { min-height: 0; background-position: 66% center; }
    .home-hero__backdrop { background: linear-gradient(180deg, transparent 8%, color-mix(in srgb, var(--hero-overlay-mid) 75%, transparent) 58%, var(--hero-overlay-end)); }
    .home-hero__container { display: block; min-height: 0; padding-top: 4.75rem; padding-bottom: 2.75rem; }
    .home-hero__content { display: flex; width: 100%; align-items: center; flex-direction: column; text-align: center; }
    .home-hero__title { max-width: 100%; font-size: clamp(2.8rem, 13vw, 4.35rem); line-height: .92; }
    .home-hero__intro { width: min(100%, 34rem); margin: 1.4rem auto 0; font-size: .96rem; line-height: 1.55; text-align: center; }
    .home-hero__character-mobile {
        display: block; width: min(78vw, 300px); margin: 1.75rem auto 1.5rem; pointer-events: none;
        filter: drop-shadow(0 18px 30px color-mix(in srgb, var(--app-shadow) 24%, transparent));
    }
    .home-hero__character-mobile img { display: block; width: 100%; max-height: 290px; object-fit: contain; }
    .store-links { width: min(100%, 360px); margin: 0 auto; align-items: center; flex-direction: column; }
    .store-link { width: min(300px, 100%); min-height: 54px; grid-template-columns: 40px minmax(0, 1fr) 40px; }
    .store-link::after { width: 40px; }
    .home-showcase, .team-invite { padding: 4.75rem 0; }
    .home-showcase__copy--with-icon { gap: .9rem; align-items: center; grid-template-columns: 58px minmax(0, 1fr); }
    .home-section-icon { width: 58px; height: 58px; }
    .home-showcase__copy h2, .team-invite__content h2 { font-size: clamp(2.45rem, 11vw, 3.75rem); line-height: .96; }
    .home-showcase__copy > p:not(.home-kicker), .team-invite__content > p:not(.home-kicker) { margin-top: .85rem; font-size: .95rem; line-height: 1.6; }
    .home-list-actions { margin-bottom: 1rem; gap: .85rem; }
    .home-grid { grid-template-columns: 1fr; }
    .feature-card { min-height: 0; border-radius: 22px; }
    .feature-card__content { padding: 1.25rem 5rem 4.25rem 1.25rem; }
    .feature-card__content h3 { font-size: clamp(1.65rem, 8vw, 2.3rem); }
    .feature-card__description { font-size: .92rem; -webkit-line-clamp: 2; }
    .feature-card__action { right: 1rem; bottom: 1rem; width: 56px; height: 44px; }
    .association-rail { border-radius: 22px; }
    .association-tile { padding: .85rem; gap: .9rem; grid-template-columns: 68px minmax(0, 1fr); }
    .association-tile__logo { width: 68px; height: 68px; border-radius: 17px; }
    .association-tile__body { gap: .65rem; }
    .association-tile h3 { margin-bottom: 0; font-size: 1.25rem; }
    .association-tile__body p { display: none; }
    .association-tile__action { width: 64px; height: 54px; flex-basis: 64px; }
    .team-invite__panel { display: flex; min-height: 0; padding: 1.75rem 1.25rem 1.5rem; align-items: center; flex-direction: column; border-radius: 24px; text-align: center; }
    .home-section-icon--team { width: 68px; height: 68px; margin-inline: auto; }
    .team-invite__content > p:not(.home-kicker) { margin-inline: auto; }
    .team-invite__character { position: relative; inset: auto; width: min(100%, 330px); height: 310px; margin: 1.25rem auto 0; }
    .team-invite__cta { width: min(100%, 320px); margin: 1.25rem auto 0; justify-content: space-between; }
    .team-invite__cta-icon { width: 58px; height: 46px; min-width: 58px; }
}
@media (max-width: 420px) {
    .home-hero__container { padding-top: 4.25rem; }
    .home-hero__title { font-size: clamp(2.55rem, 13vw, 3.6rem); }
    .home-hero__character-mobile { width: min(82vw, 280px); }
    .home-showcase, .team-invite { padding: 3.5rem 0; }
    .home-showcase__copy--with-icon { display: block; text-align: center; }
    .home-section-icon { margin: 0 auto 1rem; }
    .association-tile { grid-template-columns: 60px minmax(0, 1fr); }
    .association-tile__logo { width: 60px; height: 60px; border-radius: 15px; }
    .association-tile__action { display: none; }
    .team-invite__character { height: 280px; }
    .team-invite__cta-icon { width: 56px; height: 44px; min-width: 56px; }
}
@media (prefers-reduced-motion: reduce) {
    .feature-card__media img, .store-link, .home-cta-orbit { transition: none; }
}


.home-banner {
    --home-banner-bg: var(--home-banner-bg-light);
    --home-banner-text: var(--home-banner-text-light);
    background: var(--home-banner-bg);
    color: var(--home-banner-text);
}
html[data-bs-theme="dark"] .home-banner {
    --home-banner-bg: var(--home-banner-bg-dark);
    --home-banner-text: var(--home-banner-text-dark);
}
.home-banner__surface {
    display: flex;
    width: 100%;
    min-height: 78px;
    padding: 1.1rem clamp(1.25rem, 4vw, 4rem);
    gap: 1rem;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: transparent;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
}
a.home-banner__surface {
    transition: filter var(--transition-fast);
}
a.home-banner__surface:hover {
    color: inherit;
    filter: brightness(.96);
}
.home-banner__text {
    max-width: 980px;
}
.home-banner__icon {
    flex: 0 0 auto;
    font-size: 1.15em;
}
@media (max-width: 640px) {
    .home-banner__surface {
        min-height: 70px;
        padding: 1rem 1.25rem;
        gap: .65rem;
    }
}
