/* ===========================================================================
   SEO PAGE — "Climb to page one" (prefix: sx-)
   IMPACT PRESENTATION — no numbering anywhere, bold colour fields:
       · hotspot infographic (glowing markers on a white-paper result)
       · count-up signal wall with giant numerals
       · full-bleed manifesto band between marquee strips
       · fill / stroke / gradient display type, hard-shadow rectangular buttons
       · mono type accents (labels, meta, specs)
   Palette on theme: navy #0A0B2E · violet #7B2FF7 · blue #0058FF
   · cyan #43D2E0 · gold #F0A400 · Afacad + mono accents.
   Loaded only by templates/seo.html.
   =========================================================================== */

.sx-hero,
.sx-anatomy,
.sx-ribbons,
.sx-roadmap,
.sx-signals,
.sx-manifesto,
.sx-myths,
.sx-cta {
    --sx-ink: #ffffff;
    --sx-mute: rgba(255, 255, 255, .74);
    --sx-faint: rgba(255, 255, 255, .46);
    --sx-line: rgba(255, 255, 255, .13);
    --sx-line-strong: rgba(255, 255, 255, .28);
    --sx-violet: #7b2ff7;
    --sx-magenta: #b51bb5;
    --sx-blue: #0058ff;
    --sx-cyan: #43d2e0;
    --sx-gold: #f0a400;
    --sx-grad: linear-gradient(90deg, #b900ff 0%, #0058ff 100%);
    --sx-grad-soft: linear-gradient(90deg, rgba(185, 0, 255, .85), rgba(0, 88, 255, .85));
    --sx-wrap: min(88%, 1280px);
    --sx-ease: cubic-bezier(.22, .61, .36, 1);
    --sx-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;
}

/* ------------------------------- shell -------------------------------- */
.sx-wrap {
    width: var(--sx-wrap);
    margin-inline: auto;
}

/* § breadcrumb */
.sx-crumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--sx-faint);
    margin-bottom: 1.35rem;
}

.sx-crumb i {
    font-style: normal;
    color: var(--sx-line-strong);
}

.sx-crumb b {
    color: var(--sx-cyan);
    font-weight: 600;
}

.sx-crumb__mark {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid var(--sx-line-strong);
    border-radius: 4px;
    color: var(--sx-cyan);
    font-size: .95rem;
}

/* section header — gradient dash + rule + meta (no numbers) */
.sx-rule {
    margin-bottom: clamp(2.4rem, 5vw, 3.6rem);
}

.sx-rule__tag {
    display: flex;
    align-items: center;
    gap: .7rem;
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--sx-cyan);
    padding-bottom: .85rem;
    border-bottom: 1px solid var(--sx-line);
    margin-bottom: 1.65rem;
}

.sx-rule__tag i {
    width: 30px;
    height: 3px;
    border-radius: 2px;
    background: var(--sx-grad);
}

.sx-rule__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.sx-rule__meta {
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--sx-faint);
    padding-bottom: .55rem;
    border-bottom: 2px solid var(--sx-grad);
}

.sx-h2 {
    font-size: clamp(2.15rem, 4.8vw, 3.75rem);
    line-height: 1.06;
    font-weight: 600;
    letter-spacing: -.015em;
}

.sx-h2 em,
.sx-cta__title em {
    font-style: normal;
    background: var(--sx-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* reveal-on-scroll */
.sx-rise {
    opacity: 1;
    transform: none;
}

html.js .sx-rise {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .85s var(--sx-ease), transform .85s var(--sx-ease);
}

html.js .sx-rise.is-in {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {

    .sx-rise,
    .sx-line>span {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }

    .sx-ladder__row,
    .sx-searchbar__caret,
    .sx-hero__beam,
    .sx-hot i,
    .sx-marquee__row {
        animation: none !important;
        transition: none !important;
    }
}

/* --------------------- hard-shadow rectangular buttons ------------------- */
.sx-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    padding: 1.05rem 1.85rem;
    border-radius: 10px;
    font-family: var(--sx-mono);
    font-size: .98rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid transparent;
    transition: transform .3s var(--sx-ease), box-shadow .3s var(--sx-ease),
        background-color .3s var(--sx-ease), color .3s var(--sx-ease);
}

.sx-btn svg {
    width: 18px;
    height: 18px;
    flex: none;
    transition: transform .3s var(--sx-ease);
}

.sx-btn:hover svg {
    transform: translateX(4px);
}

.sx-btn--hard {
    color: #fff;
    background: var(--sx-grad-soft);
    box-shadow: 7px 7px 0 rgba(67, 210, 224, .55);
}

.sx-btn--hard:hover {
    transform: translate(-3px, -3px);
    box-shadow: 10px 10px 0 rgba(67, 210, 224, .55);
}

.sx-btn--line {
    color: var(--sx-ink);
    border-color: var(--sx-line-strong);
    background: transparent;
    box-shadow: 7px 7px 0 rgba(255, 255, 255, .12);
}

.sx-btn--line:hover {
    transform: translate(-3px, -3px);
    border-color: var(--sx-ink);
    box-shadow: 10px 10px 0 rgba(255, 255, 255, .12);
}

/* ===========================================================================
   1 · RANK LADDER HERO
   =========================================================================== */
.sx-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: calc(var(--hdr-full, 120px) + 2.5rem) 0 4.5rem;
    background:
        radial-gradient(1000px 560px at 76% 18%, rgba(0, 88, 255, .32), transparent 62%),
        radial-gradient(820px 480px at 12% 86%, rgba(123, 47, 247, .3), transparent 60%),
        linear-gradient(168deg, #0a0b2e 0%, #12103a 52%, #0a0b2e 100%);
}

.sx-hero__beam {
    position: absolute;
    inset: -20% -10%;
    background: conic-gradient(from 210deg at 68% 30%, transparent 0deg, rgba(67, 210, 224, .09) 24deg, transparent 60deg);
    animation: sxSweep 14s linear infinite;
    pointer-events: none;
}

@keyframes sxSweep {
    to {
        transform: rotate(360deg);
    }
}

/* big colour aura behind the ladder */
.sx-hero__aura {
    position: absolute;
    right: -12%;
    top: 8%;
    width: 58vw;
    height: 58vw;
    max-width: 820px;
    max-height: 820px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 32%, rgba(185, 0, 255, .32), transparent 55%),
        radial-gradient(circle at 68% 68%, rgba(0, 88, 255, .3), transparent 55%);
    filter: blur(10px);
    animation: sxAura 12s ease-in-out infinite alternate;
    pointer-events: none;
}

@keyframes sxAura {
    from {
        transform: scale(1) rotate(0deg);
    }

    to {
        transform: scale(1.12) rotate(12deg);
    }
}

.sx-hero__in {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 6.2fr) minmax(0, 5.8fr);
    gap: clamp(2rem, 4.5vw, 4.25rem);
    align-items: center;
}

.sx-hero__title {
    font-size: clamp(2.95rem, 7.2vw, 6.1rem);
    line-height: 1.09;
    font-weight: 700;
    letter-spacing: -.022em;
    margin: .45rem 0 1.55rem;
}

.sx-line {
    display: block;
    overflow: hidden;
    padding-bottom: .12em;
}

.sx-line>span {
    display: block;
}

html.js .sx-line>span {
    transform: translateY(112%);
    opacity: 0;
}

.sx-hero.is-live .sx-line>span {
    animation: sxLineUp .95s var(--sx-ease) forwards;
}

.sx-hero.is-live .sx-line:nth-child(2)>span {
    animation-delay: .12s;
}

.sx-hero.is-live .sx-line:nth-child(3)>span {
    animation-delay: .24s;
}

@keyframes sxLineUp {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.sx-t-fill {
    color: #fff;
}

.sx-t-stroke {
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, .8);
}

.sx-t-grad {
    background: linear-gradient(92deg, #d26bff 0%, #7b9bff 48%, #43d2e0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sx-hero__sub {
    max-width: 48ch;
    font-size: clamp(1.05rem, 1.6vw, 1.24rem);
    line-height: 1.72;
    color: var(--sx-mute);
}

.sx-hero__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.15rem;
    margin-top: 2.25rem;
}

.sx-hero__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 2.35rem;
}

.sx-hero__tags li {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .55rem 1.05rem;
    border: 1px solid var(--sx-line);
    border-radius: 8px;
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--sx-mute);
}

.sx-hero__tags li::before {
    content: "";
    width: 14px;
    height: 3px;
    border-radius: 2px;
    background: var(--sx-grad);
}

/* --------------------------- rank ladder slab --------------------------- */
.sx-ladder {
    position: relative;
    border: 1px solid var(--sx-line-strong);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(21, 19, 62, .94) 0%, rgba(11, 11, 42, .94) 100%);
    box-shadow: 12px 12px 0 rgba(123, 47, 247, .32);
    overflow: hidden;
    transform: rotate(-1.2deg);
}

.sx-ladder::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 34% at 50% 100%, rgba(123, 47, 247, .28), transparent 70%);
    pointer-events: none;
}

.sx-ladder__bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--sx-line);
    color: var(--sx-faint);
}

.sx-ladder__bar svg {
    width: 17px;
    height: 17px;
}

.sx-ladder__q {
    padding: .5rem 1.15rem;
    border: 1px solid var(--sx-line);
    border-radius: 8px;
    font-family: var(--sx-mono);
    font-size: .92rem;
    letter-spacing: .02em;
    color: var(--sx-mute);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sx-ladder__live {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .55rem;
    font-family: var(--sx-mono);
    font-size: .78rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--sx-cyan);
}

.sx-ladder__live i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--sx-cyan);
    box-shadow: 0 0 12px rgba(67, 210, 224, .8);
}

.sx-ladder__list {
    list-style: none;
    margin: 0;
    padding: 1.05rem 1.15rem;
    display: grid;
    gap: .55rem;
}

.sx-ladder__row {
    display: flex;
    align-items: center;
    gap: .95rem;
    padding: .92rem 1.15rem;
    border: 1px solid var(--sx-line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
    transition: transform .65s var(--sx-ease), border-color .5s, background-color .5s, box-shadow .5s;
}

.sx-ladder__rank {
    flex: none;
    width: 52px;
    font-family: var(--sx-mono);
    font-size: .98rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--sx-faint);
}

.sx-ladder__site {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    min-width: 0;
}

.sx-ladder__site b {
    font-family: var(--sx-mono);
    font-size: .98rem;
    font-weight: 600;
    letter-spacing: .01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sx-ladder__site small {
    font-size: .84rem;
    color: var(--sx-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sx-ladder__row--you {
    border-color: transparent;
    background: var(--sx-grad-soft);
    box-shadow: 6px 6px 0 rgba(67, 210, 224, .35);
}

.sx-ladder__row--you .sx-ladder__rank,
.sx-ladder__row--you .sx-ladder__site small {
    color: rgba(255, 255, 255, .85);
}

.sx-ladder__row--you.is-top {
    box-shadow: 6px 6px 0 rgba(240, 164, 0, .55);
}

.sx-ladder__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .95rem 1.35rem;
    border-top: 1px solid var(--sx-line);
    font-family: var(--sx-mono);
    font-size: .78rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--sx-faint);
}

/* ===========================================================================
   2 · SERP HOTSPOT ANATOMY (light)
   =========================================================================== */
.sx-anatomy {
    position: relative;
    padding: clamp(4.2rem, 9vw, 7.2rem) 0;
    background:
        radial-gradient(circle at 8% 12%, rgba(181, 27, 181, .14), transparent 38%),
        radial-gradient(circle at 92% 18%, rgba(67, 210, 224, .2), transparent 36%),
        radial-gradient(circle at 82% 96%, rgba(240, 164, 0, .12), transparent 34%),
        linear-gradient(180deg, #fbf8ff 0%, #f1eafc 100%);
    color: #2d0f62;
}

.sx-anatomy .sx-rule__tag {
    color: #7b2ff7;
    border-bottom-color: rgba(45, 15, 98, .18);
}

.sx-anatomy .sx-rule__meta {
    color: rgba(45, 15, 98, .55);
}

/* white-paper result */
.sx-serp {
    position: relative;
    min-width: 0;
    padding: clamp(2.35rem, 4vw, 3.15rem) clamp(1.85rem, 4vw, 3.25rem) clamp(2.15rem, 4vw, 3rem);
    border: 1px solid rgba(45, 15, 98, .12);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 14px 14px 0 rgba(45, 15, 98, .1);
}

.sx-serp__url {
    font-family: var(--sx-mono);
    font-size: .92rem;
    letter-spacing: .03em;
    color: #1c5fd6;
    margin-bottom: .55rem;
}

.sx-serp__title {
    font-size: clamp(1.45rem, 2.6vw, 2.15rem);
    font-weight: 600;
    line-height: 1.22;
    letter-spacing: -.008em;
    margin-bottom: .85rem;
    color: #1a1a5e;
}

.sx-serp__desc {
    color: rgba(45, 15, 98, .72);
    line-height: 1.7;
    margin-bottom: 1.15rem;
}

.sx-serp__rich {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1.15rem;
}

.sx-serp__rich span {
    padding: .38rem .9rem;
    border: 1px solid rgba(45, 15, 98, .18);
    border-radius: 6px;
    font-family: var(--sx-mono);
    font-size: .8rem;
    letter-spacing: .08em;
    color: #a26a00;
}

.sx-serp__links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1.35rem;
    padding-top: 1.05rem;
    border-top: 1px dashed rgba(45, 15, 98, .22);
}

.sx-serp__links span {
    font-family: var(--sx-mono);
    font-size: .88rem;
    color: #1c5fd6;
}

/* hotspot markers live in side COLUMNS (grid) — they can never overlap the
   result text; below 1025px they become ordinary wrapping tag rows */
.sx-hotwrap {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(0, 820px) minmax(150px, 1fr);
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.75rem);
}

.sx-hotcol {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: clamp(1.85rem, 5vh, 3.75rem);
    min-width: 0;
}

.sx-hotcol--l {
    align-items: flex-end;
}

.sx-hotcol--r {
    align-items: flex-start;
}

.sx-hot {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
}

.sx-hotcol--l .sx-hot {
    flex-direction: row-reverse;
}

.sx-hot i {
    position: relative;
    flex: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--sx-grad-soft);
    box-shadow: 0 0 0 4px rgba(123, 47, 247, .18);
}

.sx-hot i::after {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid rgba(123, 47, 247, .55);
    animation: sxPing 2.4s ease-out infinite;
}

@keyframes sxPing {
    0% {
        opacity: .8;
        transform: scale(1);
    }

    80%,
    100% {
        opacity: 0;
        transform: scale(2.4);
    }
}

.sx-hot span {
    padding: .5rem 1rem;
    border: 1px solid rgba(45, 15, 98, .2);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 5px 5px 0 rgba(45, 15, 98, .1);
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4a128c;
    white-space: nowrap;
    transition: transform .35s var(--sx-ease), box-shadow .35s var(--sx-ease);
}

.sx-hot:hover span {
    transform: translate(-2px, -2px);
    box-shadow: 7px 7px 0 rgba(123, 47, 247, .28);
}

/* ===========================================================================
   3 · SERVICE TAPES (dark)
   =========================================================================== */
.sx-ribbons {
    position: relative;
    padding: clamp(4.2rem, 9vw, 7.2rem) 0 clamp(5.5rem, 10vw, 8.5rem);
    overflow: hidden;
    background:
        radial-gradient(860px 460px at 14% 18%, rgba(123, 47, 247, .24), transparent 60%),
        radial-gradient(760px 420px at 90% 88%, rgba(0, 88, 255, .2), transparent 60%),
        linear-gradient(180deg, #0c0b33 0%, #0a0b2e 100%);
}

.sx-tapes {
    display: grid;
    gap: clamp(1.5rem, 3.2vw, 2.45rem);
}

.sx-tape {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .85rem 2.15rem;
    padding: 1.65rem clamp(2.5rem, 8vw, 7.5rem);
    border-block: 1px solid var(--sx-line-strong);
    background: linear-gradient(90deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02));
    transform: rotate(-1.1deg);
    transition: transform .5s var(--sx-ease), background-color .5s;
}

.sx-tape--alt {
    transform: rotate(1.1deg);
}

.sx-tape:hover {
    transform: rotate(-1.1deg) translateX(1.2%);
    background: linear-gradient(90deg, rgba(123, 47, 247, .26), rgba(0, 88, 255, .14));
}

.sx-tape--alt:hover {
    transform: rotate(1.1deg) translateX(-1.2%);
}

.sx-tape strong {
    font-size: clamp(1.55rem, 3.4vw, 2.6rem);
    font-weight: 600;
    letter-spacing: -.012em;
    background: var(--sx-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sx-tape span {
    color: var(--sx-mute);
    font-family: var(--sx-mono);
    font-size: .92rem;
    letter-spacing: .02em;
}

/* ===========================================================================
   4 · 90-DAY ROADMAP (light)
   =========================================================================== */
.sx-roadmap {
    position: relative;
    padding: clamp(4.2rem, 9vw, 7.2rem) 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(67, 210, 224, .2), transparent 38%),
        radial-gradient(circle at 10% 90%, rgba(181, 27, 181, .14), transparent 36%),
        linear-gradient(180deg, #f1eafc 0%, #fbf8ff 100%);
    color: #2d0f62;
}

.sx-roadmap .sx-rule__tag {
    color: #7b2ff7;
    border-bottom-color: rgba(45, 15, 98, .18);
}

.sx-roadmap .sx-rule__meta {
    color: rgba(45, 15, 98, .55);
}

.sx-gantt {
    border: 1px solid rgba(45, 15, 98, .12);
    border-radius: 12px;
    padding: clamp(1.55rem, 3.2vw, 2.65rem);
    background:
        linear-gradient(rgba(45, 15, 98, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45, 15, 98, .06) 1px, transparent 1px),
        #ffffff;
    background-size: 100% 52px, 12.5% 100%, 100% 100%;
    box-shadow: 12px 12px 0 rgba(45, 15, 98, .08);
}

.sx-gantt__scale {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.55rem;
    padding-left: clamp(11.5rem, 24%, 15.5rem);
    font-family: var(--sx-mono);
    font-size: .8rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(45, 15, 98, .5);
}

.sx-gantt__row {
    display: grid;
    grid-template-columns: clamp(11.5rem, 24%, 15.5rem) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    padding: 1.05rem 0;
    border-bottom: 1px dashed rgba(45, 15, 98, .16);
}

.sx-gantt__label {
    font-family: var(--sx-mono);
    font-size: .98rem;
    letter-spacing: .04em;
    color: rgba(45, 15, 98, .78);
}

.sx-gantt__track {
    position: relative;
    height: 30px;
    border-radius: 6px;
    background: rgba(45, 15, 98, .07);
}

.sx-gantt__bar {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--from, 0%);
    width: calc(var(--to, 100%) - var(--from, 0%));
    border-radius: 6px;
    background: var(--sx-grad-soft);
    box-shadow: 4px 4px 0 rgba(45, 15, 98, .12);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1.1s var(--sx-ease);
}

.sx-gantt.is-in .sx-gantt__bar {
    transform: scaleX(1);
}

.sx-gantt__bar--b {
    background: linear-gradient(90deg, rgba(0, 88, 255, .9), rgba(67, 210, 224, .85));
}

.sx-gantt__bar--c {
    background: linear-gradient(90deg, rgba(181, 27, 181, .9), rgba(185, 0, 255, .85));
}

.sx-gantt__bar--d {
    background: linear-gradient(90deg, rgba(240, 164, 0, .9), rgba(240, 110, 0, .85));
}

.sx-gantt__bar--e {
    background: linear-gradient(90deg, rgba(67, 210, 224, .9), rgba(0, 88, 255, .85));
}

.sx-gantt__foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem 2rem;
    margin-top: 1.55rem;
    font-family: var(--sx-mono);
    font-size: .82rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(45, 15, 98, .55);
}

.sx-gantt__swatch {
    display: inline-block;
    width: 18px;
    height: 8px;
    border-radius: 3px;
    background: var(--sx-grad-soft);
    margin-right: .5rem;
}

/* ===========================================================================
   5 · SIGNALS BAND (dark) — giant count-up numerals
   =========================================================================== */
.sx-signals {
    position: relative;
    padding: clamp(4.2rem, 9vw, 7.2rem) 0;
    background:
        radial-gradient(900px 480px at 82% 16%, rgba(185, 0, 255, .26), transparent 62%),
        radial-gradient(760px 440px at 10% 90%, rgba(0, 88, 255, .26), transparent 60%),
        linear-gradient(180deg, #0a0b2e 0%, #0c0b33 100%);
}

.sx-sigwall {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--sx-line);
    border-bottom: 1px solid var(--sx-line);
}

.sx-sig {
    padding: clamp(1.85rem, 3.6vw, 3rem) clamp(1.15rem, 2.4vw, 2.15rem);
    border-left: 1px solid var(--sx-line);
}

.sx-sig:first-child {
    border-left: 0;
}

.sx-sig__num {
    display: block;
    font-size: clamp(2.85rem, 5.6vw, 4.85rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.025em;
    background: linear-gradient(120deg, #ffffff 0%, #c9a7ff 45%, #43d2e0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin-bottom: 1.05rem;
}

.sx-sig__cap {
    font-family: var(--sx-mono);
    font-size: .86rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    line-height: 1.75;
    color: var(--sx-faint);
}

/* ===========================================================================
   6 · MANIFESTO BAND — marquee strips around a giant statement
   =========================================================================== */
.sx-manifesto {
    position: relative;
    overflow: hidden;
    padding: clamp(3.25rem, 7vw, 5.5rem) 0;
    background:
        linear-gradient(115deg, rgba(185, 0, 255, .92) 0%, rgba(0, 88, 255, .92) 100%),
        #2d0f62;
    text-align: center;
}

.sx-manifesto__in {
    padding: clamp(2.15rem, 5vw, 3.75rem) 0;
}

.sx-manifesto__big {
    font-size: clamp(1.85rem, 4.6vw, 3.65rem);
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: -.018em;
    color: #fff;
}

.sx-manifesto__big s {
    text-decoration-color: rgba(255, 255, 255, .55);
    text-decoration-thickness: .09em;
    opacity: .65;
}

.sx-manifesto__big em {
    font-style: normal;
    color: transparent;
    -webkit-text-stroke: 2px rgba(255, 255, 255, .95);
}

.sx-marquee {
    overflow: hidden;
    white-space: nowrap;
    padding: .35rem 0;
    mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.sx-marquee__row {
    display: inline-flex;
    align-items: center;
    gap: 1.55rem;
    padding-right: 1.55rem;
    animation: sxSlide 26s linear infinite;
    will-change: transform;
}

.sx-marquee--rev .sx-marquee__row {
    animation: sxSlide 30s linear infinite reverse;
}

@keyframes sxSlide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.sx-marquee span {
    font-family: var(--sx-mono);
    font-size: clamp(1.05rem, 2.2vw, 1.55rem);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255, 255, 255, .65);
}

.sx-marquee i {
    flex: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #f0a400;
}

/* ===========================================================================
   7 · MYTH VS REALITY (light)
   =========================================================================== */
.sx-myths {
    position: relative;
    padding: clamp(4.2rem, 9vw, 7.2rem) 0;
    background:
        radial-gradient(circle at 12% 88%, rgba(0, 88, 255, .16), transparent 38%),
        radial-gradient(circle at 88% 12%, rgba(181, 27, 181, .12), transparent 36%),
        linear-gradient(180deg, #fbf8ff 0%, #f1eafc 100%);
    color: #2d0f62;
}

.sx-myths .sx-rule__tag {
    color: #7b2ff7;
    border-bottom-color: rgba(45, 15, 98, .18);
}

.sx-myths .sx-rule__meta {
    color: rgba(45, 15, 98, .55);
}

.sx-mythlist {
    display: grid;
}

.sx-mythrow {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(1.15rem, 3vw, 2.75rem);
    align-items: baseline;
    padding: 1.85rem .55rem;
    border-bottom: 1px solid rgba(45, 15, 98, .18);
    transition: background-color .4s var(--sx-ease), padding .4s var(--sx-ease);
}

.sx-mythrow:first-child {
    border-top: 1px solid rgba(45, 15, 98, .18);
}

.sx-mythrow:hover {
    background: rgba(255, 255, 255, .6);
    padding-inline: 1.15rem;
}

.sx-myth {
    font-size: clamp(1.25rem, 2.4vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -.012em;
    color: transparent;
    -webkit-text-stroke: 1.4px rgba(45, 15, 98, .55);
}

.sx-myth s {
    text-decoration-color: rgba(212, 58, 82, .9);
    text-decoration-thickness: 4px;
}

.sx-fact {
    color: rgba(45, 15, 98, .78);
    line-height: 1.72;
    font-size: 1.05rem;
}

.sx-fact b {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 26px;
    margin-right: .75rem;
    border: 1px solid rgba(45, 15, 98, .3);
    border-radius: 5px;
    background: linear-gradient(90deg, rgba(185, 0, 255, .85), rgba(0, 88, 255, .85));
    color: #fff;
    font-family: var(--sx-mono);
    font-size: .82rem;
    vertical-align: middle;
}

/* ===========================================================================
   8 · SEARCH CTA (dark)
   =========================================================================== */
.sx-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.4rem, 10vw, 8rem) 0;
    text-align: center;
    background:
        radial-gradient(720px 420px at 50% 18%, rgba(0, 88, 255, .32), transparent 62%),
        radial-gradient(720px 420px at 50% 100%, rgba(123, 47, 247, .32), transparent 62%),
        linear-gradient(180deg, #0a0b2e 0%, #0d0c38 100%);
}

.sx-cta__in {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sx-cta__title {
    font-size: clamp(2.25rem, 5vw, 3.95rem);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.018em;
    margin-bottom: 1.25rem;
}

.sx-searchbar {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: min(100%, 780px);
    margin-top: 2.65rem;
    padding: .75rem .75rem .75rem 1.55rem;
    border: 1px solid var(--sx-line-strong);
    border-radius: 12px;
    background: rgba(255, 255, 255, .06);
    box-shadow: 10px 10px 0 rgba(123, 47, 247, .3);
}

.sx-searchbar>svg {
    flex: none;
    width: 21px;
    height: 21px;
    color: var(--sx-faint);
}

.sx-searchbar__ph {
    flex: 1;
    text-align: left;
    font-family: var(--sx-mono);
    font-size: 1.02rem;
    color: var(--sx-faint);
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sx-searchbar__ph b {
    color: var(--sx-ink);
    font-weight: 600;
}

.sx-searchbar__caret {
    display: inline-block;
    width: 2px;
    height: 1.1em;
    margin-left: .2rem;
    background: var(--sx-cyan);
    vertical-align: text-bottom;
    animation: sxBlink 1.1s steps(1) infinite;
}

@keyframes sxBlink {
    50% {
        opacity: 0;
    }
}

.sx-searchbar__go {
    flex: none;
    padding: 1.05rem 1.95rem;
    border: 0;
    border-radius: 9px;
    background: var(--sx-grad-soft);
    color: #fff;
    font-family: var(--sx-mono);
    font-size: .98rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 6px 6px 0 rgba(67, 210, 224, .4);
    transition: transform .3s var(--sx-ease), box-shadow .3s var(--sx-ease);
}

.sx-searchbar__go:hover {
    transform: translate(-2px, -2px);
    box-shadow: 8px 8px 0 rgba(67, 210, 224, .4);
}

.sx-cta__notes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem 2.15rem;
    margin-top: 2.35rem;
    font-family: var(--sx-mono);
    font-size: .84rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--sx-faint);
}

/* ===========================================================================
   RESPONSIVE
   =========================================================================== */
@media (max-width: 1180px) {
    .sx-sigwall {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sx-sig:nth-child(odd) {
        border-left: 0;
    }

    .sx-sig:nth-child(n+3) {
        border-top: 1px solid var(--sx-line);
    }
}

@media (max-width: 1024px) {
    .sx-hero__in {
        grid-template-columns: 1fr;
    }

    .sx-ladder {
        max-width: 640px;
    }

    /* hotspot columns collapse to wrapping tag rows — nothing can overlap */
    .sx-hotwrap {
        grid-template-columns: 1fr;
    }

    .sx-hotcol {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: .65rem;
    }

    .sx-hotcol--l,
    .sx-hotcol--r {
        align-items: center;
    }

    .sx-hotcol--l .sx-hot {
        flex-direction: row;
    }

    .sx-hotcol--l {
        order: 1;
    }

    .sx-serp {
        order: 2;
    }

    .sx-hotcol--r {
        order: 3;
    }

    .sx-gantt__scale {
        padding-left: 0;
    }

    .sx-mythrow {
        grid-template-columns: 1fr;
        gap: .75rem;
    }
}

@media (max-width: 860px) {
    .sx-gantt__row {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .sx-tape {
        transform: rotate(-0.7deg);
        padding-inline: 1.75rem;
    }

    .sx-tape--alt {
        transform: rotate(0.7deg);
    }

    .sx-hot span {
        font-size: .74rem;
    }
}

@media (max-width: 640px) {
    .sx-hero {
        padding-top: calc(var(--hdr-full, 120px) + 1.5rem);
        padding-bottom: 3.5rem;
    }

    .sx-hero__title {
        font-size: clamp(2.35rem, 10.5vw, 3.25rem);
    }

    .sx-t-stroke {
        -webkit-text-stroke-width: 1.5px;
    }

    .sx-searchbar {
        flex-wrap: wrap;
        border-radius: 12px;
        padding: 1.15rem;
    }

    .sx-searchbar__go {
        width: 100%;
        text-align: center;
    }

    .sx-ladder {
        transform: none;
    }

    .sx-ladder__rank {
        width: 42px;
    }

    .sx-sigwall {
        grid-template-columns: 1fr;
    }

    .sx-sig {
        border-left: 0;
        border-top: 1px solid var(--sx-line);
    }

    .sx-sig:first-child {
        border-top: 0;
    }
}