.gsn-hero {
    position: relative;
    min-height: calc(100svh - 82px);
    display: flex;
    align-items: center;
    overflow: hidden;
    color: var(--gsn-white);
    background: #0b0810;
}

.gsn-hero__background,
.gsn-hero__grid,
.gsn-hero__glow {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.gsn-hero__grid {
    opacity: .19;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 92%);
}

.gsn-hero__glow {
    filter: blur(18px);
}

.gsn-hero__glow--one {
    inset: -25% auto auto 45%;
    width: 760px;
    height: 760px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--gsn-purple-rgb),.72), transparent 68%);
}

.gsn-hero__glow--two {
    inset: auto auto -45% -16%;
    width: 680px;
    height: 680px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--gsn-gold-rgb),.14), transparent 68%);
}

.gsn-hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr);
    align-items: center;
    gap: 72px;
    padding-block: 96px 120px;
}

.gsn-hero__title {
    max-width: 850px;
    margin: 0;
    color: var(--gsn-white);
    font-size: clamp(3.9rem, 7vw, 7.7rem);
    line-height: .92;
    letter-spacing: -.065em;
}

.gsn-hero__dynamic {
    display: inline-block;
    color: var(--gsn-gold);
    min-width: 5.6ch;
    transition: opacity .22s ease, transform .22s ease;
}

.gsn-hero__dynamic.is-changing {
    opacity: 0;
    transform: translateY(12px);
}

.gsn-hero__title-line {
    display: block;
    margin-top: 10px;
}

.gsn-hero__lead {
    max-width: 720px;
    margin: 30px 0 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.45vw, 1.22rem);
}

.gsn-hero__actions {
    justify-content: flex-start;
    margin-top: 36px;
}

.gsn-hero__proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 54px;
}

.gsn-hero__proof div {
    min-width: 0;
    padding-left: 18px;
    border-left: 1px solid rgba(255,255,255,.18);
}

.gsn-hero__proof strong,
.gsn-hero__proof span {
    display: block;
}

.gsn-hero__proof strong {
    color: var(--gsn-white);
    font-size: 1.45rem;
}

.gsn-hero__proof span {
    margin-top: 4px;
    color: rgba(255,255,255,.55);
    font-size: .78rem;
    line-height: 1.45;
}

.gsn-hero__visual {
    display: grid;
    place-items: center;
    min-height: 620px;
    perspective: 1200px;
}

.gsn-orbit {
    --orbit-size: min(42vw, 600px);
    position: relative;
    width: var(--orbit-size);
    aspect-ratio: 1;
    border-radius: 50%;
    transform-style: preserve-3d;
    transition: transform .25s ease-out;
}

.gsn-orbit::before {
    content: "";
    position: absolute;
    inset: 16%;
    border-radius: inherit;
    background: radial-gradient(circle, rgba(var(--gsn-purple-rgb),.48), rgba(var(--gsn-purple-rgb),.08) 52%, transparent 70%);
    box-shadow: 0 0 110px rgba(var(--gsn-purple-rgb),.42);
}

.gsn-orbit__ring {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gsn-orbit__ring--outer {
    animation: gsnOrbitSpin 28s linear infinite;
}

.gsn-orbit__ring--middle {
    inset: 14%;
    border-color: rgba(var(--gsn-gold-rgb),.28);
    animation: gsnOrbitSpinReverse 22s linear infinite;
}

.gsn-orbit__ring--inner {
    inset: 29%;
    border-style: dashed;
    border-color: rgba(255,255,255,.22);
    animation: gsnOrbitSpin 15s linear infinite;
}

.gsn-orbit__ring--outer::before,
.gsn-orbit__ring--middle::before,
.gsn-orbit__ring--inner::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--gsn-gold);
    box-shadow: 0 0 22px rgba(var(--gsn-gold-rgb),.8);
}

.gsn-orbit__core {
    position: absolute;
    inset: 35%;
    z-index: 4;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    padding: 20px;
    border: 1px solid rgba(var(--gsn-gold-rgb),.45);
    border-radius: 50%;
    text-align: center;
    background:
        linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.03)),
        rgba(18,6,23,.82);
    box-shadow:
        inset 0 1px rgba(255,255,255,.18),
        0 28px 80px rgba(0,0,0,.42),
        0 0 48px rgba(var(--gsn-purple-rgb),.48);
    backdrop-filter: blur(20px);
}

.gsn-orbit__logo .custom-logo-link {
    display: block;
}

.gsn-orbit__logo img {
    max-width: 98px;
    max-height: 70px;
    object-fit: contain;
}

.gsn-orbit__fallback {
    color: var(--gsn-white);
    font-size: clamp(1.5rem, 3vw, 2.8rem);
    font-weight: 800;
    letter-spacing: -.08em;
}

.gsn-orbit__core small {
    color: var(--gsn-gold);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.gsn-orbit__node {
    position: absolute;
    z-index: 3;
    min-width: 108px;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: rgba(255,255,255,.86);
    background: rgba(15,10,18,.72);
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
    backdrop-filter: blur(12px);
    text-align: center;
    font-size: .74rem;
    font-weight: 700;
    animation: gsnNodeFloat 4.5s ease-in-out infinite;
}

.gsn-orbit__node--1 { top: 1%; left: 50%; transform: translateX(-50%); }
.gsn-orbit__node--2 { top: 16%; right: 4%; animation-delay: -.5s; }
.gsn-orbit__node--3 { top: 48%; right: -5%; animation-delay: -1s; }
.gsn-orbit__node--4 { right: 7%; bottom: 12%; animation-delay: -1.5s; }
.gsn-orbit__node--5 { bottom: 0; left: 50%; transform: translateX(-50%); animation-delay: -2s; }
.gsn-orbit__node--6 { bottom: 12%; left: 7%; animation-delay: -2.5s; }
.gsn-orbit__node--7 { top: 48%; left: -5%; animation-delay: -3s; }
.gsn-orbit__node--8 { top: 16%; left: 4%; animation-delay: -3.5s; }

.gsn-hero__scroll {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.48);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.gsn-hero__scroll i {
    position: relative;
    width: 1px;
    height: 40px;
    overflow: hidden;
    background: rgba(255,255,255,.2);
}

.gsn-hero__scroll i::after {
    content: "";
    position: absolute;
    inset: -100% 0 auto;
    height: 100%;
    background: var(--gsn-gold);
    animation: gsnScrollLine 1.8s ease-in-out infinite;
}

.gsn-next-section {
    padding-block: 120px;
    text-align: center;
    background: var(--gsn-white);
}

.gsn-next-section h2 {
    max-width: 900px;
    margin: 0 auto;
    color: var(--gsn-dark);
    font-size: clamp(2.3rem, 5vw, 4.8rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

@keyframes gsnOrbitSpin {
    to { transform: rotate(360deg); }
}

@keyframes gsnOrbitSpinReverse {
    to { transform: rotate(-360deg); }
}

@keyframes gsnNodeFloat {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -8px; }
}

@keyframes gsnScrollLine {
    0% { top: -100%; }
    55%, 100% { top: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .gsn-orbit__ring,
    .gsn-orbit__node,
    .gsn-hero__scroll i::after {
        animation: none;
    }
}

@media (max-width: 1180px) {
    .gsn-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(390px, .8fr);
        gap: 36px;
    }

    .gsn-orbit {
        --orbit-size: min(44vw, 520px);
    }
}

@media (max-width: 960px) {
    .gsn-hero {
        min-height: auto;
    }

    .gsn-hero__layout {
        grid-template-columns: 1fr;
        padding-block: 86px 118px;
    }

    .gsn-hero__content {
        text-align: center;
    }

    .gsn-hero__lead {
        margin-inline: auto;
    }

    .gsn-hero__actions {
        justify-content: center;
    }

    .gsn-hero__visual {
        min-height: 540px;
    }

    .gsn-orbit {
        --orbit-size: min(76vw, 540px);
    }
}

@media (max-width: 640px) {
    .gsn-hero__layout {
        padding-block: 72px 104px;
    }

    .gsn-hero__title {
        font-size: clamp(3rem, 14vw, 4.7rem);
    }

    .gsn-hero__dynamic {
        min-width: 0;
    }

    .gsn-hero__actions .gsn-button {
        width: 100%;
    }

    .gsn-hero__proof {
        grid-template-columns: 1fr;
        max-width: 320px;
        margin-inline: auto;
        text-align: left;
    }

    .gsn-hero__visual {
        min-height: 390px;
    }

    .gsn-orbit {
        --orbit-size: min(92vw, 380px);
    }

    .gsn-orbit__node {
        min-width: 78px;
        padding: 7px 10px;
        font-size: .62rem;
    }

    .gsn-orbit__core {
        inset: 33%;
        padding: 12px;
    }

    .gsn-orbit__core small {
        display: none;
    }

    .gsn-hero__scroll span {
        display: none;
    }
}

/* v2.9.10 premium orbit core */
.gsn-orbit__core{
    overflow:visible;
    isolation:isolate;
}
.gsn-orbit__monogram{
    position:relative;
    z-index:3;
    width:clamp(42px,5vw,72px);
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));
    animation:gsnCoreReveal .9s cubic-bezier(.2,.8,.2,1) both;
}
.gsn-orbit__core>strong{
    position:relative;
    z-index:3;
    color:#fff;
    font-size:clamp(.9rem,1.6vw,1.35rem);
    line-height:1;
    letter-spacing:.08em;
}
.gsn-orbit__core-caption{
    position:absolute;
    left:50%;
    top:calc(100% + 18px);
    z-index:5;
    width:210px;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:rgba(255,255,255,.74);
    background:rgba(13,8,16,.82);
    box-shadow:0 16px 34px rgba(0,0,0,.22);
    font-size:.62rem;
    font-weight:700;
    line-height:1.35;
    text-align:center;
    opacity:0;
    transform:translate(-50%,8px);
    transition:opacity .25s ease,transform .25s ease;
    pointer-events:none;
}
.gsn-orbit.is-interacting .gsn-orbit__core-caption{
    opacity:1;
    transform:translate(-50%,0);
}
.gsn-orbit__pulse{
    position:absolute;
    inset:-16%;
    z-index:-1;
    border:1px solid rgba(var(--gsn-gold-rgb),.38);
    border-radius:50%;
    opacity:.65;
    animation:gsnCorePulse 3.4s ease-out infinite;
}
.gsn-orbit__core::after{
    content:"";
    position:absolute;
    inset:-28%;
    z-index:-2;
    border-radius:50%;
    background:radial-gradient(circle,rgba(var(--gsn-gold-rgb),.16),rgba(var(--gsn-purple-rgb),.14) 42%,transparent 72%);
    animation:gsnCoreBreath 4.6s ease-in-out infinite;
}
.gsn-orbit__node{
    transition:border-color .24s ease,color .24s ease,background .24s ease,box-shadow .24s ease;
}
.gsn-orbit__node:hover,
.gsn-orbit__node:focus-within{
    border-color:rgba(var(--gsn-gold-rgb),.55);
    color:var(--gsn-gold);
    background:rgba(24,8,31,.92);
    box-shadow:0 12px 34px rgba(var(--gsn-purple-rgb),.24);
}
.gsn-orbit.is-interacting .gsn-orbit__ring{
    animation-play-state:paused;
}
@keyframes gsnCorePulse{
    0%{transform:scale(.82);opacity:.58}
    75%,100%{transform:scale(1.22);opacity:0}
}
@keyframes gsnCoreBreath{
    0%,100%{transform:scale(.96);opacity:.65}
    50%{transform:scale(1.05);opacity:1}
}
@keyframes gsnCoreReveal{
    from{opacity:0;transform:scale(.86) translateY(6px)}
    to{opacity:1;transform:scale(1) translateY(0)}
}
@media(prefers-reduced-motion:reduce){
    .gsn-orbit__monogram,
    .gsn-orbit__pulse,
    .gsn-orbit__core::after{animation:none}
}
