* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --white: #ffffff;
    --page: #fbfbfd;
    --black: #070717;
    --ink-soft: #536171;
    --line: #d7dde8;
    --blue: #3448f5;
    --blue-dark: #1d2dc8;
    --red: #ff3030;
    --cream: #fff0bd;
    --cream-deep: #f0dc96;
    --shadow: rgba(7, 7, 23, 0.16);
}

html,
body {
    min-height: 100%;

}

body {
    margin: 0;
    background: #fff;
    overflow-x: hidden;
}

main {
    position: relative;
    min-height: 100vh;
    isolation: isolate;
}

main::before {
    content: "";
    position: fixed;
    inset: 0;
    background-image: url("./assets/bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    opacity: 0.26;
    filter: blur(1.5px);

    z-index: -1;
    pointer-events: none;
}

main > * {
    position: relative;
    z-index: 1;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--white);
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
}

.page {
    min-height: 100vh;
    min-height: 100svh;
}

.hero-shell {
    max-width: 1700px;
    margin: 0 auto;
}

.hero {
    position: relative;
    height: 100vh;
    height: 100svh;
    padding: clamp(18px, 2.4vw, 34px) clamp(24px, 4vw, 64px);
    display: grid;
    grid-template-columns: minmax(380px, 0.88fr) minmax(620px, 1.12fr);
    align-items: center;
}

.hero-copy,
.hero-visual {
    position: relative;
    z-index: 2;
}

.hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transform: translate(35px, -20px);
}

.token-name {
    font-family: "Lobster", cursive;
    font-size: clamp(66px, 6vw, 108px);
    line-height: 0.82;
    color: #3152ff;
    text-shadow: 3px 3px 0 var(--black),
    7px 7px 0 rgba(255, 48, 48, 0.20);
    margin-bottom: clamp(18px, 1.8vw, 28px);
    transform-origin: left center;
    animation: fastTitleBob 3.2s ease-in-out infinite;
}

h1 {
    max-width: 560px;
    white-space: normal;
    font-size: clamp(34px, 3.1vw, 58px);
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: var(--black);
    text-shadow: 3px 3px 0 rgba(255, 255, 255, 0.95),
    6px 6px 0 rgba(52, 72, 245, 0.12);
}

.subtitle {
    position: relative;
    display: inline-block;
    margin-top: 24px;
    margin-left: 12px;
    font-size: clamp(22px, 2vw, 34px);
    line-height: 1;
    color: var(--red);
    transform: rotate(-7deg);
    text-shadow: 2px 2px 0 rgba(255, 255, 255, .9),
    3px 3px 0 rgba(7, 7, 23, 0.08);
    animation: subtitleGlitchBase 4.2s ease-in-out infinite;
    isolation: isolate;
}

.subtitle::before,
.subtitle::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 1;
}

.subtitle::before {
    color: var(--blue);
    text-shadow: 2px 0 0 var(--cream);
    clip-path: inset(0 0 48% 0);
    animation: subtitleGlitchTop 4.2s ease-in-out infinite;
}

.subtitle::after {
    color: var(--black);
    text-shadow: -2px 0 0 var(--red);
    clip-path: inset(52% 0 0 0);
    animation: subtitleGlitchBottom 4.2s ease-in-out infinite;
}

.socials {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 32px;
}

.socials a {
    width: clamp(48px, 3.4vw, 60px);
    height: clamp(48px, 3.4vw, 60px);
    display: grid;
    place-items: center;
    border: 4px solid var(--black);
    border-radius: 16px;
    background: var(--cream);
    color: var(--black);
    text-decoration: none;
    font-size: clamp(23px, 1.75vw, 31px);
    box-shadow: 5px 5px 0 var(--blue);
    transform: rotate(-6deg);
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease;
}

.socials a:nth-child(2) {
    transform: rotate(5deg);
    box-shadow: 5px 5px 0 var(--red);
}

.socials a:nth-child(3) {
    transform: rotate(-3deg);
    box-shadow: 5px 5px 0 var(--blue);
}

.socials a:hover {
    transform: translate(3px, 3px) rotate(0deg);
    box-shadow: 2px 2px 0 var(--black);
    background: var(--blue);
    color: var(--white);
}

.contract {
    max-width: min(440px, 88vw);
    margin-top: 24px;
    padding: 12px 18px;
    border: 4px solid var(--black);
    border-radius: 999px;
    background: var(--blue);
    color: var(--white);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(12px, 0.92vw, 16px);
    line-height: 1;
    transform: rotate(-5deg);
    box-shadow: 6px 6px 0 var(--red);
    cursor: pointer;
}

.contract span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.buy-btn {
    animation: buyPulse 2.2s ease-in-out infinite;
    display: inline-block;
    margin-top: 45px;
    padding: clamp(15px, 1.35vw, 20px) clamp(28px, 2.7vw, 42px);
    border: 6px solid var(--black);
    border-radius: 20px;
    background: var(--red);
    color: var(--cream);
    text-decoration: none;
    font-size: clamp(34px, 3.3vw, 56px);
    line-height: 0.86;
    letter-spacing: 0.02em;
    text-shadow: 4px 4px 0 var(--black);
    box-shadow: inset 0 0 0 6px #c71f1f, 8px 8px 0 var(--blue);
    transform: rotate(-8deg);
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.buy-btn:hover {
    transform: translate(4px, 4px) rotate(-5deg);
    box-shadow: inset 0 0 0 6px #c71f1f, 4px 4px 0 var(--blue);
}

.hero-visual {
    min-width: 0;
    display: flex;
    justify-content: center;
    perspective: 1400px;
    transform: translateX(-16px);
}

.tweet-card {
    width: min(760px, 48vw);
    background: var(--white);
    border: 1.5px solid var(--line);
    border-radius: 34px;
    box-shadow: 0 24px 60px rgba(16, 26, 58, 0.09);
    padding: clamp(18px, 1.4vw, 22px) clamp(18px, 1.45vw, 22px) clamp(14px, 1vw, 18px);
    transform: rotate(2.2deg);
    transform-origin: center;
}

.tweet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tweet-profile {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.tweet-avatar {
    width: clamp(52px, 4vw, 66px);
    height: clamp(52px, 4vw, 66px);
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #52adf5, #2f9bdc);
    color: var(--white);
    font-size: clamp(26px, 2.2vw, 34px);
    flex-shrink: 0;
}

.tweet-author-text {
    min-width: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tweet-name {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(18px, 1.55vw, 25px);
    line-height: 1.1;
    font-weight: 800;
    white-space: nowrap;
}

.verified-badge {
    position: relative;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    display: inline-block;
    background: #f5c542;
    clip-path: polygon(50% 0%, 61% 16%, 80% 10%, 84% 30%, 100% 39%, 88% 54%, 94% 74%, 73% 76%, 62% 94%, 47% 82%, 28% 90%, 24% 70%, 5% 61%, 18% 45%, 10% 25%, 31% 22%);
    filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .15));
}

.verified-badge::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 4px;
    width: 6px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.tweet-handle {
    margin-top: 3px;
    font-size: clamp(16px, 1.25vw, 21px);
    color: var(--ink-soft);
    font-weight: 400;
}

.tweet-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #23262b;
    font-size: 20px;
    flex-shrink: 0;
}

.telegram-mark {
    position: relative;
    display: inline-block;
    width: 27px;
    height: 27px;
    border: 3px solid #111319;
    border-radius: 50%;
    transform: rotate(-22deg);
}

.telegram-mark::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -5px;
    width: 4px;
    height: 36px;
    border-radius: 999px;
    background: #111319;
    transform: translateX(-50%);
}

.telegram-mark::after {
    content: "";
    position: absolute;
    inset: 4px;
    background: var(--white);
    border-radius: 50%;
}

.tweet-copy {
    margin: clamp(14px, 1.2vw, 18px) 2px clamp(14px, 1.35vw, 20px);
    max-width: 94%;
    color: #111827;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(19px, 1.45vw, 25px);
    line-height: 1.24;
    letter-spacing: -0.02em;
}

.tweet-copy span {
    font-family: "Luckiest Guy", system-ui, sans-serif;
    color: var(--blue);
    text-shadow: 1px 1px 0 var(--red);
}

.tweet-media {
    margin-top: clamp(16px, 1.4vw, 20px);
    background: #ffffff;
    border: 1.5px solid var(--line);
    border-radius: 30px;
    overflow: hidden;
}

.runner-scene {
    position: relative;
    width: 100%;
    height: clamp(410px, 49vh, 560px);
    overflow: hidden;
    background: radial-gradient(circle at 76% 18%, rgba(52, 72, 245, 0.04), transparent 20%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(251, 252, 255, 1));
}

.fast-title {
    position: absolute;
    top: clamp(20px, 2.3vh, 32px);
    left: 50%;
    width: clamp(200px, 18vw, 270px);
    height: auto;
    z-index: 12;
    transform: translate3d(-50%, 0, 0);
    transform-origin: center;
    will-change: transform;
    pointer-events: none;
    filter: none;
}

.runner-layer {
    position: absolute;
    left: 50%;
    bottom: clamp(14px, 2.2vh, 24px);
    width: clamp(250px, 23vw, 345px);
    transform-origin: 50% 72%;
    will-change: transform, opacity;
}

.runner-layer img {
    display: block;
    width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}

.runner-main {
    z-index: 8;
    filter: drop-shadow(10px 16px 0 rgba(7, 7, 23, 0.10));
}

.ghost {
    z-index: 5;
    pointer-events: none;
}

.ghost img {
    filter: blur(1.1px);
}

.ghost-1 {
    opacity: 0.14;
}

.ghost-2 {
    opacity: 0.07;
}

.speed-lines {
    position: absolute;
    left: 50%;
    bottom: clamp(116px, 16vh, 168px);
    width: 162px;
    height: 100px;
    z-index: 3;
    pointer-events: none;
    transform-origin: center;
    will-change: transform, opacity;
}

.speed-line {
    position: absolute;
    right: 0;
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(52, 72, 245, 0), rgba(52, 72, 245, 0.82));
    opacity: 0.85;
    transform-origin: right center;
}

.speed-line-1 {
    top: 10px;
    width: 74px;
}

.speed-line-2 {
    top: 34px;
    width: 138px;
}

.speed-line-3 {
    top: 58px;
    width: 106px;
}

.speed-line-4 {
    top: 82px;
    width: 58px;
}

.runner-shadow {
    position: absolute;
    left: 50%;
    bottom: 22px;
    width: 154px;
    height: 22px;
    border-radius: 999px;
    background: rgba(7, 7, 23, 0.13);
    filter: blur(12px);
    z-index: 1;
    will-change: transform, opacity;
}

.tweet-meta {
    padding: 15px 4px 0;
    color: var(--ink-soft);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(15px, 1.15vw, 18px);
}

.tweet-actions {
    margin-top: 13px;
    padding-top: 14px;
    border-top: 1px solid #edf0f5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.tweet-actions button {
    border: 0;
    background: transparent;
    color: var(--ink-soft);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(14px, 1.1vw, 17px);
    display: inline-flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    padding: 6px 8px;
    border-radius: 999px;
}

.tweet-actions button i {
    font-size: clamp(18px, 1.45vw, 22px);
}

.tweet-actions .liked {
    color: #f5427f;
}

.change-sticker {
    position: absolute;
    top: 18px;
    right: 22px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: clamp(104px, 7.4vw, 128px);
    padding: 10px 14px;
    text-decoration: none;
    color: var(--cream);
    background: linear-gradient(180deg, var(--blue), var(--blue-dark));
    border: 4px solid var(--black);
    border-radius: 16px;
    box-shadow: 6px 6px 0 var(--red);
    transform: rotate(-8deg);
}

.change-sticker span,
.change-sticker strong {
    line-height: 1;
}

.change-sticker span {
    font-size: clamp(14px, 1.1vw, 18px);
    color: var(--white);
}

.change-sticker strong {
    font-size: clamp(27px, 1.9vw, 34px);
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.22);
}


/* CULT SECTION */
.cult-section {
    position: relative;
    min-height: 92vh;
    min-height: 92svh;
    margin-top: clamp(-118px, -7vw, -68px);
    padding: clamp(38px, 5vw, 82px) clamp(24px, 4vw, 64px) clamp(72px, 7vw, 118px);
    display: flex;
    align-items: flex-start;
    overflow: hidden;
}

.cult-section::before {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: 42px;
    pointer-events: none;
}

.cult-shell {
    position: relative;
    z-index: 1;
    width: min(1480px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(520px, 1.18fr) minmax(360px, 0.82fr);
    gap: clamp(34px, 5vw, 86px);
    align-items: center;
    transform: translateY(120px);
}

.cult-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: clamp(10px, 2.6vw, 46px);
}

.section-kicker {
    margin-bottom: 18px;
    padding: 10px 16px 8px;
    border: 4px solid var(--black);
    border-radius: 999px;
    background: var(--cream);
    color: var(--blue);
    font-size: clamp(16px, 1.2vw, 22px);
    line-height: 1;
    box-shadow: 5px 5px 0 var(--red);
    transform: rotate(-4deg);
}

.cult-title {
    position: relative;
    display: inline-block;
    margin-bottom: clamp(22px, 2.4vw, 34px);
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(82px, 10vw, 178px);
    line-height: 0.78;
    letter-spacing: -0.06em;
    text-shadow: 5px 5px 0 var(--white),
    10px 10px 0 rgba(52, 72, 245, 0.22),
    15px 15px 0 rgba(255, 48, 48, 0.18);
    isolation: isolate;
    animation: cultGlitchMain 2.8s steps(1, end) infinite;
}

.cult-title::before,
.cult-title::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: multiply;
}

.cult-title::before {
    color: var(--blue);
    z-index: -1;
    clip-path: inset(0 0 47% 0);
    animation: cultGlitchTop 2.8s steps(1, end) infinite;
}

.cult-title::after {
    color: var(--red);
    z-index: -2;
    clip-path: inset(50% 0 0 0);
    animation: cultGlitchBottom 2.8s steps(1, end) infinite;
}

.cult-copy p:not(.section-kicker) {
    max-width: 590px;
    margin-top: 18px;
    color: #172033;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(18px, 1.35vw, 24px);
    line-height: 1.45;
    letter-spacing: -0.025em;
    font-weight: 800;
}

.cult-image-wrap {
    position: relative;
    width: 100%;
    border: 7px solid var(--black);
    border-radius: clamp(24px, 3vw, 44px);
    background: var(--cream);
    box-shadow: 14px 14px 0 var(--blue),
    24px 24px 0 rgba(255, 48, 48, 0.18),
    0 28px 64px rgba(7, 7, 23, 0.16);
    transform: rotate(-2deg);
    overflow: hidden;
    will-change: transform, opacity;
}

html.js-enabled .cult-image-wrap {
    opacity: 1;
    transform: rotate(-2deg);
    animation: cultImageMove 6.4s ease-in-out infinite;
}

html.js-enabled .cult-image-wrap.is-visible {
    animation: cultImageMove 6.4s ease-in-out infinite;
}

.cult-image-wrap::before {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 2;
    border: 2px solid rgba(255, 255, 255, 0.44);
    border-radius: clamp(16px, 2.3vw, 32px);
    pointer-events: none;
}

.cult-image-wrap::after {
    content: "$FAST";
    position: absolute;
    left: 22px;
    bottom: 20px;
    z-index: 3;
    padding: 10px 14px 7px;
    border: 4px solid var(--black);
    border-radius: 14px;
    background: var(--red);
    color: var(--cream);
    font-size: clamp(24px, 2.2vw, 42px);
    line-height: 0.85;
    text-shadow: 3px 3px 0 var(--black);
    transform: rotate(-5deg);
}

.cult-image {
    display: block;
    width: 100%;
    aspect-ratio: 1280 / 657;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
    transform-origin: center;
    animation: cultImageInnerMove 9s ease-in-out infinite;
}

@keyframes cultImageReveal {
    0% {
        opacity: 0;
        transform: translate3d(-80px, 24px, 0) rotate(-6deg) scale(0.96);
    }

    70% {
        opacity: 1;
        transform: translate3d(10px, -8px, 0) rotate(-1deg) scale(1.01);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(-2deg) scale(1);
    }
}

@keyframes cultImageMove {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-2deg);
    }

    35% {
        transform: translate3d(14px, -12px, 0) rotate(-0.8deg);
    }

    68% {
        transform: translate3d(-10px, 8px, 0) rotate(-3.2deg);
    }
}

@keyframes cultImageInnerMove {
    0%, 100% {
        transform: scale(1.015) translate3d(0, 0, 0);
    }

    50% {
        transform: scale(1.055) translate3d(-8px, -4px, 0);
    }
}

@keyframes cultGlitchMain {
    0%, 72%, 100% {
        transform: translate(0, 0) skewX(0deg);
        filter: none;
    }
    74% {
        transform: translate(-5px, 2px) skewX(-8deg);
        filter: contrast(1.2);
    }
    76% {
        transform: translate(6px, -2px) skewX(7deg);
    }
    78% {
        transform: translate(-3px, -1px) skewX(-5deg);
    }
    80% {
        transform: translate(3px, 1px) skewX(4deg);
    }
    82% {
        transform: translate(0, 0) skewX(0deg);
        filter: none;
    }
}

@keyframes cultGlitchTop {
    0%, 72%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    74% {
        opacity: 0.82;
        transform: translate(12px, -4px);
    }
    76% {
        opacity: 0.92;
        transform: translate(-14px, 2px);
    }
    78% {
        opacity: 0.72;
        transform: translate(8px, -2px);
    }
    80% {
        opacity: 0.5;
        transform: translate(-6px, 1px);
    }
    82% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes cultGlitchBottom {
    0%, 72%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    74% {
        opacity: 0.72;
        transform: translate(-12px, 5px);
    }
    76% {
        opacity: 0.9;
        transform: translate(14px, -1px);
    }
    78% {
        opacity: 0.68;
        transform: translate(-8px, 3px);
    }
    80% {
        opacity: 0.46;
        transform: translate(6px, -1px);
    }
    82% {
        opacity: 0;
        transform: translate(0, 0);
    }
}


@media (max-width: 1320px) and (min-width: 1101px) {
    .hero {
        grid-template-columns: minmax(340px, 0.92fr) minmax(540px, 1.08fr);
        gap: 22px;
    }

    .hero-copy {
        transform: translate(0, -6px);
    }

    .hero-visual {
        justify-content: center;
        transform: none;
    }

    .tweet-card {
        width: min(660px, 50vw);
    }
}

@media (max-height: 820px) and (min-width: 1101px) {
    .hero {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .token-name {
        font-size: 82px;
        margin-bottom: 35px;
    }

    h1 {
        font-size: 46px;
        max-width: 460px;
        white-space: normal;
    }

    .subtitle {
        animation: subtitleGlitchBase 4.2s ease-in-out infinite;
        font-size: 27px;
        margin-top: 20px;
    }

    .socials {
        margin-top: 24px;
    }

    .socials a {
        width: 48px;
        height: 48px;
        font-size: 24px;
    }

    .contract {
        max-width: 100%;
        font-size: 14px;
        padding: 20px 36px;
    }

    .buy-btn {
        animation: buyPulse 1.2s ease-in-out infinite;
        margin-top: 45px;
        font-size: 42px;
        padding: 14px 30px;
    }

    .tweet-card {
        width: min(610px, 45vw);
    }

    .runner-scene {
        height: 410px;
    }

    .fast-title {
        width: 205px;
        top: 18px;
    }

    .runner-layer {
        width: 268px;
        bottom: 12px;
    }

    .speed-lines {
        bottom: 114px;
    }
}


@keyframes buyPulse {
    0%, 100% {
        transform: rotate(-8deg) scale(1);
    }
    50% {
        transform: rotate(-8deg) scale(1.04);
    }
}

@media (max-width: 1100px) {
    body {
        overflow: auto;
    }

    .hero {
        height: auto;
        min-height: 100vh;
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 82px;
    }

    .hero-copy {
        max-width: 760px;
        transform: translateY(-8px);
    }

    .hero-visual {
        width: 100%;
        justify-content: center;
        transform: none;
    }

    .tweet-card {
        width: 100%;
        max-width: 720px;
        transform: rotate(1.1deg);
    }

    .runner-scene {
        height: 560px;
    }

    .fast-title {
        width: min(240px, 42vw);
    }

    .runner-layer {
        width: min(330px, 52vw);
    }

    .speed-lines {
        bottom: 156px;
    }

    .change-sticker {
        top: 16px;
        right: 16px;
    }
}


@media (max-width: 980px) and (min-width: 721px) {
    .meme-wall-line {
        width: min(620px, 82vw);
    }

    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-copy .section-kicker,
    .meme-wall-title,
    .meme-intro-copy p:not(.section-kicker) {
        grid-column: 1;
    }

    .meme-intro-copy p:not(.section-kicker) {
        grid-row: 3;
        max-width: 620px;
        margin: 0;
    }
}

@media (max-width: 720px) {
    .hero {
        padding: 84px 16px 24px;
    }

    .token-name {
        font-size: clamp(64px, 16vw, 100px);
    }

    h1 {
        font-size: clamp(32px, 7.2vw, 48px);
        white-space: normal;
    }

    .subtitle {
        animation: subtitleGlitchBase 4.2s ease-in-out infinite;
        margin-left: 8px;
        font-size: clamp(22px, 7vw, 32px);
    }

    .socials {
        gap: 10px;
    }

    .socials a {
        width: 54px;
        height: 54px;
        border-width: 4px;
        box-shadow: 4px 4px 0 var(--blue);
        font-size: 23px;
    }

    .socials a:nth-child(2) {
        box-shadow: 4px 4px 0 var(--red);
    }

    .contract {
        max-width: 100%;
        font-size: 14px;
        padding: 20px 36px;
        border-width: 4px;
    }

    .buy-btn {
        animation: buyPulse 2.2s ease-in-out infinite;
        font-size: 32px;
        border-width: 6px;
        box-shadow: inset 0 0 0 6px #c71f1f, 6px 6px 0 var(--blue);
    }

    .tweet-card {
        padding: 14px 12px 12px;
        border-radius: 24px;
        transform: rotate(0.8deg);
    }

    .tweet-avatar {
        width: 48px;
        height: 48px;
        border-radius: 12px;
        font-size: 24px;
    }

    .tweet-name {
        font-size: 17px;
    }

    .verified-badge {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    .verified-badge::after {
        left: 5px;
        top: 3px;
        width: 5px;
        height: 8px;
    }

    .tweet-handle,
    .tweet-meta,
    .tweet-actions button {
        font-size: 14px;
    }

    .tweet-header-actions {
        gap: 12px;
        font-size: 16px;
    }

    .telegram-mark {
        width: 23px;
        height: 23px;
    }

    .telegram-mark::before {
        height: 32px;
    }

    .tweet-copy {
        margin: clamp(14px, 1.2vw, 18px) 2px clamp(14px, 1.35vw, 20px);
        max-width: 94%;
        color: #111827;
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        font-size: clamp(19px, 1.45vw, 25px);
        line-height: 1.24;
        letter-spacing: -0.02em;
    }

    .tweet-copy span {
        font-family: "Luckiest Guy", system-ui, sans-serif;
        color: var(--blue);
        text-shadow: 1px 1px 0 var(--red);
    }

    .tweet-media {
        margin-top: 14px;
        border-radius: 20px;
    }

    .runner-scene {
        height: 420px;
    }

    .fast-title {
        top: 18px;
        width: 190px;
    }

    .runner-layer {
        width: 270px;
        bottom: 22px;
    }

    .runner-shadow {
        width: 130px;
        bottom: 22px;
    }

    .speed-lines {
        width: 120px;
        height: 88px;
        bottom: 134px;
    }

    .speed-line {
        height: 5px;
    }

    .speed-line-1 {
        width: 58px;
    }

    .speed-line-2 {
        width: 104px;
    }

    .speed-line-3 {
        width: 80px;
    }

    .speed-line-4 {
        width: 46px;
    }

    .tweet-actions button {
        padding: 6px 4px;
        gap: 6px;
    }

    .tweet-actions button i {
        font-size: 17px;
    }

    .change-sticker {
        width: 104px;
        padding: 8px 10px;
        border-width: 3px;
        box-shadow: 4px 4px 0 var(--red);
    }

    .change-sticker span {
        font-size: 14px;
    }

    .change-sticker strong {
        font-size: 28px;
    }
}


@media (max-width: 1100px) {
    .cult-section {
        min-height: auto;
        margin-top: -48px;
        padding-top: 52px;
    }

    .cult-shell {
        grid-template-columns: 1fr;
    }

    .cult-copy {
        padding-left: 0;
    }

    .cult-image-wrap {
        transform: rotate(-1deg);
    }

    html.js-enabled .cult-image-wrap {
        opacity: 1;
        transform: rotate(-1deg);
        animation: cultImageMoveMobile 5.8s ease-in-out infinite;
    }

    html.js-enabled .cult-image-wrap.is-visible {
        animation: cultImageMoveMobile 5.8s ease-in-out infinite;
    }
}

@keyframes cultImageRevealMobile {
    0% {
        opacity: 0;
        transform: translate3d(-34px, 16px, 0) rotate(-4deg) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(-1deg) scale(1);
    }
}

@keyframes cultImageMoveMobile {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-1deg);
    }

    50% {
        transform: translate3d(6px, -7px, 0) rotate(0.4deg);
    }
}


@media (max-width: 980px) and (min-width: 721px) {
    .meme-wall-line {
        width: min(620px, 82vw);
    }

    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-copy .section-kicker,
    .meme-wall-title,
    .meme-intro-copy p:not(.section-kicker) {
        grid-column: 1;
    }

    .meme-intro-copy p:not(.section-kicker) {
        grid-row: 3;
        max-width: 620px;
        margin: 0;
    }
}

@media (max-width: 720px) {
    .cult-section {
        padding: 64px 16px 80px;
    }

    .cult-section::before {
        inset: 14px;
        border-radius: 28px;
    }

    .cult-title {
        font-size: clamp(74px, 24vw, 112px);
    }

    .cult-copy p:not(.section-kicker) {
        font-size: 17px;
        line-height: 1.42;
    }


    .cult-image-wrap {
        border-width: 5px;
        border-radius: 24px;
        box-shadow: 8px 8px 0 var(--blue), 14px 14px 0 rgba(255, 48, 48, 0.18);
    }
}

@keyframes subtitleGlitchBase {
    0%, 76%, 100% {
        transform: rotate(-7deg) translate(0, 0) skewX(0deg);
        filter: none;
    }

    78% {
        transform: rotate(-7deg) translate(-3px, 1px) skewX(-8deg);
        filter: contrast(1.08);
    }

    80% {
        transform: rotate(-7deg) translate(3px, -2px) skewX(7deg);
    }

    82% {
        transform: rotate(-7deg) translate(-2px, 0) skewX(-5deg);
    }

    84% {
        transform: rotate(-7deg) translate(2px, 1px) skewX(4deg);
    }

    86% {
        transform: rotate(-7deg) translate(0, 0) skewX(0deg);
    }
}

@keyframes subtitleGlitchTop {
    0%, 76%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }

    78% {
        opacity: 0.72;
        transform: translate(-5px, -2px);
    }

    80% {
        opacity: 0.95;
        transform: translate(6px, -1px);
    }

    82% {
        opacity: 0.78;
        transform: translate(-4px, -1px);
    }

    84% {
        opacity: 0.52;
        transform: translate(3px, 0);
    }

    86% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes subtitleGlitchBottom {
    0%, 76%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }

    78% {
        opacity: 0.65;
        transform: translate(5px, 2px);
    }

    80% {
        opacity: 0.92;
        transform: translate(-6px, 1px);
    }

    82% {
        opacity: 0.75;
        transform: translate(4px, 1px);
    }

    84% {
        opacity: 0.48;
        transform: translate(-3px, 0);
    }

    86% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes fastTitleBob {
    0%, 100% {
        transform: translateY(0) rotate(-1.5deg) scale(1);
        text-shadow: 3px 3px 0 var(--black),
        7px 7px 0 rgba(255, 48, 48, 0.20);
    }

    50% {
        transform: translateY(-4px) rotate(1.5deg) scale(1.02);
        text-shadow: 4px 4px 0 var(--black),
        10px 10px 0 rgba(255, 48, 48, 0.24);
    }
}


.meme-intro-section,
.meme-carousel-section {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: transparent;
    isolation: isolate;
    transform: translateY(-40px);
}

.meme-intro-section {
    padding: clamp(58px, 6.5vw, 108px) clamp(24px, 4vw, 64px) clamp(34px, 3.4vw, 56px);
}

.meme-carousel-section {
    --wave-fill: #ffffff;
    --wave-height: clamp(105px, 10vw, 185px);
    padding: clamp(42px, 4.2vw, 68px) 0 clamp(74px, 7vw, 116px);
}


.meme-intro-shell {
    position: relative;
    z-index: 4;
    width: min(1480px, 100%);
    margin: 0 auto;
}

.meme-wall-line {
    width: min(680px, 58vw);
    height: clamp(26px, 2.4vw, 38px);
    border: 5px solid var(--black);
    border-radius: 999px;
    background: var(--cream);
    box-shadow: 6px 6px 0 var(--red);
    transform: rotate(-3deg);
    margin: 0 0 12px clamp(10px, 2.6vw, 46px);
}

.meme-intro-copy {
    position: relative;
    width: 100%;
    padding-left: clamp(10px, 2.6vw, 46px);
    display: grid;
    grid-template-columns: minmax(340px, max-content) minmax(360px, 600px);
    column-gap: clamp(42px, 7vw, 118px);
    align-items: end;
}

.meme-intro-copy .section-kicker {
    margin-bottom: 18px;
    padding: 10px 16px 8px;
    border: 4px solid var(--black);
    border-radius: 999px;
    background: var(--cream);
    color: var(--blue);
    font-size: clamp(16px, 1.2vw, 22px);
    line-height: 1;
    box-shadow: 5px 5px 0 var(--red);
    transform: rotate(-4deg);
}

.meme-wall-title {
    position: relative;
    grid-column: 1;
    grid-row: 2;
    display: inline-block;
    margin: 0;
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(82px, 10vw, 178px);
    line-height: 0.78;
    letter-spacing: -0.06em;
    text-shadow: 5px 5px 0 var(--white),
    10px 10px 0 rgba(52, 72, 245, 0.22),
    15px 15px 0 rgba(255, 48, 48, 0.18);
    isolation: isolate;
    animation: cultGlitchMain 2.8s steps(1, end) infinite;
}

.meme-wall-title::before,
.meme-wall-title::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: multiply;
}

.meme-wall-title::before {
    color: var(--blue);
    z-index: -1;
    clip-path: inset(0 0 47% 0);
    animation: cultGlitchTop 2.8s steps(1, end) infinite;
}

.meme-wall-title::after {
    color: var(--red);
    z-index: -2;
    clip-path: inset(50% 0 0 0);
    animation: cultGlitchBottom 2.8s steps(1, end) infinite;
}

.meme-intro-copy p:not(.section-kicker) {
    grid-column: 2;
    grid-row: 2;
    max-width: 590px;
    margin: 0 0 clamp(4px, 1vw, 18px);
    color: #172033;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(18px, 1.35vw, 24px);
    line-height: 1.45;
    letter-spacing: -0.025em;
    font-weight: 800;
}

.meme-wall-wrap {
    position: relative;
    z-index: 2;
    height: min(82vh, 1040px);
    min-height: 720px;
    overflow: hidden;
    padding-top: calc(var(--wave-height) * 0.45);
    padding-bottom: calc(var(--wave-height) * 0.45);
    transform: translateY(-50px);
}

.meme-wall {
    position: absolute;
    inset: 0 -8vw 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(190px, 1fr));
    gap: clamp(16px, 2vw, 34px);
    transform: rotate(-3deg) scale(1.08);
    transform-origin: center;
    opacity: 0.96;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 9%, #000 91%, transparent 100%);
}

.meme-column {
    min-width: 0;
    overflow: hidden;
}

.meme-track {
    display: flex;
    flex-direction: column;
    will-change: transform;
    animation: memeColumnUp var(--meme-speed, 34s) linear infinite;
    animation-delay: var(--meme-delay, 0s);
}

.meme-set {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 26px);
    padding-bottom: clamp(14px, 1.6vw, 26px);
}

.meme-card {
    display: block;
    margin: 0;
    overflow: hidden;
    border: 5px solid var(--black);
    border-radius: clamp(18px, 1.8vw, 30px);
    background: var(--cream);
    box-shadow: 8px 8px 0 rgba(255, 48, 48, 0.78),
    0 22px 42px rgba(0, 0, 0, 0.26);
}

.meme-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.12) contrast(1.04);
}

.meme-card.is-square {
    aspect-ratio: 1 / 1;
}

.meme-card.is-portrait {
    aspect-ratio: 4 / 5;
}

.meme-card.is-landscape {
    aspect-ratio: 5 / 4;
}

.meme-column:nth-child(1) {
    --meme-speed: 32s;
    --meme-delay: -6s;
}

.meme-column:nth-child(2) {
    --meme-speed: 38s;
    --meme-delay: -16s;
    transform: translateY(-7%);
}

.meme-column:nth-child(3) {
    --meme-speed: 34s;
    --meme-delay: -11s;
    transform: translateY(4%);
}

.meme-column:nth-child(4) {
    --meme-speed: 42s;
    --meme-delay: -23s;
    transform: translateY(-12%);
}

.meme-column:nth-child(5) {
    --meme-speed: 36s;
    --meme-delay: -9s;
    transform: translateY(8%);
}

.meme-column:nth-child(6) {
    --meme-speed: 40s;
    --meme-delay: -27s;
    transform: translateY(-4%);
}

@keyframes memeColumnUp {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(0, -50%, 0);
    }
}

@keyframes memeTitleGlitchTop {
    0%, 72%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    74% {
        opacity: .9;
        transform: translate(12px, -3px);
    }
    76% {
        opacity: .8;
        transform: translate(-10px, 2px);
    }
    78% {
        opacity: .6;
        transform: translate(6px, -1px);
    }
    80% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes memeTitleGlitchBottom {
    0%, 72%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    74% {
        opacity: .82;
        transform: translate(-12px, 4px);
    }
    76% {
        opacity: .74;
        transform: translate(10px, -1px);
    }
    78% {
        opacity: .52;
        transform: translate(-6px, 2px);
    }
    80% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@media (max-width: 1100px) {
    .meme-wall-wrap {
        height: 820px;
        min-height: 820px;
    }

    .meme-wall {
        inset: 0 -18vw 0;
        grid-template-columns: repeat(4, minmax(150px, 1fr));
        transform: rotate(-4deg) scale(1.14);
    }

    .meme-column:nth-child(n + 5) {
        display: none;
    }
}


@media (max-width: 980px) and (min-width: 721px) {
    .meme-wall-line {
        width: min(620px, 82vw);
    }

    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-copy .section-kicker,
    .meme-wall-title,
    .meme-intro-copy p:not(.section-kicker) {
        grid-column: 1;
    }

    .meme-intro-copy p:not(.section-kicker) {
        grid-row: 3;
        max-width: 620px;
        margin: 0;
    }
}

@media (max-width: 720px) {
    .meme-intro-section {
        padding: 48px 16px 30px;
    }

    .meme-carousel-section {
        --wave-height: 72px;
        padding: 34px 0 54px;
    }


    .meme-intro-shell {
        width: 100%;
    }

    .meme-intro-copy {
        padding-left: 0;
        display: block;
    }

    .meme-wall-line {
        width: min(82vw, 460px);
        height: 24px;
        border-width: 4px;
        box-shadow: 5px 5px 0 var(--red);
        margin: 0 0 12px 0;
    }

    .meme-intro-copy .section-kicker {
        margin-left: 6px;
        font-size: 15px;
    }

    .meme-wall-title {
        font-size: clamp(70px, 20vw, 110px);
        margin-bottom: 18px;
    }

    .meme-intro-copy p:not(.section-kicker) {
        max-width: 340px;
        margin: 0;
        font-size: 17px;
    }

    .meme-wall-wrap {
        height: 700px;
        min-height: 700px;
    }

    .meme-wall {
        inset: 0 -30vw 0;
        grid-template-columns: repeat(3, minmax(120px, 1fr));
        gap: 14px;
        transform: rotate(-5deg) scale(1.18);
    }

    .meme-column:nth-child(n + 4) {
        display: none;
    }

    .meme-set {
        gap: 14px;
        padding-bottom: 14px;
    }

    .meme-card {
        border-width: 4px;
        border-radius: 18px;
        box-shadow: 5px 5px 0 rgba(255, 48, 48, 0.78), 0 14px 26px rgba(0, 0, 0, .24);
    }
}

@media (prefers-reduced-motion: reduce) {
    .meme-track {
        animation-duration: 1ms;
        animation-iteration-count: 1;
    }
}

/* MEMES intro: title on the left, description on the right in one row */
.meme-intro-copy {
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: end;
}

.meme-intro-copy p:not(.section-kicker) {
    max-width: none;
    justify-self: end;
    white-space: nowrap;
    line-height: 1.25;
    margin: 0 0 clamp(8px, 0.9vw, 18px);
}

@media (max-width: 1100px) and (min-width: 721px) {
    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-copy .section-kicker,
    .meme-wall-title,
    .meme-intro-copy p:not(.section-kicker) {
        grid-column: 1;
    }

    .meme-intro-copy p:not(.section-kicker) {
        grid-row: 3;
        max-width: 620px;
        justify-self: start;
        white-space: normal;
        margin: 0;
    }
}

@media (max-width: 720px) {
    .meme-intro-copy p:not(.section-kicker) {
        justify-self: start;
        white-space: normal;
    }
}


/* MEMES intro: title on the left, gif on the right */
.meme-intro-copy {
    grid-template-columns: max-content minmax(220px, 1fr);
    column-gap: clamp(28px, 6vw, 96px);
    align-items: end;
}

.meme-intro-copy .section-kicker {
    width: fit-content;
    justify-self: start;
    align-self: start;
}

.meme-wall-title {
    width: fit-content;
    max-width: 100%;
    justify-self: start;
}

.meme-intro-gif {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: center;
    width: min(100%, 320px);
}

.meme-intro-gif img {
    display: block;
    width: 100%;
    height: auto;
    image-rendering: auto;
}

@media (max-width: 980px) and (min-width: 721px) {
    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-copy .section-kicker,
    .meme-wall-title,
    .meme-intro-gif {
        grid-column: 1;
    }

    .meme-intro-gif {
        grid-row: 3;
        justify-self: start;
        width: min(260px, 52vw);
    }
}

@media (max-width: 720px) {
    .meme-intro-copy {
        display: block;
    }

    .meme-intro-copy .section-kicker {
        width: fit-content;
    }

    .meme-intro-gif {
        width: min(220px, 60vw);
        margin-top: 12px;
    }
}


/* tweak MEMES intro positioning */
.meme-intro-copy .section-kicker {
    transform: translateY(24px) rotate(-4deg);
    margin-bottom: 0;
}

.meme-intro-gif {
    justify-self: center;
    transform: translateX(-72px);
}

@media (max-width: 980px) and (min-width: 721px) {
    .meme-intro-copy .section-kicker {
        transform: translateY(10px) rotate(-4deg);
    }

    .meme-intro-gif {
        justify-self: start;
        transform: translateX(0);
    }
}

@media (max-width: 720px) {
    .meme-intro-copy .section-kicker {
        transform: rotate(-4deg);
    }

    .meme-intro-gif {
        transform: translateX(0);
    }
}


/* final MEMES intro layout fix */
.meme-intro-copy {
    grid-template-columns: max-content minmax(220px, 1fr);
    column-gap: clamp(28px, 5vw, 72px);
    align-items: end;
}

.meme-intro-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-self: start;
    align-self: end;
}

.meme-intro-head .section-kicker {
    width: fit-content;
    margin: 0 0 16px;
    transform: rotate(-4deg);
}

.meme-intro-head .meme-wall-title {
    margin: 0;
    width: fit-content;
}

.meme-intro-gif {
    grid-column: 2;
    justify-self: center;
    align-self: end;
    width: min(100%, 320px);
    transform: translateX(-34px);
}

@media (max-width: 980px) and (min-width: 721px) {
    .meme-intro-copy {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }

    .meme-intro-head,
    .meme-intro-gif {
        grid-column: 1;
    }

    .meme-intro-head {
        align-self: start;
    }

    .meme-intro-head .section-kicker {
        margin-bottom: 14px;
    }

    .meme-intro-gif {
        justify-self: start;
        transform: none;
        width: min(260px, 52vw);
    }
}

@media (max-width: 720px) {
    .meme-intro-copy {
        display: block;
    }

    .meme-intro-head .section-kicker {
        margin-bottom: 12px;
    }

    .meme-intro-gif {
        width: min(220px, 60vw);
        margin-top: 12px;
        transform: none;
    }
}


/* MEMES intro: keep gif from stretching the whole block */
.meme-intro-shell {
    position: relative;
}

.meme-intro-copy {
    position: relative;
    display: block;
    padding-right: clamp(260px, 28vw, 380px);
}

.meme-intro-head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-self: start;
    align-self: end;
}

.meme-intro-gif {
    position: absolute;
    right: 10%;
    top: 40%;
    width: min(300px, 24vw);
    transform: translateY(-46%);
    justify-self: auto;
    align-self: auto;
}

.meme-intro-gif img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 980px) and (min-width: 721px) {
    .meme-intro-copy {
        display: block;
        padding-right: 0;
    }

    .meme-intro-gif {
        position: static;
        width: min(260px, 52vw);
        margin-top: 16px;
        transform: none;
    }
}

@media (max-width: 720px) {
    .meme-intro-copy {
        padding-right: 0;
    }

    .meme-intro-gif {
        position: static;
        width: min(220px, 60vw);
        margin-top: 12px;
        transform: none;
    }
}


.meme-explore-btn {
    position: absolute;
    right: clamp(24px, 10vw, 90px);
    top: 50%;
    transform: translateY(-35%) rotate(5deg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: min(420px, 34vw);
    padding: clamp(16px, 1.35vw, 22px) clamp(24px, 2.4vw, 42px);
    border: 6px solid var(--black);
    border-radius: 22px;
    background: var(--red);
    color: var(--cream);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(28px, 2.8vw, 50px);
    line-height: 0.9;
    letter-spacing: 0.01em;
    text-decoration: none;
    text-align: center;
    text-shadow: 4px 4px 0 var(--black);
    box-shadow: inset 0 0 0 6px #c71f1f, 9px 9px 0 var(--blue);
    z-index: 5;
    transition: transform 160ms ease, box-shadow 160ms ease;
    animation: memeExplorePulse 2.4s ease-in-out infinite;
}

.meme-explore-btn:hover {
    transform: translate(4px, calc(-35% + 4px)) rotate(3deg);
    box-shadow: inset 0 0 0 6px #c71f1f, 5px 5px 0 var(--blue);
}

@keyframes memeExplorePulse {
    0%, 100% {
        scale: 1;
    }
    50% {
        scale: 1.035;
    }
}

/* MEME carousel: organic waves on top and bottom without covering cards */
.meme-carousel-section {
    --wave-fill: #ffffff;
    --wave-height: clamp(86px, 8vw, 150px);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 0;
}

.meme-wall-wrap {
    position: relative;
    z-index: 2;
    padding-top: var(--wave-height);
    padding-bottom: var(--wave-height);
}

.meme-wall {
    inset: var(--wave-height) -8vw var(--wave-height);
}

@media (max-width: 980px) and (min-width: 721px) {
    .meme-explore-btn {
        position: static;
        transform: rotate(-4deg);
        margin-top: 24px;
        max-width: 420px;
    }

    .meme-explore-btn:hover {
        transform: translate(4px, 4px) rotate(-2deg);
    }
}

@media (max-width: 720px) {
    .meme-explore-btn {
        position: static;
        transform: rotate(-4deg);
        margin-top: 18px;
        max-width: 100%;
        font-size: clamp(26px, 10vw, 40px);
        padding: 15px 22px;
        border-width: 5px;
        box-shadow: inset 0 0 0 5px #c71f1f, 6px 6px 0 var(--blue);
    }

    .meme-explore-btn:hover {
        transform: translate(3px, 3px) rotate(-2deg);
        box-shadow: inset 0 0 0 5px #c71f1f, 3px 3px 0 var(--blue);
    }

    .meme-carousel-section {
        --wave-height: 74px;
    }

    .meme-wall {
        inset: var(--wave-height) -30vw var(--wave-height);
    }
}


.join-section {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: clamp(-118px, -6vw, -64px);
    padding: clamp(48px, 5vw, 82px) clamp(24px, 4vw, 64px) clamp(70px, 6vw, 110px);
    overflow: hidden;
    isolation: isolate;
}

.join-section::before {
    content: "";
    position: absolute;
    inset: 18% 0 0;
    z-index: -1;
    background: radial-gradient(circle at 18% 32%, rgba(255, 48, 48, 0.12), transparent 28%),
    radial-gradient(circle at 82% 62%, rgba(52, 72, 245, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.78));
}

.join-shell {
    position: relative;
    z-index: 1;
    width: min(1480px, 100%);
    margin: 0 auto;
}

.join-card {
    position: relative;
    min-height: clamp(300px, 25vw, 420px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr);
    gap: clamp(28px, 4vw, 74px);
    align-items: center;
    padding: clamp(28px, 4vw, 58px);
    border: 7px solid var(--black);
    border-radius: clamp(28px, 3vw, 46px);
    background: linear-gradient(135deg, rgba(255, 240, 189, 0.94), rgba(255, 255, 255, 0.92)),
    var(--cream);
    box-shadow: 13px 13px 0 var(--blue),
    23px 23px 0 rgba(255, 48, 48, 0.18),
    0 28px 70px rgba(7, 7, 23, 0.15);
    transform: rotate(-1deg);
    overflow: hidden;
}

.join-card::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 2px dashed rgba(7, 7, 23, 0.18);
    border-radius: clamp(20px, 2.4vw, 34px);
    pointer-events: none;
}

.join-card::after {
    content: "RUN IT BACK";
    position: absolute;
    top: 24px;
    right: clamp(18px, 3vw, 44px);
    padding: 10px 15px 7px;
    border: 4px solid var(--black);
    border-radius: 999px;
    background: var(--red);
    color: var(--cream);
    font-size: clamp(14px, 1.1vw, 20px);
    line-height: 1;
    text-shadow: 2px 2px 0 var(--black);
    box-shadow: 5px 5px 0 var(--blue);
    transform: rotate(7deg);
}

.join-copy,
.join-actions {
    position: relative;
    z-index: 2;
}

.join-copy .section-kicker {
    width: fit-content;
    margin-bottom: 18px;
}

.join-title {
    position: relative;
    display: inline-block;
    margin: 0;
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(64px, 8vw, 150px);
    line-height: 0.78;
    letter-spacing: -0.06em;
    text-shadow: 5px 5px 0 var(--white),
    10px 10px 0 rgba(52, 72, 245, 0.22),
    15px 15px 0 rgba(255, 48, 48, 0.18);
    isolation: isolate;
    animation: cultGlitchMain 2.8s steps(1, end) infinite;
}

.join-title::before,
.join-title::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: multiply;
}

.join-title::before {
    color: var(--blue);
    z-index: -1;
    clip-path: inset(0 0 47% 0);
    animation: cultGlitchTop 2.8s steps(1, end) infinite;
}

.join-title::after {
    color: var(--red);
    z-index: -2;
    clip-path: inset(50% 0 0 0);
    animation: cultGlitchBottom 2.8s steps(1, end) infinite;
}

.join-description {
    max-width: 600px;
    margin: clamp(18px, 1.8vw, 28px) 0 0;
    color: #172033;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(18px, 1.35vw, 24px);
    line-height: 1.35;
    letter-spacing: -0.025em;
    font-weight: 900;
}

.join-actions {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 2vw, 28px);
    align-items: stretch;
}

.join-socials {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(10px, 1vw, 16px);
}

.join-social,
.join-buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    line-height: 1;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease;
}

.join-social {
    min-height: 76px;
    flex-direction: column;
    gap: 8px;
    padding: 12px 10px 10px;
    border: 4px solid var(--black);
    border-radius: 18px;
    background: var(--white);
    font-size: clamp(13px, 1vw, 17px);
    box-shadow: 5px 5px 0 var(--red);
    transform: rotate(-3deg);
}

.join-social:nth-child(2) {
    box-shadow: 5px 5px 0 var(--blue);
    transform: rotate(3deg);
}

.join-social:nth-child(3) {
    box-shadow: 5px 5px 0 var(--red);
    transform: rotate(-1deg);
}

.join-social i {
    font-size: clamp(24px, 2vw, 34px);
}

.join-social:hover {
    transform: translate(3px, 3px) rotate(0deg);
    box-shadow: 2px 2px 0 var(--black);
    background: var(--blue);
    color: var(--white);
}

.join-buy-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.2vw, 18px);
}

.join-buy {
    min-height: clamp(76px, 6vw, 104px);
    padding: clamp(14px, 1.4vw, 20px) clamp(16px, 2vw, 30px);
    border: 6px solid var(--black);
    border-radius: 22px;
    font-size: clamp(27px, 2.6vw, 46px);
    letter-spacing: 0.01em;
    text-shadow: 3px 3px 0 var(--black);
}

.join-buy-primary {
    background: var(--red);
    color: var(--cream);
    box-shadow: inset 0 0 0 6px #c71f1f, 8px 8px 0 var(--blue);
    transform: rotate(-3deg);
}

.join-buy-secondary {
    background: var(--blue);
    color: var(--white);
    box-shadow: inset 0 0 0 6px var(--blue-dark), 8px 8px 0 var(--red);
    transform: rotate(3deg);
}

.join-buy:hover {
    transform: translate(4px, 4px) rotate(0deg);
    box-shadow: inset 0 0 0 6px rgba(7, 7, 23, 0.18), 4px 4px 0 var(--black);
}

.join-runner {
    position: absolute;
    right: clamp(-48px, -3vw, -20px);
    bottom: clamp(-42px, -3vw, -20px);
    width: clamp(150px, 16vw, 250px);
    opacity: 0.16;
    transform: scaleX(-1) rotate(-12deg);
    pointer-events: none;
    z-index: 1;
}

@media (max-width: 1100px) {
    .join-card {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .join-card::after {
        top: 18px;
    }

    .join-actions {
        max-width: 720px;
    }
}

@media (max-width: 720px) {
    .join-section {
        margin-top: -82px;
        padding: 42px 16px 74px;
    }

    .join-card {
        min-height: 0;
        padding: 28px 18px 30px;
        border-width: 5px;
        border-radius: 28px;
        box-shadow: 7px 7px 0 var(--blue), 13px 13px 0 rgba(255, 48, 48, 0.18);
        transform: rotate(-0.5deg);
    }

    .join-card::before {
        inset: 10px;
    }

    .join-card::after {
        position: static;
        display: inline-flex;
        justify-self: flex-start;
        order: -1;
        margin-bottom: -8px;
        font-size: 13px;
        transform: rotate(4deg);
    }

    .join-title {
        font-size: clamp(58px, 18vw, 96px);
    }

    .join-description {
        font-size: 17px;
    }

    .join-socials,
    .join-buy-row {
        grid-template-columns: 1fr;
    }

    .join-social {
        min-height: 58px;
        flex-direction: row;
        gap: 12px;
        justify-content: flex-start;
        padding: 12px 16px 10px;
    }

    .join-buy {
        min-height: 70px;
        font-size: clamp(28px, 10vw, 42px);
        border-width: 5px;
    }

    .join-buy-primary,
    .join-buy-secondary {
        box-shadow: inset 0 0 0 5px rgba(7, 7, 23, 0.18), 6px 6px 0 var(--blue);
    }

    .join-buy-secondary {
        box-shadow: inset 0 0 0 5px rgba(7, 7, 23, 0.18), 6px 6px 0 var(--red);
    }

    .join-runner {
        width: 140px;
        opacity: 0.11;
    }
}

/* ===== MOBILE RESPONSIVE PATCH ===== */
@media (max-width: 1100px) {
    .cult-shell {
        transform: none;
    }
}

@media (max-width: 768px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    main::before {
        background-size: auto 100%;
        background-position: center top;
        opacity: 0.22;
    }

    .hero,
    .cult-section,
    .meme-intro-section,
    .meme-carousel-section,
    .join-section {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    .hero {
        min-height: auto;
        padding: 74px 16px 34px;
        gap: 28px;
        align-items: start;
    }

    .hero-copy {
        width: 100%;
        max-width: 430px;
        transform: none;
    }

    .token-name {
        font-size: clamp(62px, 18vw, 86px);
        margin-bottom: 16px;
    }

    h1 {
        max-width: 360px;
        font-size: clamp(30px, 8.5vw, 42px);
        line-height: 0.9;
    }

    .subtitle {
        margin-top: 22px;
        margin-left: 4px;
        font-size: clamp(22px, 7.2vw, 30px);
    }

    .socials {
        margin-top: 28px;
        gap: 12px;
    }

    .socials a {
        width: 50px;
        height: 50px;
        border-width: 4px;
        border-radius: 14px;
        font-size: 22px;
    }

    .contract {
        width: min(100%, 360px);
        max-width: 100%;
        margin-top: 22px;
        padding: 13px 18px;
        font-size: clamp(10px, 2.7vw, 12px);
        box-shadow: 5px 5px 0 var(--red);
    }

    .buy-btn {
        margin-top: 34px;
        padding: 14px 24px;
        border-width: 5px;
        border-radius: 18px;
        font-size: clamp(30px, 10vw, 42px);
        box-shadow: inset 0 0 0 5px #c71f1f, 6px 6px 0 var(--blue);
    }

    .change-sticker {
        top: 12px;
        right: 14px;
        width: 92px;
        padding: 8px 9px 7px;
        border-width: 3px;
        border-radius: 14px;
        box-shadow: 4px 4px 0 var(--red);
    }

    .change-sticker span {
        font-size: 12px;
    }

    .change-sticker strong {
        font-size: 24px;
    }

    .hero-visual {
        width: 100%;
        justify-content: center;
    }

    .tweet-card {
        width: 100%;
        max-width: 430px;
        padding: 12px 10px 10px;
        border-radius: 22px;
        transform: rotate(0.5deg);
        margin-top: 25px;
    }

    .tweet-profile {
        gap: 10px;
    }

    .tweet-avatar {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        font-size: 22px;
    }

    .tweet-name {
        max-width: 205px;
        overflow: hidden;
        font-size: 15px;
        text-overflow: ellipsis;
    }

    .tweet-handle,
    .tweet-meta,
    .tweet-actions button {
        font-size: 12px;
    }

    .tweet-header-actions {
        gap: 10px;
        font-size: 14px;
    }

    .tweet-copy {
        margin: 12px 2px 14px;
        max-width: 100%;
        font-size: 16px;
        line-height: 1.25;
    }

    .tweet-media {
        margin-top: 12px;
        border-radius: 18px;
    }

    .runner-scene {
        height: 375px;
    }

    .fast-title {
        top: 16px;
        width: clamp(132px, 40vw, 172px);
    }

    .runner-layer {
        width: clamp(190px, 56vw, 248px);
        bottom: 18px;
    }

    .runner-shadow {
        width: 120px;
        bottom: 17px;
    }

    .speed-lines {
        width: 105px;
        bottom: clamp(98px, 27vw, 126px);
    }

    .tweet-actions {
        margin-top: 10px;
        padding-top: 10px;
    }

    .tweet-actions button {
        gap: 5px;
        padding: 5px 3px;
    }

    .tweet-actions button i {
        font-size: 15px;
    }

    .cult-section {
        min-height: auto;
        margin-top: 0;
        padding: 34px 16px 48px;
        overflow: hidden;
    }

    .cult-shell {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 28px;
        transform: none;
    }

    .cult-image-wrap {
        order: 3;
        width: calc(100% - 8px);
        margin: 0 auto;
        border-width: 5px;
        border-radius: 22px;
        box-shadow: 7px 7px 0 var(--blue), 12px 12px 0 rgba(255, 48, 48, 0.18);
        transform: rotate(-1deg);
    }

    .cult-image-wrap::before {
        inset: 9px;
        border-radius: 16px;
    }

    .cult-image-wrap::after {
        left: 13px;
        bottom: 12px;
        padding: 7px 10px 5px;
        border-width: 3px;
        border-radius: 10px;
        font-size: 22px;
    }

    .cult-copy {
        order: 2;
        width: 100%;
        padding-left: 0;
    }

    .section-kicker,
    .meme-intro-copy .section-kicker,
    .join-copy .section-kicker {
        padding: 8px 13px 6px;
        border-width: 3px;
        font-size: 14px;
        box-shadow: 4px 4px 0 var(--red);
    }

    .cult-title {
        margin-bottom: 18px;
        font-size: clamp(72px, 22vw, 96px);
        letter-spacing: -0.055em;
    }

    .cult-copy p:not(.section-kicker) {
        max-width: 100%;
        margin-top: 12px;
        font-size: 16px;
        line-height: 1.35;
    }

    .meme-intro-section,
    .meme-carousel-section {
        transform: none;
    }

    .meme-intro-section {
        padding: 32px 16px 20px;
    }

    .meme-intro-copy {
        padding-left: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .meme-intro-head {
        width: 100%;
    }

    .meme-wall-line {
        display: none;
    }

    .meme-wall-title {
        margin-top: 8px;
        margin-bottom: 0;
        font-size: clamp(68px, 21vw, 96px);
        letter-spacing: -0.055em;
    }

    .meme-explore-btn {
        width: min(100%, 390px);
        max-width: 390px;
        margin: 2px 0 0;
        padding: 15px 18px 13px;
        border-width: 5px;
        border-radius: 18px;
        font-size: clamp(25px, 9.2vw, 36px);
        line-height: 0.9;
        transform: rotate(-3deg);
        box-shadow: inset 0 0 0 5px #c71f1f, 6px 6px 0 var(--blue);
    }

    .meme-explore-btn:hover {
        transform: translate(3px, 3px) rotate(-1deg);
    }

    .meme-carousel-section {
        --wave-height: 56px;
        padding: 18px 0 42px;
    }

    .meme-wall-wrap {
        height: clamp(500px, 132vw, 620px);
        min-height: 0;
        padding-top: var(--wave-height);
        padding-bottom: var(--wave-height);
        transform: none;
    }

    .meme-wall {
        inset: var(--wave-height) -18vw var(--wave-height);
        grid-template-columns: repeat(2, minmax(150px, 1fr));
        gap: 14px;
        transform: rotate(-5deg) scale(1.08);
        -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
        mask-image: linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
    }

    .meme-column:nth-child(n + 3) {
        display: none;
    }

    .meme-card {
        border-width: 4px;
        border-radius: 18px;
        box-shadow: 6px 6px 0 rgba(255, 48, 48, 0.78), 0 16px 32px rgba(0, 0, 0, 0.24);
    }

    .join-section {
        margin-top: -28px;
        padding: 44px 16px 70px;
    }

    .join-card {
        padding: 26px 16px 28px;
        gap: 24px;
        transform: rotate(-0.4deg);
    }

    .join-card::after {
        margin-bottom: -4px;
    }

    .join-title {
        font-size: clamp(54px, 16.8vw, 86px);
        letter-spacing: -0.055em;
    }

    .join-description {
        font-size: 16px;
        line-height: 1.32;
    }

    .join-social {
        min-height: 56px;
        padding: 12px 14px 10px;
        border-width: 4px;
        border-radius: 16px;
        font-size: 14px;
    }

    .join-buy {
        min-height: 68px;
        border-width: 5px;
        border-radius: 18px;
        font-size: clamp(28px, 9.5vw, 38px);
    }
}

@media (max-width: 390px) {
    .hero {
        padding-left: 14px;
        padding-right: 14px;
    }

    .tweet-card {
        padding-left: 9px;
        padding-right: 9px;
    }

    .tweet-name {
        max-width: 175px;
    }

    .runner-scene {
        height: 280px;
    }

    .meme-explore-btn {
        font-size: clamp(24px, 8.8vw, 32px);
    }

    .join-title {
        font-size: clamp(50px, 16.4vw, 76px);
    }
}

.x_post_link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.x_post_link,
.x_post_link:visited,
.x_post_link:hover,
.x_post_link:active,
.x_post_link:focus {
    color: inherit;
    text-decoration: none;
}

/* ===== CULT COPY FIT + CTA GLITCH PATCH ===== */
.cult-copy {
    max-width: 600px;
}

.cult-copy .cult-lead {
    margin-top: 0 !important;
    font-size: clamp(21px, 1.55vw, 30px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    color: var(--black) !important;
}

.cult-copy .cult-cta {
    position: relative;
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    margin-top: clamp(18px, 2vw, 28px) !important;
    padding: clamp(12px, 1.15vw, 16px) clamp(16px, 1.55vw, 24px) clamp(9px, 0.9vw, 13px) !important;
    border: clamp(4px, 0.38vw, 6px) solid var(--black);
    border-radius: clamp(14px, 1.3vw, 20px);

    background: var(--blue);
    color: var(--cream) !important;

    font-family: "Luckiest Guy", system-ui, sans-serif !important;
    font-size: clamp(30px, 3.15vw, 56px) !important;
    line-height: 0.86 !important;
    letter-spacing: -0.025em !important;
    white-space: nowrap;

    text-shadow: 3px 3px 0 var(--black);

    box-shadow: inset 0 0 0 5px #163ee8,
    8px 8px 0 var(--red),
    13px 13px 0 rgba(36, 92, 255, 0.22);

    transform: rotate(-2deg);
    isolation: isolate;

    animation: cultCtaGlitchMain 2.7s steps(1, end) infinite,
    cultCtaPulse 3.4s ease-in-out infinite;
}

.cult-copy .cult-cta::before,
.cult-copy .cult-cta::after {
    content: attr(data-text);
    position: absolute;
    inset: clamp(12px, 1.15vw, 16px) clamp(16px, 1.55vw, 24px) clamp(9px, 0.9vw, 13px);
    pointer-events: none;
    opacity: 0;
}

.cult-copy .cult-cta::before {
    color: var(--red);
    text-shadow: 2px 2px 0 var(--black);
    clip-path: inset(0 0 48% 0);
    animation: cultCtaGlitchTop 2.7s steps(1, end) infinite;
}

.cult-copy .cult-cta::after {
    color: var(--cream);
    text-shadow: -3px 3px 0 var(--red), 3px -3px 0 var(--black);
    clip-path: inset(52% 0 0 0);
    animation: cultCtaGlitchBottom 2.7s steps(1, end) infinite;
}

@keyframes cultCtaPulse {
    0%, 100% {
        box-shadow: inset 0 0 0 5px #163ee8,
        8px 8px 0 var(--red),
        13px 13px 0 rgba(36, 92, 255, 0.22);
    }

    50% {
        box-shadow: inset 0 0 0 5px #163ee8,
        10px 10px 0 var(--red),
        15px 15px 0 rgba(36, 92, 255, 0.28);
    }
}

@keyframes cultCtaGlitchMain {
    0%, 70%, 100% {
        transform: rotate(-2deg) translate(0, 0) skewX(0deg);
        filter: none;
    }
    72% {
        transform: rotate(-2deg) translate(-5px, 2px) skewX(-7deg);
        filter: contrast(1.2) saturate(1.2);
    }
    74% {
        transform: rotate(-2deg) translate(6px, -2px) skewX(6deg);
    }
    76% {
        transform: rotate(-2deg) translate(-3px, -1px) skewX(-4deg);
    }
    78% {
        transform: rotate(-2deg) translate(3px, 1px) skewX(4deg);
    }
    80% {
        transform: rotate(-2deg) translate(0, 0) skewX(0deg);
        filter: none;
    }
}

@keyframes cultCtaGlitchTop {
    0%, 70%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    72% {
        opacity: 0.9;
        transform: translate(11px, -3px);
    }
    74% {
        opacity: 0.75;
        transform: translate(-13px, 2px);
    }
    76% {
        opacity: 0.62;
        transform: translate(7px, -1px);
    }
    80% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes cultCtaGlitchBottom {
    0%, 70%, 100% {
        opacity: 0;
        transform: translate(0, 0);
    }
    72% {
        opacity: 0.82;
        transform: translate(-12px, 4px);
    }
    74% {
        opacity: 0.72;
        transform: translate(14px, -1px);
    }
    76% {
        opacity: 0.58;
        transform: translate(-7px, 2px);
    }
    80% {
        opacity: 0;
        transform: translate(0, 0);
    }
}

@keyframes cultCtaPulse {
    0%, 100% {
        box-shadow: inset 0 0 0 5px #c71f1f,
        8px 8px 0 var(--blue),
        13px 13px 0 rgba(255, 48, 48, 0.18);
    }
    50% {
        box-shadow: inset 0 0 0 5px #c71f1f,
        10px 10px 0 var(--blue),
        15px 15px 0 rgba(255, 48, 48, 0.22);
    }
}

@media (min-width: 1101px) {
    .cult-section {
        min-height: 86vh;
        min-height: 86svh;
        padding-top: clamp(30px, 4vw, 68px);
        padding-bottom: clamp(58px, 6vw, 96px);
    }

    .cult-shell {
        grid-template-columns: minmax(520px, 1.08fr) minmax(420px, 0.92fr);
        gap: clamp(30px, 4.2vw, 72px);
        align-items: center;
        transform: translateY(54px);
    }

    .cult-title {
        margin-bottom: clamp(12px, 1.4vw, 20px);
        font-size: clamp(74px, 8.8vw, 152px);
    }

    .cult-copy p:not(.section-kicker):not(.cult-cta) {
        max-width: 560px;
        margin-top: clamp(10px, 1vw, 14px);
        font-size: clamp(16px, 1.08vw, 21px);
        line-height: 1.34;
    }
}

@media (max-width: 1100px) {
    .cult-copy {
        max-width: 680px;
    }

    .cult-copy p:not(.section-kicker):not(.cult-cta) {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .cult-copy .cult-lead {
        font-size: clamp(20px, 6vw, 26px) !important;
    }

    .cult-copy .cult-cta {
        margin-top: 18px !important;
        font-size: clamp(27px, 8.8vw, 42px) !important;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cult-copy .cult-cta,
    .cult-copy .cult-cta::before,
    .cult-copy .cult-cta::after {
        animation: none;
    }
}

/* ===== TELEGRAM TWEETS HORIZONTAL GALLERY ===== */
.telegram-tweets-section {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    isolation: isolate;
    margin-top: 45px;
}

.telegram-tweets-copy .section-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    justify-self: start;

    position: relative;

    margin-bottom: 18px;
    padding: 10px 16px 8px;
    border: 4px solid var(--black);
    border-radius: 999px;
    background: var(--cream);
    color: var(--blue);
    font-size: clamp(16px, 1.2vw, 22px);
    line-height: 1;
    box-shadow: 5px 5px 0 var(--red);
    transform: rotate(-4deg);
}

.telegram-tweets-section::after {
    content: "@telegram";
    position: absolute;
    right: clamp(14px, 4vw, 78px);
    bottom: clamp(10px, 1.4vw, 22px);
    color: rgba(7, 7, 23, 0.05);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(58px, 7.6vw, 126px);
    line-height: 0.8;
    letter-spacing: -0.05em;
    transform: rotate(-5deg);
    pointer-events: none;

    animation: telegramWatermarkFloat 3s ease-in-out infinite;
    will-change: transform;
}

@keyframes telegramWatermarkFloat {
    0%, 100% {
        transform: translateY(0) translateX(0) rotate(-5deg);
    }

    50% {
        transform: translateY(-16px) translateX(-10px) rotate(-3.5deg);
    }
}

.telegram-tweets-shell {
    position: relative;
    z-index: 2;
    width: min(1360px, 100%);
    margin: 0 auto;
    padding-top: 10px;
}

.telegram-tweets-copy {
    width: 100%;
    margin: 0 auto clamp(22px, 2.8vw, 38px);
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(280px, 480px);
    grid-template-rows: auto auto;
    align-items: end;
    column-gap: clamp(22px, 3vw, 56px);
    row-gap: clamp(6px, 0.8vw, 12px);
}


.telegram-tweets-title {
    grid-column: 1;
    grid-row: 2;
    position: relative;
    display: inline-block;
    justify-self: start;
    align-self: start;
    margin: 0;
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(82px, 10vw, 178px);
    line-height: 0.86;
    letter-spacing: -0.048em;
    text-shadow: 4px 4px 0 var(--white),
    7px 7px 0 rgba(52, 72, 245, 0.18),
    10px 10px 0 rgba(255, 48, 48, 0.14);
    isolation: isolate;
    animation: cultGlitchMain 2.8s steps(1, end) infinite;
}

.telegram-tweets-title::before,
.telegram-tweets-title::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: multiply;
}

.telegram-tweets-title::before {
    color: var(--blue);
    z-index: -1;
    clip-path: inset(0 0 47% 0);
    animation: cultGlitchTop 2.8s steps(1, end) infinite;
}

.telegram-tweets-title::after {
    color: var(--red);
    z-index: -2;
    clip-path: inset(50% 0 0 0);
    animation: cultGlitchBottom 2.8s steps(1, end) infinite;
}

.telegram-tweets-copy {
    width: 100%;
    margin: 0 auto clamp(22px, 2.8vw, 38px);
    display: grid;
    grid-template-columns: minmax(280px, 420px) minmax(280px, 460px);
    column-gap: clamp(22px, 3vw, 56px);
    justify-content: space-between;
}

.telegram-tweets-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.telegram-tweets-bubble {
    justify-self: end;
    max-width: 440px;
    padding: clamp(16px, 1.4vw, 22px) clamp(18px, 1.8vw, 28px);
    border: 4px solid var(--black);
    border-radius: clamp(18px, 1.6vw, 26px);
    background: var(--blue);
    color: var(--white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(16px, 1.12vw, 20px);
    line-height: 1.22;
    letter-spacing: -0.025em;
    font-weight: 900;
    box-shadow: 7px 7px 0 var(--red);

    animation: telegramBubbleFloat 3.2s ease-in-out infinite;
    will-change: transform;
    margin-right: 40px;
}

@keyframes telegramBubbleFloat {
    0%, 100% {
        transform: rotate(1.5deg) translateY(-20px);
    }

    50% {
        transform: rotate(-1deg) translateY(-32px);
    }
}


.telegram-tweets-copy p:not(.section-kicker) {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin: 0;
    color: #172033;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(16px, 1.12vw, 20px);
    line-height: 1.24;
    letter-spacing: -0.025em;
    font-weight: 900;
    max-width: 460px;
    margin-top: 40px;
}

.telegram-tweets-gallery {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: clamp(14px, 1.6vw, 22px);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scroll-padding-left: clamp(16px, 2vw, 28px);
    scroll-padding-right: clamp(16px, 2vw, 28px);
    padding-top: 40px;
    padding-right: clamp(16px, 2vw, 28px);
    padding-bottom: clamp(18px, 2vw, 28px);
    padding-left: clamp(16px, 2vw, 28px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-top: 40px;
}

.telegram-tweets-gallery::-webkit-scrollbar {
    display: none;
}


.telegram-tweet-card {
    --tweet-shadow: var(--red);
    --tweet-rotate: -0.8deg;
    position: relative;
    flex: 0 0 clamp(280px, 27vw, 360px);
    height: fit-content;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    scroll-snap-align: start;
    padding: clamp(16px, 1.3vw, 22px);
    border: clamp(3px, 0.3vw, 5px) solid var(--black);
    border-radius: clamp(20px, 1.8vw, 30px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.91)),
    radial-gradient(circle at 82% 10%, rgba(52, 72, 245, 0.12), transparent 35%);
    color: var(--black);
    text-decoration: none;
    box-shadow: clamp(6px, 0.75vw, 10px) clamp(6px, 0.75vw, 10px) 0 var(--tweet-shadow),
    0 16px 38px rgba(7, 7, 23, 0.1);
    transform: rotate(var(--tweet-rotate));
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.telegram-tweet-card:nth-child(even) {
    --tweet-shadow: var(--blue);
    --tweet-rotate: 0.8deg;
    margin-top: clamp(10px, 1.1vw, 18px);
}

.telegram-tweet-card:nth-child(3) {
    --tweet-rotate: -0.35deg;
}

.telegram-tweet-card:nth-child(5) {
    --tweet-rotate: 0.55deg;
}

.telegram-tweet-card-text-only {
    align-self: center;
    margin-top: 0;
}

.telegram-tweet-card:hover {
    transform: rotate(var(--tweet-rotate)) translateY(-6px);
    box-shadow: clamp(8px, 0.9vw, 14px) clamp(8px, 0.9vw, 14px) 0 var(--tweet-shadow),
    0 22px 48px rgba(7, 7, 23, 0.14);
}

.telegram-tweet-card-featured {
    background: radial-gradient(circle at 86% 16%, rgba(52, 72, 245, 0.12), transparent 34%),
    #fff;
}

.telegram-tweet-card-media {
    flex-basis: clamp(320px, 30vw, 420px);
    min-height: 0;
    animation: telegramTweetFloat 5.2s ease-in-out infinite;
    will-change: transform;
    transform-origin: center;
}

.telegram-tweets-track .telegram-tweet-card-media:nth-child(odd) {
    animation-delay: -1.4s;
}

.telegram-tweets-track .telegram-tweet-card-media:nth-child(even) {
    animation-delay: -2.8s;
    animation-duration: 6s;
}

.telegram-tweet-card:nth-child(even) {
    animation: telegramTweetEvenFloat 5.8s ease-in-out infinite;
    animation-delay: -1.8s;
    will-change: transform;
    transform-origin: center;
}

@keyframes telegramTweetEvenFloat {
    0%, 100% {
        transform: translateY(0) rotate(-0.6deg);
    }

    50% {
        transform: translateY(-12px) rotate(0.5deg);
    }
}

@keyframes telegramTweetFloat {
    0%, 100% {
        transform: translateY(0) rotate(-0.4deg);
    }

    50% {
        transform: translateY(-14px) rotate(0.8deg);
    }
}

.telegram-tweet-card-long {
    flex-basis: clamp(330px, 32vw, 450px);
}

.telegram-tweet-media-preview {
    width: 100%;
    margin: clamp(12px, 1vw, 16px) 0 clamp(12px, 1vw, 16px);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 3px solid rgba(7, 7, 23, 0.14);
    border-radius: clamp(16px, 1.3vw, 22px);
    background: var(--white);
    box-shadow: 4px 4px 0 rgba(7, 7, 23, 0.08);
}

.telegram-tweet-media-preview.is-square {
    aspect-ratio: 1 / 1;
}

.telegram-tweet-media-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.telegram-tweet-text.telegram-tweet-text-body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(18px, 1.45vw, 25px);
    line-height: 1.12;
    letter-spacing: -0.035em;
    font-weight: 950;
    text-shadow: none;
}

.telegram-tweet-card-long .telegram-tweet-text-body {
    font-size: clamp(15px, 1.05vw, 19px);
    line-height: 1.18;
}

.telegram-tweet-text em {
    font-style: italic;
}

.telegram-tweet-top,
.telegram-tweet-bottom,
.telegram-tweet-profile,
.telegram-tweet-stats {
    display: flex;
    align-items: center;
}

.telegram-tweet-top {
    justify-content: space-between;
    gap: 12px;
}

.telegram-tweet-profile {
    gap: 10px;
    min-width: 0;
}

.telegram-tweet-avatar {
    width: clamp(36px, 2.6vw, 46px);
    height: clamp(36px, 2.6vw, 46px);
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 3px solid var(--black);
    border-radius: 50%;
    background: var(--blue);
    color: var(--white);
    box-shadow: 3px 3px 0 var(--red);
    font-size: clamp(18px, 1.2vw, 24px);
}

.telegram-tweet-profile strong,
.telegram-tweet-profile em {
    display: block;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-style: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.telegram-tweet-profile strong {
    color: var(--black);
    font-size: clamp(13px, 0.95vw, 16px);
    font-weight: 950;
    letter-spacing: -0.02em;
}

.telegram-tweet-profile strong i {
    color: var(--blue);
    font-size: 0.85em;
    margin-left: 4px;
}

.telegram-tweet-profile em {
    margin-top: 1px;
    color: var(--ink-soft);
    font-size: clamp(11px, 0.8vw, 13px);
    font-weight: 800;
}

.telegram-tweet-top > i {
    flex: 0 0 auto;
    color: var(--black);
    font-size: clamp(16px, 1.2vw, 22px);
}

.telegram-tweet-text {
    margin: clamp(16px, 1.5vw, 22px) 0 clamp(16px, 1.5vw, 22px);
    color: var(--black);
    font-family: "Luckiest Guy", system-ui, sans-serif;
    font-size: clamp(24px, 2.2vw, 38px);
    line-height: 0.94;
    letter-spacing: -0.03em;
    text-shadow: 2px 2px 0 rgba(52, 72, 245, 0.18);
}

.telegram-tweet-stats {
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: auto;
    padding-top: 8px;
    color: #697789;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(11px, 0.82vw, 13px);
    font-weight: 900;
    letter-spacing: -0.015em;
}

.telegram-tweet-stats i {
    margin-right: 4px;
}

.telegram-tweet-bottom {
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 2px solid rgba(7, 7, 23, 0.08);
    color: var(--ink-soft);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(10px, 0.76vw, 12px);
    font-weight: 900;
    letter-spacing: -0.015em;
}

.telegram-tweet-bottom span:last-child {
    color: var(--blue);
    white-space: nowrap;
}

@media (max-width: 900px) {
    .telegram-tweets-copy {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        align-items: start;
        row-gap: 10px;
    }

    .telegram-tweets-copy .section-kicker,
    .telegram-tweets-title,
    .telegram-tweets-copy p:not(.section-kicker) {
        grid-column: auto;
        grid-row: auto;
    }

    .telegram-tweets-copy p:not(.section-kicker) {
        max-width: 680px;
    }
}

@media (max-width: 768px) {
    .telegram-tweets-section {
        padding-bottom: 56px;
    }

    .telegram-tweets-bubble {
        margin-top: 30px;
    }

    .telegram-tweets-copy {
        width: calc(100% - 32px);
        margin-bottom: 20px;
    }

    .telegram-tweets-title {
        font-size: clamp(54px, 18vw, 88px);
    }

    .telegram-tweets-gallery {
        scroll-padding-inline: 16px;
        padding-left: 16px;
        padding-right: 16px;
        margin-top: 20px;
    }

    .telegram-tweets-gallery::after {
        flex-basis: 1px;
    }

    .telegram-tweet-card,
    .telegram-tweet-card:nth-child(even) {
        flex-basis: min(82vw, 320px);
        min-height: 0;
        margin-top: 0;
        transform: rotate(0deg);
    }

    .telegram-tweet-card:hover {
        transform: translateY(-4px);
    }

    .telegram-tweet-text {
        font-size: clamp(23px, 8.4vw, 34px);
    }

    .telegram-tweet-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .telegram-tweets-title,
    .telegram-tweets-title::before,
    .telegram-tweets-title::after {
        animation: none;
    }
}
