/* ============================================================
   GOONSQUAD STUDIOS — CIPHER THEME
   Fonts: Space Grotesk (display) + Inter (body)
   ============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
    /* Backgrounds */
    --c-bg:    #06060a;
    --c-bg-2:  #0b0b10;
    --c-bg-3:  #101016;
    --c-bg-4:  #17171f;
    --c-bg-5:  #1e1e28;
    --c-bg-6:  #25252f;

    /* Borders */
    --c-border:   rgba(255,255,255,0.07);
    --c-border-2: rgba(255,255,255,0.12);
    --c-border-3: rgba(255,255,255,0.2);

    /* Orange */
    --c-orange:      #f97316;
    --c-orange-2:    #fb923c;
    --c-orange-dark: #c2540a;
    --c-orange-dim:  rgba(249,115,22,0.1);
    --c-orange-glow: rgba(249,115,22,0.35);

    /* Text */
    --c-text:   #e6e6e6;
    --c-text-2: #747474;
    --c-text-3: #3c3c3c;
    --c-white:  #ffffff;

    /* Typography */
    --font-display: 'Space Grotesk', sans-serif;
    --font-body:    'Inter', sans-serif;

    /* Spacing */
    --space-xs:  4px;
    --space-sm:  8px;
    --space-md:  16px;
    --space-lg:  24px;
    --space-xl:  48px;
    --space-2xl: 80px;
    --space-3xl: 120px;
    --space-4xl: 160px;

    /* Layout */
    --max-w:      1440px;
    --nav-h:      76px;
    --radius-sm:  8px;
    --radius-md:  12px;
    --radius-lg:  20px;
    --radius-xl:  28px;
    --radius-2xl: 40px;

    /* Motion */
    --ease:     cubic-bezier(0.16, 1, 0.3, 1);
    --ease-out: cubic-bezier(0.0, 0, 0.2, 1);
    --dur-fast: 140ms;
    --dur-med:  260ms;
    --dur-slow: 480ms;
}

/* ── RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
    background: var(--c-bg);
    color: var(--c-text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea, select { font-family: inherit; }

/* ── UTILITY ─────────────────────────────────────────────── */
.gs-c-orange { color: var(--c-orange); }
.gs-container {
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--space-lg);
}
.gs-section     { padding: var(--space-3xl) 0; }
.gs-section--sm { padding: var(--space-2xl) 0; }
.gs-section--lg { padding: var(--space-4xl) 0; }

.gs-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    border-radius: 99px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
}

/* ── BUTTONS ─────────────────────────────────────────────── */
.gs-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    border-radius: var(--radius-md);
    padding: 13px 26px;
    transition: all var(--dur-fast) var(--ease);
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.gs-btn--primary {
    background: var(--c-orange);
    color: #000;
    font-weight: 700;
}
.gs-btn--primary:hover {
    background: var(--c-orange-2);
    transform: translateY(-2px);
    box-shadow: 0 6px 32px var(--c-orange-glow);
}
.gs-btn--primary:active { transform: translateY(0); }

.gs-btn--ghost {
    background: transparent;
    color: var(--c-text);
    border: 1px solid var(--c-border-2);
}
.gs-btn--ghost:hover {
    border-color: rgba(249,115,22,0.5);
    color: var(--c-orange);
    background: var(--c-orange-dim);
}
.gs-btn--outline-orange {
    background: transparent;
    color: var(--c-orange);
    border: 1px solid var(--c-orange);
}
.gs-btn--outline-orange:hover { background: var(--c-orange-dim); }

.gs-btn--xl  { font-size: 15px; padding: 16px 36px; gap: 12px; }
.gs-btn--lg  { font-size: 14px; padding: 20px 28px; }
.gs-btn--sm  { font-size: 13px; padding: 9px 18px; }
.gs-btn--full { width: 100%; justify-content: center; }

/* ── NAVIGATION ─────────────────────────────────────────── */
.gs-nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    height: var(--nav-h);
    border-bottom: 1px solid transparent;
    transition: background var(--dur-med), border-color var(--dur-med), backdrop-filter var(--dur-med);
}
.gs-nav.is-scrolled {
    background: rgba(6,6,10,0.90);
    backdrop-filter: blur(28px) saturate(1.6);
    -webkit-backdrop-filter: blur(28px) saturate(1.6);
    border-bottom-color: var(--c-border);
}
.gs-nav__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--space-lg);
    height: 100%;
    display: flex;
    align-items: center;
    gap: var(--space-xl);
}

/* Logo */
.gs-nav__logo { flex-shrink: 0; display: flex; align-items: center; }
.gs-nav__logo-img { height: 36px; width: auto; }
.gs-nav__logo-wordmark {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: -0.03em;
    color: var(--c-white);
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 3px;
}
.gs-nav__logo-accent { color: var(--c-orange); }
.gs-nav__logo-sub {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-text-3);
    align-self: flex-end;
    margin-bottom: 1px;
}

/* Pill nav container */
.gs-nav__links {
    display: flex;
    align-items: center;
    gap: 2px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--c-border);
    border-radius: 99px;
    padding: 4px;
    flex: 1;
}
.gs-nav__link {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 500;
    color: var(--c-text-2);
    padding: 8px 18px;
    border-radius: 99px;
    transition: all var(--dur-fast);
    white-space: nowrap;
}
.gs-nav__link:hover { color: var(--c-text); background: rgba(255,255,255,0.07); }
.gs-nav__link.is-active { color: var(--c-white); background: rgba(255,255,255,0.1); }

/* Actions */
.gs-nav__actions { display: flex; align-items: center; gap: var(--space-sm); margin-left: auto; }
.gs-nav__currency {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 0 10px;
    height: 36px;
    color: var(--c-text-2);
    font-size: 13px;
    transition: border-color var(--dur-fast) var(--ease);
}
.gs-nav__currency:hover { border-color: rgba(249,115,22,0.4); }
.gs-nav__currency i { font-size: 15px; flex-shrink: 0; }
.gs-nav__currency-select {
    background: transparent;
    border: none;
    outline: none;
    color: var(--c-white);
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-display);
    cursor: pointer;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
}
.gs-nav__currency-select option {
    background: var(--c-bg-2);
    color: var(--c-white);
}
/* Basket wrap — needed for hover dropdown */
.gs-nav__basket-wrap {
    position: relative;
}
.gs-nav__basket {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    color: var(--c-text-2);
    font-size: 20px;
    transition: all var(--dur-fast);
}
.gs-nav__basket:hover { border-color: rgba(249,115,22,0.5); color: var(--c-orange); background: var(--c-orange-dim); }

/* Mini basket dropdown */
.gs-nav__basket-drop {
    position: absolute;
    top: 100%;
    right: 0;
    width: 300px;
    padding-top: 10px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 0.18s var(--ease), transform 0.18s var(--ease);
    z-index: 200;
}
.gs-nav__basket-drop__inner {
    background: var(--c-bg-2);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    overflow: hidden;
}
.gs-nav__basket-wrap:hover .gs-nav__basket-drop {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.gs-nav__basket-drop__items {
    max-height: 240px;
    overflow-y: auto;
    padding: var(--space-sm);
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.gs-nav__basket-drop__items::-webkit-scrollbar { width: 4px; }
.gs-nav__basket-drop__items::-webkit-scrollbar-track { background: transparent; }
.gs-nav__basket-drop__items::-webkit-scrollbar-thumb { background: var(--c-border); border-radius: 99px; }
.gs-nav__basket-drop__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--radius-md);
    background: var(--c-bg-3);
    transition: background var(--dur-fast);
}
.gs-nav__basket-drop__item:hover { background: var(--c-bg-4); }
.gs-nav__basket-drop__img {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-sm);
    object-fit: cover;
    flex-shrink: 0;
}
.gs-nav__basket-drop__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-bg-4);
    color: var(--c-text-3);
    font-size: 18px;
}
.gs-nav__basket-drop__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.gs-nav__basket-drop__name {
    font-size: 12px;
    font-weight: 600;
    color: var(--c-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: var(--font-display);
}
.gs-nav__basket-drop__qty {
    font-size: 11px;
    color: var(--c-text-3);
}
.gs-nav__basket-drop__price {
    font-size: 13px;
    font-weight: 700;
    color: var(--c-orange);
    font-family: var(--font-display);
    flex-shrink: 0;
}
.gs-nav__basket-drop__footer {
    padding: var(--space-sm);
    border-top: 1px solid var(--c-border);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.gs-nav__basket-drop__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-display);
    color: var(--c-text-2);
    padding: 4px 4px 2px;
}
.gs-nav__basket-drop__total span:last-child { color: var(--c-white); font-size: 16px; }
.gs-nav__basket-drop__empty {
    padding: var(--space-xl) var(--space-md);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--c-text-3);
    font-size: 13px;
}
.gs-nav__basket-drop__empty i { font-size: 28px; }

/* Nav account pill */
.gs-nav__user {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: 99px;
    padding: 0 14px 0 10px;
    height: 36px;
    font-size: 13px;
    font-weight: 600;
    font-family: var(--font-display);
    color: var(--c-white);
    transition: border-color var(--dur-fast);
}
.gs-nav__user:hover { border-color: rgba(249,115,22,0.4); }
.gs-nav__user i { font-size: 18px; color: var(--c-orange); }
.gs-nav__user-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gs-nav__user-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 99px;
    background: rgba(255,255,255,0.06);
    color: var(--c-text-3);
    font-size: 13px;
    margin-left: 2px;
    transition: background var(--dur-fast), color var(--dur-fast);
}
.gs-nav__user-logout:hover { background: rgba(249,115,22,0.15); color: var(--c-orange); }
.gs-nav__login { gap: 6px; }

.gs-nav__basket-badge {
    position: absolute;
    top: -5px; right: -5px;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 700;
    width: 18px; height: 18px;
    border-radius: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--c-bg);
}

/* Hamburger */
.gs-nav__hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    width: 44px; height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    transition: border-color var(--dur-fast);
}
.gs-nav__hamburger span {
    display: block;
    width: 20px; height: 1.5px;
    background: var(--c-text-2);
    border-radius: 2px;
    transition: transform var(--dur-med) var(--ease), opacity var(--dur-fast), width var(--dur-med);
}
.gs-nav__hamburger:hover { border-color: var(--c-border-2); }
.gs-nav__hamburger.is-open span:nth-child(1) { transform: rotate(45deg) translate(4.5px, 4.5px); }
.gs-nav__hamburger.is-open span:nth-child(2) { opacity: 0; width: 0; }
.gs-nav__hamburger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(4.5px, -4.5px); }

/* Mobile Drawer */
.gs-nav__drawer {
    display: none;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md) var(--space-lg) var(--space-lg);
    background: rgba(6,6,10,0.97);
    backdrop-filter: blur(24px);
    border-top: 1px solid var(--c-border);
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--dur-slow) var(--ease);
}
.gs-nav__drawer.is-open { max-height: 500px; }
.gs-nav__drawer-links { display: flex; flex-direction: column; gap: var(--space-xs); margin-bottom: var(--space-md); }
.gs-nav__drawer-link {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 500;
    color: var(--c-text-2);
    padding: 13px 16px;
    border-radius: var(--radius-md);
    transition: all var(--dur-fast);
}
.gs-nav__drawer-link:hover { background: var(--c-bg-4); color: var(--c-text); }
.gs-nav__drawer-link i { font-size: 18px; }

/* ── HERO ────────────────────────────────────────────────── */
.gs-hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-top: var(--nav-h);
}

/* Background */
.gs-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.gs-hero__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(249,115,22,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(249,115,22,0.03) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: radial-gradient(ellipse 80% 70% at 60% 40%, black 20%, transparent 75%);
}
.gs-hero__bg::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(to top, var(--c-bg), transparent);
}
.gs-hero__orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    animation: orbFloat 10s ease-in-out infinite;
}
.gs-hero__orb-1 {
    width: 800px; height: 800px;
    background: radial-gradient(circle, rgba(249,115,22,0.18) 0%, transparent 60%);
    top: -200px; right: -150px;
    animation-duration: 12s;
}
.gs-hero__orb-2 {
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(249,115,22,0.08) 0%, transparent 65%);
    bottom: 5%; left: -100px;
    animation-duration: 15s;
    animation-direction: reverse;
}
.gs-hero__orb-3 {
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(249,115,22,0.06) 0%, transparent 70%);
    top: 50%; left: 45%;
    animation-duration: 8s;
    animation-delay: 2s;
}
@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%       { transform: translate(15px, -20px) scale(1.05); }
    66%       { transform: translate(-10px, 10px) scale(0.96); }
}

/* Content grid */
.gs-hero__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: var(--space-3xl) var(--space-lg);
    display: grid;
    grid-template-columns: 1fr 500px;
    align-items: center;
    gap: var(--space-2xl);
}

/* Eyebrow */
.gs-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-orange);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    border-radius: 99px;
    padding: 7px 16px;
    margin-bottom: var(--space-xl);
}
.gs-hero__eyebrow-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--c-orange);
    box-shadow: 0 0 8px var(--c-orange);
    animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 1; box-shadow: 0 0 8px var(--c-orange); }
    50%       { opacity: 0.5; box-shadow: 0 0 20px var(--c-orange); }
}

/* Hero title — three stacked lines */
.gs-hero__title { margin-bottom: var(--space-xl); }
.gs-hero__title-row {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(70px, 10vw, 148px);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: var(--c-white);
}
.gs-hero__title-row--dim   { color: var(--c-text-2); }
.gs-hero__title-row--outline {
    -webkit-text-stroke: 3px var(--c-orange);
    color: transparent;
}
.gs-hero__title-row--accent { color: var(--c-orange); }

.gs-hero__sub {
    font-size: 18px;
    line-height: 1.7;
    color: var(--c-text-2);
    max-width: 520px;
    margin-bottom: var(--space-xl);
    font-weight: 300;
}
.gs-hero__actions {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    margin-bottom: var(--space-2xl);
}

/* Stats */
.gs-hero__stats {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--c-border);
}
.gs-hero__stat-val {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 700;
    color: var(--c-white);
    line-height: 1;
}
.gs-hero__stat-label {
    font-size: 11px;
    color: var(--c-text-3);
    margin-top: 6px;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.gs-hero__stat-div {
    width: 1px; height: 44px;
    background: var(--c-border-2);
    flex-shrink: 0;
}

/* Hero visual */
.gs-hero__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gs-hero__card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border-2);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    width: 100%;
    position: relative;
    overflow: hidden;
    animation: heroFloat 7s ease-in-out infinite;
}
.gs-hero__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--c-orange) 50%, transparent);
    opacity: 0.65;
}
@keyframes heroFloat {
    0%, 100% { transform: translateY(0); }
    40%       { transform: translateY(-12px); }
    70%       { transform: translateY(-7px); }
}
.gs-hero__card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-lg);
}
.gs-hero__card-live {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-orange);
}
.gs-hero__card-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--c-orange);
    box-shadow: 0 0 10px var(--c-orange);
    animation: pulse 2s ease-in-out infinite;
}
.gs-hero__card-label {
    font-size: 11px;
    color: var(--c-text-3);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.gs-hero__badge-float {
    position: absolute;
    bottom: -18px; left: 24px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: var(--radius-md);
    box-shadow: 0 8px 32px rgba(249,115,22,0.5);
    animation: badgeFloat 5s ease-in-out infinite 2s;
    z-index: 2;
    white-space: nowrap;
}
@keyframes badgeFloat {
    0%, 100% { transform: translateY(0) rotate(-1.5deg); }
    50%       { transform: translateY(-9px) rotate(-1.5deg); }
}
.gs-hero__badge-float i { font-size: 16px; }

/* Mini package row in card */
.gs-pkg-mini {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: 12px;
    border-radius: var(--radius-md);
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    transition: border-color var(--dur-fast), background var(--dur-fast);
    margin-bottom: var(--space-sm);
    cursor: pointer;
}
.gs-pkg-mini:last-child { margin-bottom: 0; }
.gs-pkg-mini:hover { border-color: var(--c-border-2); background: var(--c-bg-5); }
.gs-pkg-mini__icon {
    width: 38px; height: 38px;
    border-radius: var(--radius-sm);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange);
    font-size: 18px;
    flex-shrink: 0;
}
.gs-pkg-mini__info { flex: 1; min-width: 0; }
.gs-pkg-mini__name {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: var(--c-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-pkg-mini__cat { font-size: 11px; color: var(--c-text-3); margin-top: 2px; }

/* ── TICKER ──────────────────────────────────────────────── */
.gs-ticker {
    background: var(--c-bg-2);
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
    overflow: hidden;
    padding: 14px 0;
    position: relative;
}
.gs-ticker::before, .gs-ticker::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}
.gs-ticker::before { left: 0; background: linear-gradient(to right, var(--c-bg-2), transparent); }
.gs-ticker::after  { right: 0; background: linear-gradient(to left, var(--c-bg-2), transparent); }
.gs-ticker__track {
    display: flex;
    width: max-content;
    animation: tickerScroll 40s linear infinite;
}
@keyframes tickerScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.gs-ticker__items {
    display: flex;
    align-items: center;
    gap: 32px;
    padding-right: 32px;
    white-space: nowrap;
}
.gs-ticker__item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--c-text-3);
    text-transform: uppercase;
}
.gs-ticker__item i { color: var(--c-orange); font-size: 15px; }
.gs-ticker__sep { color: var(--c-border-2); font-size: 18px; }

/* ── SECTION MARKERS ─────────────────────────────────────── */
.gs-section-marker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}
.gs-section-marker__num {
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--c-orange);
}
.gs-section-marker__line {
    width: 36px;
    height: 1.5px;
    background: var(--c-orange);
    opacity: 0.5;
    border-radius: 2px;
}

.gs-section-title {
    font-family: var(--font-display);
    font-size: clamp(38px, 5vw, 68px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.05;
    color: var(--c-white);
    margin-bottom: var(--space-md);
}
.gs-section-sub {
    font-size: 17px;
    color: var(--c-text-2);
    max-width: 540px;
    font-weight: 300;
    line-height: 1.7;
}
.gs-section-head { margin-bottom: var(--space-2xl); }
.gs-section-head--center { text-align: center; }
.gs-section-head--center .gs-section-marker { justify-content: center; }
.gs-section-head--center .gs-section-sub { margin: 0 auto; }

/* legacy eyebrow (for pages using old structure) */
.gs-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: var(--space-md);
}
.gs-section-eyebrow::before {
    content: '';
    display: block;
    width: 24px;
    height: 1.5px;
    background: var(--c-orange);
    border-radius: 2px;
}

/* ── CATEGORIES STRIP ────────────────────────────────────── */
.gs-cats {
    background: var(--c-bg-2);
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
}
.gs-cats__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: var(--space-xl) var(--space-lg);
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}
.gs-cat-chip {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 28px;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text-2);
    transition: all var(--dur-med) var(--ease);
    cursor: pointer;
    flex: 1 1 180px;
}
.gs-cat-chip i { font-size: 22px; color: var(--c-text-3); transition: color var(--dur-fast); }
.gs-cat-chip:hover {
    border-color: rgba(249,115,22,0.4);
    color: var(--c-text);
    background: var(--c-bg-4);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
.gs-cat-chip:hover i { color: var(--c-orange); }

/* ── PACKAGE TILE GRID (category page) ──────────────────── */
.gs-cat-controls {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
    flex-wrap: wrap;
}
.gs-cat-search {
    flex: 1;
    min-width: 200px;
    position: relative;
}
.gs-cat-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--c-text-3);
    font-size: 16px;
    pointer-events: none;
}
.gs-cat-search input {
    width: 100%;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 10px 14px 10px 40px;
    color: var(--c-white);
    font-size: 14px;
    font-family: var(--font-body);
    outline: none;
    transition: border-color var(--dur-fast) var(--ease);
}
.gs-cat-search input::placeholder { color: var(--c-text-3); }
.gs-cat-search input:focus { border-color: rgba(249,115,22,0.5); }
.gs-cat-filter select {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 10px 36px 10px 14px;
    color: var(--c-white);
    font-size: 14px;
    font-family: var(--font-body);
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color var(--dur-fast) var(--ease);
}
.gs-cat-filter select:focus { border-color: rgba(249,115,22,0.5); }
.gs-cat-filter select option { background: var(--c-bg-3); }
.gs-pkg-grid-empty {
    display: none;
    grid-column: 1/-1;
    text-align: center;
    padding: var(--space-2xl) 0;
    color: var(--c-text-3);
    font-size: 15px;
}
.gs-pkg-grid-empty i { font-size: 36px; display: block; margin-bottom: var(--space-md); color: var(--c-text-3); }

.gs-pkg-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}
.gs-pkg-tile {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    text-decoration: none;
    aspect-ratio: 16/9;
    background: var(--c-bg-4);
    display: block;
    transition: transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);
}
.gs-pkg-tile:hover { transform: translateY(-5px); box-shadow: 0 24px 64px rgba(0,0,0,0.7); }

/* full-bleed image */
.gs-pkg-tile__img {
    position: absolute;
    inset: 0;
}
.gs-pkg-tile__img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s var(--ease);
}
.gs-pkg-tile:hover .gs-pkg-tile__img img { transform: scale(1.06); }
.gs-pkg-tile__img-placeholder {
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-bg-4), var(--c-bg-5));
    color: var(--c-text-3);
    font-size: 40px;
}

/* bottom fade overlay */
.gs-pkg-tile__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(0,0,0,0.88) 0%,
        rgba(0,0,0,0.3) 50%,
        transparent 75%
    );
    transition: opacity var(--dur-med) var(--ease);
}
.gs-pkg-tile:hover .gs-pkg-tile__overlay { opacity: 0.9; }

/* price badge — top right */
.gs-pkg-tile__price-badge {
    position: absolute;
    top: 14px; right: 14px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}
.gs-pkg-tile__price {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    color: #000;
    background: var(--c-orange);
    box-shadow: 0 4px 16px rgba(249,115,22,0.45);
    padding: 6px 14px;
    border-radius: 10px;
    line-height: 1;
    letter-spacing: -0.02em;
}
.gs-pkg-tile__price-original {
    font-size: 11px;
    color: rgba(255,255,255,0.5);
    text-decoration: line-through;
    text-align: right;
}

/* sale badge — top left */
.gs-pkg-tile__sale {
    position: absolute;
    top: 14px; left: 14px;
    z-index: 3;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 3px 10px;
    border-radius: 99px;
}

/* bottom content */
.gs-pkg-tile__body {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 2;
    padding: var(--space-md) var(--space-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.gs-pkg-tile__name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* hover view button */
.gs-pkg-tile__view {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-white);
    font-size: 16px;
    flex-shrink: 0;
    opacity: 0;
    transform: scale(0.7);
    transition: opacity var(--dur-med) var(--ease), transform var(--dur-med) var(--ease);
}
.gs-pkg-tile:hover .gs-pkg-tile__view { opacity: 1; transform: scale(1); }

/* ── PACKAGE CARDS ───────────────────────────────────────── */
.gs-packages__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-lg);
}
.gs-packages__grid--3 { grid-template-columns: repeat(3, 1fr); }

.gs-pkg-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all var(--dur-med) var(--ease);
    position: relative;
}
.gs-pkg-card:hover {
    border-color: rgba(249,115,22,0.4);
    transform: translateY(-8px);
    box-shadow: 0 28px 80px rgba(0,0,0,0.7), 0 0 0 1px rgba(249,115,22,0.15);
}

/* Floating price badge */
.gs-pkg-card__price-badge {
    position: absolute;
    top: 14px; right: 14px;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 99px;
    z-index: 2;
    box-shadow: 0 4px 16px rgba(249,115,22,0.5);
}
.gs-pkg-card__price-badge--sale { background: #22c55e; color: #000; }
.gs-pkg-card__badge-featured {
    position: absolute;
    top: 14px; left: 14px;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(8px);
    color: var(--c-orange);
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 99px;
    border: 1px solid rgba(249,115,22,0.3);
    z-index: 2;
}

.gs-pkg-card__image {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: var(--c-bg-4);
}
.gs-pkg-card__image-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--c-bg-4) 0%, var(--c-bg-5) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 44px;
    position: relative;
}
.gs-pkg-card__image-placeholder::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, transparent 50%, rgba(249,115,22,0.04));
}
.gs-pkg-card__body {
    padding: var(--space-lg) var(--space-xl);
    flex: 1;
    display: flex;
    flex-direction: column;
}
.gs-pkg-card__category {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: 10px;
}
.gs-pkg-card__name {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--c-white);
    line-height: 1.2;
    margin-bottom: var(--space-sm);
    letter-spacing: -0.02em;
}
.gs-pkg-card__desc {
    font-size: 14px;
    color: var(--c-text-2);
    line-height: 1.65;
    flex: 1;
    margin-bottom: var(--space-lg);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 300;
}
.gs-pkg-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    border-top: 1px solid var(--c-border);
    padding-top: var(--space-md);
}
.gs-pkg-card__price-original {
    font-size: 12px;
    color: var(--c-text-3);
    text-decoration: line-through;
    margin-bottom: 2px;
    line-height: 1;
}
.gs-pkg-card__price {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--c-white);
    line-height: 1;
    letter-spacing: -0.02em;
}
.gs-pkg-card__price--sale { color: var(--c-orange); }
.gs-pkg-card__price-wrap {}
.gs-pkg-card__actions { display: flex; gap: var(--space-sm); }

/* ── WHY US ──────────────────────────────────────────────── */
.gs-why-section { background: var(--c-bg); }
.gs-why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    align-items: stretch;
}
.gs-why-visual {
    position: relative;
    border-radius: var(--radius-xl);
    overflow: hidden;
    min-height: 560px;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
}
.gs-why-visual__img {
    width: 100%; height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}
.gs-why-visual__pattern {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, var(--c-bg-4) 0%, var(--c-bg-3) 100%),
        repeating-linear-gradient(
            45deg,
            rgba(249,115,22,0.03) 0px,
            rgba(249,115,22,0.03) 1px,
            transparent 1px,
            transparent 40px
        );
}
.gs-why-visual__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0.15) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--space-2xl);
}
.gs-why-visual__title {
    font-family: var(--font-display);
    font-size: clamp(40px, 4.5vw, 64px);
    font-weight: 700;
    color: var(--c-white);
    line-height: 1.02;
    letter-spacing: -0.04em;
    margin-bottom: var(--space-sm);
}
.gs-why-visual__sub {
    font-size: 15px;
    color: rgba(255,255,255,0.6);
    line-height: 1.6;
    font-weight: 300;
    margin-bottom: var(--space-xl);
}
.gs-why-visual__stats {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
}
.gs-why-visual__stat { text-align: center; }
.gs-why-visual__stat-val {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    color: var(--c-white);
    line-height: 1;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gs-why-visual__stat-label {
    font-size: 10px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 500;
    white-space: nowrap;
}
.gs-why-visual__stat-div {
    width: 1px; height: 36px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
}
.gs-why-visual__cta { align-self: flex-start; }
.gs-why-features {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.gs-why-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    padding: var(--space-lg) 0;
    border-bottom: 1px solid var(--c-border);
}
.gs-why-item:first-child { padding-top: 4px; }
.gs-why-item:last-child { border-bottom: none; padding-bottom: 4px; }
.gs-why-item__icon {
    width: 42px; height: 42px;
    border-radius: var(--radius-md);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--c-orange);
    font-size: 20px;
    transition: background var(--dur-fast), transform var(--dur-fast);
}
.gs-why-item:hover .gs-why-item__icon {
    background: rgba(249,115,22,0.18);
    transform: scale(1.06);
}
.gs-why-item__body { flex: 1; min-width: 0; }
.gs-why-item__title {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    color: var(--c-white);
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}
.gs-why-item__desc {
    font-size: 13px;
    color: var(--c-text-2);
    line-height: 1.6;
    font-weight: 300;
}

/* ── TESTIMONIALS ────────────────────────────────────────── */
.gs-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
}
.gs-testimonial {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    transition: border-color var(--dur-med);
    display: flex;
    flex-direction: column;
}
.gs-testimonial:hover { border-color: var(--c-border-2); }
.gs-testimonial__stars { display: flex; gap: 4px; margin-bottom: var(--space-md); color: var(--c-orange); font-size: 14px; }
.gs-testimonial__quote {
    font-size: 15px;
    line-height: 1.75;
    color: var(--c-text-2);
    margin-bottom: var(--space-xl);
    font-weight: 300;
    font-style: italic;
    flex: 1;
}
.gs-testimonial__author { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.gs-testimonial__avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--c-bg-5);
    border: 1px solid var(--c-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
}
.gs-testimonial__name { font-family: var(--font-display); font-size: 14px; font-weight: 600; color: var(--c-text); letter-spacing: -0.01em; }
.gs-testimonial__role { font-size: 12px; color: var(--c-text-3); margin-top: 2px; }

/* ── CTA BANNER ──────────────────────────────────────────── */
.gs-cta-banner {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-2xl);
    padding: var(--space-3xl);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.gs-cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 100% at 50% 130%, rgba(249,115,22,0.1) 0%, transparent 60%);
    pointer-events: none;
}
.gs-cta-banner::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(249,115,22,0.5), transparent);
}
.gs-cta-banner__title {
    font-family: var(--font-display);
    font-size: clamp(30px, 4vw, 56px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    margin-bottom: var(--space-md);
    position: relative;
}
.gs-cta-banner__sub {
    font-size: 17px;
    color: var(--c-text-2);
    max-width: 480px;
    margin: 0 auto var(--space-xl);
    font-weight: 300;
    position: relative;
}
.gs-cta-banner__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    position: relative;
    flex-wrap: wrap;
}

/* ── TEBEX MODULES ───────────────────────────────────────── */
/* Modules container on the page */
.gs-modules-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: var(--space-lg);
}

/* Individual module card (used by all module.*.html files) */
.gm-module {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color var(--dur-med);
}
.gm-module:hover { border-color: var(--c-border-2); }

.gm-module__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 24px 18px;
    border-bottom: 1px solid var(--c-border);
}
.gm-module__icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange);
    font-size: 17px;
    flex-shrink: 0;
}
.gm-module__title {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.01em;
}
.gm-module__body { padding: 16px 24px 24px; flex: 1; }

/* Payment rows */
.gm-payment {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--c-border);
}
.gm-payment:last-child { border-bottom: none; padding-bottom: 0; }
.gm-payment__avatar {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: var(--c-bg-5);
    border: 1px solid var(--c-border-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
    text-transform: uppercase;
}
.gm-payment__info { flex: 1; min-width: 0; }
.gm-payment__name {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: var(--c-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gm-payment__pkg { font-size: 11px; color: var(--c-text-3); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gm-payment__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex-shrink: 0; }
.gm-payment__price { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--c-orange); }
.gm-payment__time { font-size: 10px; color: var(--c-text-3); }

/* Goal/progress */
.gm-goal-bar-wrap { margin-top: var(--space-md); }
.gm-goal-amounts {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-display);
    font-size: 12px;
    color: var(--c-text-3);
    margin-bottom: 8px;
}
.gm-goal-amounts span:last-child { color: var(--c-orange); font-weight: 600; }
.gm-progress-track {
    height: 8px;
    background: var(--c-bg-5);
    border-radius: 99px;
    overflow: hidden;
}
.gm-progress-fill {
    height: 100%;
    background: var(--c-orange);
    border-radius: 99px;
    box-shadow: 0 0 12px rgba(249,115,22,0.6);
    transition: width 1.5s var(--ease);
}
.gm-goal-pct {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: 4px;
}
.gm-goal-name {
    font-size: 14px;
    color: var(--c-text-2);
    font-weight: 300;
    margin-bottom: var(--space-md);
}

/* Top donator */
.gm-donator-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--c-border);
}
.gm-donator-row:last-child { border-bottom: none; padding-bottom: 0; }
.gm-donator-rank {
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.gm-donator-rank--1 { background: rgba(234,179,8,0.12); color: #eab308; border: 1px solid rgba(234,179,8,0.3); }
.gm-donator-rank--2 { background: rgba(148,163,184,0.08); color: #94a3b8; border: 1px solid rgba(148,163,184,0.2); }
.gm-donator-rank--3 { background: rgba(217,119,6,0.08); color: #d97706; border: 1px solid rgba(217,119,6,0.2); }
.gm-donator-rank--n { background: var(--c-bg-5); color: var(--c-text-3); border: 1px solid var(--c-border); }
.gm-donator-name { flex: 1; font-family: var(--font-display); font-size: 14px; font-weight: 600; color: var(--c-text); }
.gm-donator-amount { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--c-orange); flex-shrink: 0; }

/* Featured package module */
.gm-featured-img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: var(--c-bg-4);
}
.gm-featured-img-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--c-bg-4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 40px;
}
.gm-featured-info { padding: 20px 24px 24px; }
.gm-featured-name {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-white);
    margin-bottom: var(--space-sm);
    letter-spacing: -0.02em;
}
.gm-featured-price {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--c-orange);
    margin-bottom: var(--space-md);
    letter-spacing: -0.02em;
}

/* Server status */
.gm-server-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.gm-server-row:last-child { margin-bottom: 0; }
.gm-server-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.gm-server-dot--online  { background: #22c55e; box-shadow: 0 0 10px rgba(34,197,94,0.5); animation: pulse 2s ease-in-out infinite; }
.gm-server-dot--offline { background: #ef4444; }
.gm-server-label { font-size: 13px; color: var(--c-text-2); flex: 1; }
.gm-server-value { font-family: var(--font-display); font-size: 13px; font-weight: 600; color: var(--c-text); }
.gm-server-players {
    background: var(--c-bg-5);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--space-md);
}
.gm-server-players-num {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.03em;
    line-height: 1;
}
.gm-server-players-label { font-size: 12px; color: var(--c-text-3); text-transform: uppercase; letter-spacing: 0.08em; margin-top: 4px; }

/* Gift card */
.gm-gift-result {
    padding: 14px 16px;
    border-radius: var(--radius-md);
    margin-top: var(--space-md);
    font-size: 14px;
}
.gm-gift-result--valid { background: rgba(34,197,94,0.08); border: 1px solid rgba(34,197,94,0.2); color: #86efac; }
.gm-gift-result--void  { background: rgba(239,68,68,0.08);  border: 1px solid rgba(239,68,68,0.2);  color: #fca5a5; }

/* ── CATEGORY PAGE ───────────────────────────────────────── */
.gs-cat-page__hero {
    padding: calc(var(--nav-h) + var(--space-2xl)) 0 var(--space-xl);
    border-bottom: 1px solid var(--c-border);
    background: var(--c-bg-2);
    position: relative;
    overflow: hidden;
}
.gs-cat-page__hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(249,115,22,0.025) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(249,115,22,0.025) 1px, transparent 1px);
    background-size: 70px 70px;
    mask-image: radial-gradient(ellipse 70% 100% at 10% 50%, black 20%, transparent 65%);
}
.gs-cat-page__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--c-text-3);
    margin-bottom: var(--space-md);
    position: relative;
}
.gs-cat-page__breadcrumb a { color: var(--c-text-2); transition: color var(--dur-fast); }
.gs-cat-page__breadcrumb a:hover { color: var(--c-orange); }
.gs-cat-page__breadcrumb i { font-size: 12px; }
.gs-cat-page__title {
    font-family: var(--font-display);
    font-size: clamp(40px, 6vw, 80px);
    font-weight: 700;
    letter-spacing: -0.04em;
    color: var(--c-white);
    margin-bottom: var(--space-sm);
    position: relative;
    line-height: 1.0;
}
.gs-cat-page__desc { font-size: 16px; color: var(--c-text-2); font-weight: 300; position: relative; }
.gs-cat-page__meta { font-size: 13px; color: var(--c-text-3); margin-top: var(--space-sm); position: relative; }

/* ── PACKAGE DETAIL ──────────────────────────────────────── */
.gs-pkg-detail {
    padding-top: calc(var(--nav-h) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
}

/* Main two-column: image + info */
.gs-pkg-detail__main {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--space-2xl);
    align-items: start;
    margin-bottom: var(--space-2xl);
}
.gs-pkg-detail__title {
    font-family: var(--font-display);
    font-size: clamp(20px, 2.8vw, 36px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin-bottom: var(--space-lg);
}
.gs-pkg-detail__price-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: var(--space-xl);
    flex-wrap: wrap;
}
.gs-pkg-detail__price {
    font-family: var(--font-display);
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 800;
    color: var(--c-orange);
    letter-spacing: -0.04em;
    line-height: 1;
}
.gs-pkg-detail__price-original {
    font-size: 22px;
    color: var(--c-text-3);
    text-decoration: line-through;
    font-family: var(--font-display);
    font-weight: 600;
}
.gs-pkg-detail__discount-badge {
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 4px 12px;
    border-radius: 99px;
}
.gs-pkg-detail__actions {
    display: flex;
    flex-direction: row;
    gap: var(--space-sm);
}
.gs-pkg-detail__actions .gs-btn:first-child { flex: 7; justify-content: center; }
.gs-pkg-detail__actions .gs-btn:last-child  { flex: 3; justify-content: center; }

/* Trust badges row */
.gs-pkg-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
    margin-bottom: var(--space-2xl);
    padding: var(--space-xl);
    background: var(--c-bg-2);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
}
.gs-pkg-trust__item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--c-text-2);
    font-weight: 400;
}
.gs-pkg-trust__item i {
    font-size: 22px;
    color: var(--c-orange);
    flex-shrink: 0;
}

/* Footer */
.gs-pkg-detail__footer {
    margin-top: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--c-border);
}

/* Keep old grid class for responsive compat */
.gs-pkg-detail__grid {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--space-2xl);
    align-items: start;
}
.gs-pkg-detail__image {
    width: 100%;
    border-radius: var(--radius-xl);
    aspect-ratio: 16/9;
    object-fit: cover;
    border: 1px solid var(--c-border);
    margin-bottom: var(--space-xl);
    background: var(--c-bg-3);
}
.gs-pkg-detail__image-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 64px;
    margin-bottom: var(--space-xl);
}
.gs-pkg-detail__category { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-orange); margin-bottom: var(--space-sm); }
.gs-pkg-detail__title {
    font-family: var(--font-display);
    font-size: clamp(30px, 4vw, 52px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--c-white);
    line-height: 1.05;
    margin-bottom: var(--space-xl);
}
.gs-pkg-detail__description { font-size: 16px; line-height: 1.8; color: var(--c-text-2); font-weight: 300; }
.gs-pkg-detail__description h2, .gs-pkg-detail__description h3 {
    font-family: var(--font-display);
    color: var(--c-white);
    margin-top: var(--space-xl);
    margin-bottom: var(--space-sm);
    font-weight: 700;
    letter-spacing: -0.025em;
}
.gs-pkg-detail__description h2 { font-size: 24px; }
.gs-pkg-detail__description h3 { font-size: 20px; }
.gs-pkg-detail__description ul { list-style: none; margin: var(--space-md) 0; }
.gs-pkg-detail__description ul li { padding-left: var(--space-lg); position: relative; margin-bottom: var(--space-sm); font-size: 15px; }
.gs-pkg-detail__description ul li::before {
    content: '';
    position: absolute;
    left: 0; top: 10px;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--c-orange);
}

/* Purchase Box */
.gs-purchase-box {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border-2);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    position: sticky;
    top: calc(var(--nav-h) + 24px);
    overflow: hidden;
}
.gs-purchase-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--c-orange), transparent);
    opacity: 0.6;
}
.gs-purchase-box__price {
    font-family: var(--font-display);
    font-size: 52px;
    font-weight: 700;
    color: var(--c-white);
    line-height: 1;
    letter-spacing: -0.03em;
    margin-bottom: var(--space-xs);
}
.gs-purchase-box__price-sale { color: var(--c-orange); }
.gs-purchase-box__original { font-size: 14px; color: var(--c-text-3); text-decoration: line-through; margin-bottom: var(--space-md); }
.gs-purchase-box__discount {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--c-orange-dim);
    color: var(--c-orange);
    border: 1px solid rgba(249,115,22,0.25);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 99px;
    margin-bottom: var(--space-lg);
}
.gs-purchase-box__divider { height: 1px; background: var(--c-border); margin: var(--space-lg) 0; }
.gs-purchase-box__feature {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--c-text-2);
    margin-bottom: 12px;
}
.gs-purchase-box__feature i { color: var(--c-orange); font-size: 17px; flex-shrink: 0; }
.gs-purchase-box__actions { margin-top: var(--space-lg); }

/* ── CHECKOUT / FORMS ────────────────────────────────────── */
.gs-checkout-page, .gs-username-page {
    padding-top: calc(var(--nav-h) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
    min-height: 100vh;
}
.gs-checkout-page__inner, .gs-username-page__inner {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
}
.gs-form-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-2xl);
}
.gs-form-card__title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    color: var(--c-white);
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--c-border);
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.02em;
}
.gs-form-field { margin-bottom: var(--space-lg); }
.gs-form-label {
    display: block;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 600;
    color: var(--c-text-2);
    margin-bottom: 8px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.gs-form-input {
    width: 100%;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 14px 18px;
    font-size: 15px;
    color: var(--c-text);
    outline: none;
    transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.gs-form-input:focus { border-color: var(--c-orange); box-shadow: 0 0 0 3px var(--c-orange-dim); }
.gs-form-input::placeholder { color: var(--c-text-3); }

/* Basket items */
.gs-basket-item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--c-border);
}
.gs-basket-item:last-child { border-bottom: none; }
.gs-basket-item__img {
    width: 64px; height: 64px;
    border-radius: var(--radius-md);
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    object-fit: cover;
    flex-shrink: 0;
}
.gs-basket-item__info { flex: 1; min-width: 0; }
.gs-basket-item__name { font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--c-text); letter-spacing: -0.01em; }
.gs-basket-item__price { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--c-orange); flex-shrink: 0; }
.gs-basket-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-lg);
    margin-top: var(--space-md);
    border-top: 2px solid var(--c-border-2);
}
.gs-basket-total__label { font-family: var(--font-display); font-size: 15px; font-weight: 500; color: var(--c-text-2); }
.gs-basket-total__amount { font-family: var(--font-display); font-size: 34px; font-weight: 700; color: var(--c-white); letter-spacing: -0.02em; }

/* FiveM / account linking */
.gs-fivem-link-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    padding: 18px 28px;
    background: #1a1a2e;
    border: 1px solid rgba(99,102,241,0.3);
    border-radius: var(--radius-lg);
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-white);
    text-decoration: none;
    transition: all var(--dur-med) var(--ease);
    position: relative;
    overflow: hidden;
}
.gs-fivem-link-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(99,102,241,0.1), transparent);
    transition: opacity var(--dur-med);
}
.gs-fivem-link-btn:hover {
    border-color: rgba(99,102,241,0.6);
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(99,102,241,0.2);
}
.gs-fivem-link-btn i { font-size: 24px; color: #818cf8; flex-shrink: 0; }

.gs-platform-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 16px 24px;
    border-radius: var(--radius-lg);
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--c-white);
    text-decoration: none;
    transition: all var(--dur-med) var(--ease);
    border: 1px solid;
}
.gs-platform-btn--generic {
    background: var(--c-bg-4);
    border-color: var(--c-border-2);
}
.gs-platform-btn--generic:hover { border-color: var(--c-orange); background: var(--c-orange-dim); transform: translateY(-2px); }
.gs-platform-btn i { font-size: 22px; }

/* Alert */
.gs-alert {
    border-radius: var(--radius-md);
    padding: 16px 20px;
    font-size: 14px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: var(--space-lg);
}
.gs-alert--info { background: rgba(99,179,237,0.07); border: 1px solid rgba(99,179,237,0.18); color: #90cdf4; }
.gs-alert--warn { background: rgba(249,115,22,0.07); border: 1px solid rgba(249,115,22,0.2); color: var(--c-orange); }
.gs-alert i { font-size: 20px; flex-shrink: 0; margin-top: 1px; }

/* ── CMS PAGE ────────────────────────────────────────────── */
.gs-cms-page {
    padding-top: calc(var(--nav-h) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
}
.gs-cms-page__inner { max-width: 800px; margin: 0 auto; padding: 0 var(--space-lg); }
.gs-cms-page__title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4.5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.035em;
    color: var(--c-white);
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--c-border);
}
.gs-cms-page__body { font-size: 16px; line-height: 1.85; color: var(--c-text-2); font-weight: 300; }
.gs-cms-page__body h1, .gs-cms-page__body h2, .gs-cms-page__body h3 { font-family: var(--font-display); color: var(--c-white); margin-top: var(--space-xl); margin-bottom: var(--space-sm); font-weight: 700; }
.gs-cms-page__body a { color: var(--c-orange); }
.gs-cms-page__body a:hover { text-decoration: underline; }
.gs-cms-page__body ul, .gs-cms-page__body ol { padding-left: var(--space-xl); margin: var(--space-md) 0; }
.gs-cms-page__body li { margin-bottom: var(--space-sm); }

/* ── FOOTER ──────────────────────────────────────────────── */
.gs-footer {
    background: var(--c-bg-2);
    border-top: 1px solid var(--c-border);
    padding: var(--space-3xl) 0 var(--space-xl);
}
.gs-footer__grid {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--space-lg);
    display: grid;
    grid-template-columns: 2.2fr 1fr 1fr 1fr;
    gap: var(--space-2xl);
    margin-bottom: var(--space-2xl);
}
.gs-footer__brand-name {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    color: var(--c-white);
    display: block;
    margin-bottom: var(--space-md);
    letter-spacing: -0.025em;
}
.gs-footer__tagline { font-size: 14px; color: var(--c-text-3); line-height: 1.7; font-weight: 300; max-width: 280px; margin-bottom: var(--space-lg); }
.gs-footer__socials { display: flex; gap: var(--space-sm); }
.gs-footer__social {
    width: 42px; height: 42px;
    border-radius: var(--radius-md);
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 18px;
    transition: all var(--dur-fast);
}
.gs-footer__social:hover { border-color: rgba(249,115,22,0.5); color: var(--c-orange); background: var(--c-orange-dim); }
.gs-footer__col-title { font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-text-3); margin-bottom: var(--space-lg); }
.gs-footer__col-links { display: flex; flex-direction: column; gap: 12px; }
.gs-footer__col-links a { font-size: 14px; color: var(--c-text-2); transition: color var(--dur-fast); }
.gs-footer__col-links a:hover { color: var(--c-orange); }
.gs-footer__bottom {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: var(--space-lg) var(--space-lg) 0;
    border-top: 1px solid var(--c-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-md);
}
.gs-footer__copy, .gs-footer__powered { font-size: 13px; color: var(--c-text-3); }
.gs-footer__powered strong { color: var(--c-text-2); }

/* ── REVIEW TICKER ───────────────────────────────────────── */
.gs-review-ticker {
    overflow: hidden;
    padding: 0 0 var(--space-xl);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.gs-review-ticker__track {
    display: flex;
    width: max-content;
    animation: reviewTicker 40s linear infinite;
}
.gs-review-ticker__items {
    display: flex;
    gap: var(--space-lg);
    padding-right: var(--space-lg);
}
@keyframes reviewTicker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.gs-review-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    width: 340px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    transition: border-color var(--dur-fast);
}
.gs-review-card:hover { border-color: rgba(249,115,22,0.3); }
.gs-review-card__stars { display: flex; gap: 3px; color: var(--c-orange); font-size: 13px; }
.gs-review-card__quote {
    font-size: 14px;
    color: var(--c-text-2);
    line-height: 1.7;
    font-weight: 300;
    font-style: italic;
    flex: 1;
}
.gs-review-card__author { display: flex; flex-direction: column; gap: 2px; margin-top: auto; }
.gs-review-card__name { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--c-text); letter-spacing: -0.01em; }
.gs-review-card__role { font-size: 11px; color: var(--c-text-3); }

/* ── ANIMATIONS ──────────────────────────────────────────── */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(32px); }
    to   { opacity: 1; transform: translateY(0); }
}
.gs-anim-up {
    opacity: 0;
    animation: fadeUp 0.75s var(--ease) forwards;
}
.gs-anim-up--d1 { animation-delay: 0.06s; }
.gs-anim-up--d2 { animation-delay: 0.14s; }
.gs-anim-up--d3 { animation-delay: 0.22s; }
.gs-anim-up--d4 { animation-delay: 0.32s; }
.gs-anim-up--d5 { animation-delay: 0.44s; }
.gs-anim-up--d6 { animation-delay: 0.56s; }

[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.65s var(--ease), transform 0.65s var(--ease);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

/* ── HERO BANNER VARIANT ────────────────────────────────── */
.gs-hero--banner {
    height: calc(100vh - var(--nav-h));
    max-height: 780px;
    min-height: 520px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-top: var(--nav-h);
}
.gs-hero__banner {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
/* Left-side black glass fade — covers left ~55%, fades to transparent right */
.gs-hero__banner-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(to right,
            rgba(6,6,10,1)    0%,
            rgba(6,6,10,0.96) 20%,
            rgba(6,6,10,0.80) 38%,
            rgba(6,6,10,0.35) 58%,
            rgba(6,6,10,0.15) 75%,
            rgba(6,6,10,0.05) 100%
        ),
        linear-gradient(to top, rgba(6,6,10,0.7) 0%, transparent 35%);
}
.gs-hero--banner .gs-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: var(--space-2xl) var(--space-lg);
    padding-top: calc(var(--space-2xl) + 96px);
    padding-left: calc(var(--space-lg) + 48px);
    display: grid;
    grid-template-columns: 1fr 440px;
    align-items: center;
    gap: var(--space-2xl);
}

/* Hero video background */
.gs-hero__banner-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* Hero featured package card */
.gs-hero__feat-card {
    background: rgba(6,6,10,0.75);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-2xl);
    padding: var(--space-xl);
    position: relative;
    overflow: hidden;
}
.gs-hero__feat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(249,115,22,0.5), transparent);
}
.gs-hero__feat-card__img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: var(--space-md);
    display: block;
}
.gs-hero__feat-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: var(--space-lg);
}
.gs-hero__feat-card__badge {
    display: inline-block;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 99px;
    margin-bottom: var(--space-sm);
}
.gs-hero__feat-card__name {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.025em;
    margin-bottom: var(--space-sm);
    line-height: 1.15;
}
.gs-hero__feat-card__desc {
    font-size: 13px;
    color: var(--c-text-2);
    line-height: 1.65;
    font-weight: 300;
    margin-bottom: var(--space-md);
}
.gs-hero__feat-card__price {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: var(--space-md);
}
.gs-hero__feat-card__divider {
    height: 1px;
    background: rgba(255,255,255,0.07);
    margin: var(--space-md) 0;
}
.gs-hero__feat-card__features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: var(--space-lg);
}
.gs-hero__feat-card__features span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--c-text-2);
    font-weight: 300;
}
.gs-hero__feat-card__features i { color: var(--c-orange); font-size: 15px; flex-shrink: 0; }
.gs-hero__feat-card__actions { display: flex; flex-direction: column; gap: var(--space-sm); }

/* Category cards — halves layout */
.gs-cats-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--space-md);
}
/* 50/50 halves layout for 2 categories */
.gs-cats-row--halves { grid-template-columns: 1fr 1fr; gap: var(--space-lg); }

.gs-cat-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    transition: all var(--dur-med) var(--ease);
    position: relative;
    overflow: hidden;
    text-decoration: none;
}
.gs-cat-card:hover {
    border-color: rgba(249,115,22,0.4);
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.6), 0 0 0 1px rgba(249,115,22,0.1);
}

/* Large variant — full image background */
.gs-cat-card--large {
    min-height: 340px;
    padding: 0;
}
.gs-cat-card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 0;
    transition: transform var(--dur-slow) var(--ease);
}
.gs-cat-card--large:hover .gs-cat-card__bg { transform: scale(1.04); }
.gs-cat-card__bg-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(6,6,10,0.97) 0%, rgba(6,6,10,0.65) 45%, rgba(6,6,10,0.25) 100%);
}
.gs-cat-card__bg-pattern {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(135deg, var(--c-bg-4) 0%, var(--c-bg-5) 100%),
        repeating-linear-gradient(45deg, rgba(249,115,22,0.03) 0px, rgba(249,115,22,0.03) 1px, transparent 1px, transparent 40px);
}
.gs-cat-card__content {
    position: relative;
    z-index: 2;
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    height: 100%;
    justify-content: flex-end;
}
.gs-cat-card__num {
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--c-text-3);
    text-transform: uppercase;
}
.gs-cat-card__icon {
    font-size: 36px;
    color: var(--c-orange);
    line-height: 1;
    margin-bottom: var(--space-sm);
}
.gs-cat-card__name {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0;
}
.gs-cat-card__desc {
    font-size: 14px;
    color: var(--c-text-2);
    line-height: 1.65;
    font-weight: 300;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gs-cat-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--c-orange);
    margin-top: var(--space-sm);
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* ── MODULES STACK (landing page) ───────────────────────── */
.gs-modules-stack {
    background: var(--c-bg-2);
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
}
.gs-modules-stack__label {
    padding: var(--space-3xl) 0 var(--space-2xl);
    max-width: var(--max-w);
    margin: 0 auto;
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
}

/* Module sections */
.gm-section {
    padding: var(--space-2xl) 0;
    border-bottom: 1px solid var(--c-border);
    position: relative;
}
.gm-section:last-child { border-bottom: none; }
.gm-section:nth-child(even) { background: var(--c-bg-3); }

.gm-section__head {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    margin-bottom: var(--space-2xl);
}
.gm-section__icon {
    width: 48px; height: 48px;
    border-radius: var(--radius-lg);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange);
    font-size: 22px;
    flex-shrink: 0;
    margin-top: 3px;
}
.gm-section__title {
    font-family: var(--font-display);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    margin-bottom: 6px;
}
.gm-section__sub {
    font-size: 14px;
    color: var(--c-text-2);
    font-weight: 300;
    line-height: 1.6;
}

/* ── PAYMENTS TICKER ─────────────────────────────────────── */
.gm-pay-ticker-wrap {
    background: var(--c-bg-2);
    border-top: 1px solid var(--c-border);
    border-bottom: 1px solid var(--c-border);
    padding: var(--space-lg) 0;
}
.gm-pay-ticker-header {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: var(--max-w);
    margin: 0 auto var(--space-md);
    padding: 0 var(--space-lg);
}
.gm-pay-ticker-header__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    flex-shrink: 0;
    animation: pulse 2s ease-in-out infinite;
}
.gm-pay-ticker-header__label {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.01em;
}
.gm-pay-ticker-header__count {
    font-size: 12px;
    color: var(--c-text-3);
    margin-left: 2px;
}
.gm-pay-ticker {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
}
.gm-pay-ticker__track {
    display: flex;
    width: max-content;
    animation: payTicker 40s linear infinite;
}
@keyframes payTicker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.gm-pay-ticker__items {
    display: flex;
    align-items: stretch;
    gap: var(--space-sm);
    padding-right: var(--space-sm);
}
.gm-pay-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gm-pay-card__top {
    display: flex;
    align-items: center;
    gap: 10px;
}
.gm-pay-card__avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--c-orange-dim), rgba(249,115,22,0.2));
    border: 1px solid rgba(249,115,22,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
}
.gm-pay-card__user { flex: 1; min-width: 0; }
.gm-pay-card__ign {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: var(--c-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.01em;
}
.gm-pay-card__time {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--c-text-3);
    margin-top: 3px;
}
.gm-pay-card__time i { font-size: 10px; }
.gm-pay-card__price {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
    white-space: nowrap;
}
.gm-pay-card__pkg {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    font-size: 11px;
    color: var(--c-text-2);
}
.gm-pay-card__pkg i { color: var(--c-orange); font-size: 11px; flex-shrink: 0; }
.gm-pay-card__pkg span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── GOAL SECTION ────────────────────────────────────────── */
.gm-goal-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: center;
}
.gm-progress-track--lg { height: 14px; border-radius: 99px; }

/* ── COMMUNITY GOAL SECTION ──────────────────────────────── */
.gm-cgoal-layout {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: var(--space-2xl);
    align-items: center;
}
.gm-cgoal-layout__img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: var(--radius-xl);
    border: 1px solid var(--c-border);
}

/* ── TOP DONATOR SECTION ─────────────────────────────────── */
.gm-donator-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-2xl) 0;
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
}
.gm-donator-hero__crown {
    font-size: 32px;
    color: #eab308;
    margin-bottom: var(--space-sm);
    animation: pulse 3s ease-in-out infinite;
}
.gm-donator-hero__avatar {
    width: 90px; height: 90px;
    border-radius: 50%;
    border: 3px solid var(--c-orange);
    object-fit: cover;
    margin-bottom: var(--space-lg);
    box-shadow: 0 0 32px rgba(249,115,22,0.3);
}
.gm-donator-hero__avatar--initial {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-bg-5);
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    color: var(--c-orange);
}
.gm-donator-hero__name {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    margin-bottom: var(--space-sm);
}
.gm-donator-hero__amount {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.03em;
    line-height: 1;
    margin-bottom: var(--space-sm);
}
.gm-donator-hero__period {
    font-size: 12px;
    color: var(--c-text-3);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* ── SERVER STATUS SECTION ───────────────────────────────── */
.gm-server-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: center;
}
.gm-server-info { display: flex; flex-direction: column; gap: 14px; }
.gm-server-stat-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
}
.gm-server-stat-label { font-size: 13px; color: var(--c-text-2); flex: 1; }
.gm-server-stat-val { font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--c-text); }
.gm-server-layout__right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    align-items: end;
}
.gm-server-big-stat {
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    text-align: center;
}
.gm-server-big-num {
    font-family: var(--font-display);
    font-size: 52px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.04em;
    line-height: 1;
}
.gm-server-big-stat--muted .gm-server-big-num { color: var(--c-text-2); }
.gm-server-big-label {
    font-size: 12px;
    color: var(--c-text-3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: var(--space-sm);
}
.gm-server-capacity {
    grid-column: span 2;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
}
.gm-server-capacity__label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--c-text-2);
    margin-bottom: var(--space-sm);
    font-family: var(--font-display);
    font-weight: 600;
}

/* ── TEXT BOX SECTION ────────────────────────────────────── */
.gm-textbox-body {
    font-size: 16px;
    color: var(--c-text-2);
    line-height: 1.8;
    font-weight: 300;
    max-width: 800px;
}
.gm-textbox-body a { color: var(--c-orange); }
.gm-textbox-body h2, .gm-textbox-body h3 { font-family: var(--font-display); color: var(--c-white); margin-bottom: var(--space-sm); }

/* ── FEATURED PACKAGE SECTION ────────────────────────────── */
.gm-featured-layout {
    display: grid;
    grid-template-columns: 480px 1fr;
    gap: var(--space-2xl);
    align-items: center;
}
.gm-featured-layout__img img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: var(--radius-xl);
    border: 1px solid var(--c-border);
}
.gm-featured-layout__img-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: var(--radius-xl);
    border: 1px solid var(--c-border);
    background: var(--c-bg-4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 56px;
}
.gm-featured-layout__tag {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-orange);
    margin-bottom: var(--space-md);
}
.gm-featured-layout__name {
    font-family: var(--font-display);
    font-size: clamp(24px, 3vw, 40px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    margin-bottom: var(--space-lg);
}
.gm-featured-layout__price-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: var(--space-xl);
}
.gm-featured-layout__original {
    font-size: 16px;
    color: var(--c-text-3);
    text-decoration: line-through;
}
.gm-featured-layout__price {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.03em;
    line-height: 1;
}
.gm-featured-layout__sale-badge {
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 99px;
    align-self: flex-start;
}
.gm-featured-layout__actions { display: flex; gap: var(--space-md); flex-wrap: wrap; }

/* ── GIFT CARD SECTION ───────────────────────────────────── */
.gm-giftcard-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: center;
}
.gm-giftcard-form { display: flex; flex-direction: column; gap: var(--space-sm); }

/* ── CATEGORY HEADER ────────────────────────────────────── */
.gs-cat-header {
    padding: calc(var(--nav-h) + var(--space-xl)) 0 var(--space-xl);
    background: var(--c-bg-2);
    border-bottom: 1px solid var(--c-border);
}
.gs-cat-header__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.gs-cat-header__content { display: flex; align-items: center; justify-content: center; }
.gs-cat-header__title {
    font-family: var(--font-display);
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    line-height: 1;
    margin: 0;
}

/* ── PAGE HERO (category, etc.) ─────────────────────────── */
.gs-page-hero {
    padding: calc(var(--nav-h) + var(--space-2xl)) 0 var(--space-2xl);
    background: var(--c-bg-2);
    border-bottom: 1px solid var(--c-border);
    position: relative;
    overflow: hidden;
}
.gs-page-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(249,115,22,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(249,115,22,0.025) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(ellipse 80% 100% at 5% 50%, black 20%, transparent 65%);
}
.gs-page-hero__orb {
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(249,115,22,0.08) 0%, transparent 65%);
    top: -200px; right: -100px;
    pointer-events: none;
    animation: orbFloat 14s ease-in-out infinite;
}
.gs-page-hero__inner {
    position: relative;
    z-index: 1;
}
.gs-page-hero__content { max-width: 760px; }
.gs-page-hero__title {
    font-family: var(--font-display);
    font-size: clamp(44px, 7vw, 96px);
    font-weight: 700;
    letter-spacing: -0.04em;
    color: var(--c-white);
    line-height: 0.95;
    margin: var(--space-md) 0 var(--space-md);
}
.gs-page-hero__desc {
    font-size: 17px;
    color: var(--c-text-2);
    font-weight: 300;
    line-height: 1.7;
    margin-bottom: var(--space-sm);
}
.gs-page-hero__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--c-text-3);
    margin-top: var(--space-md);
}
.gs-page-hero__meta-dot {
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--c-orange);
    display: inline-block;
}

/* ── BREADCRUMB (shared) ─────────────────────────────────── */
.gs-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--c-text-3);
    margin-bottom: var(--space-md);
}
.gs-breadcrumb a { color: var(--c-text-2); transition: color var(--dur-fast); }
.gs-breadcrumb a:hover { color: var(--c-orange); }
.gs-breadcrumb i { font-size: 11px; }

/* ── PACKAGE LIST ITEM ───────────────────────────────────── */
.gs-pkg-list-item {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    transition: all var(--dur-med) var(--ease);
}
.gs-pkg-list-item:hover {
    border-color: rgba(249,115,22,0.35);
    transform: translateY(-4px);
    box-shadow: 0 16px 50px rgba(0,0,0,0.6);
}
.gs-pkg-list-item__img {
    width: 200px;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--c-bg-4);
}
.gs-pkg-list-item__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 36px;
    background: linear-gradient(135deg, var(--c-bg-4), var(--c-bg-5));
}
.gs-pkg-list-item__body {
    flex: 1;
    padding: var(--space-lg) var(--space-xl);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-md);
    min-width: 0;
}
.gs-pkg-list-item__name {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    margin-bottom: var(--space-xs);
}
.gs-pkg-list-item__desc {
    font-size: 14px;
    color: var(--c-text-2);
    line-height: 1.65;
    font-weight: 300;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.gs-pkg-list-item__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    flex-wrap: wrap;
}
.gs-pkg-list-item__price-wrap { display: flex; align-items: center; gap: 10px; }
.gs-pkg-list-item__original {
    font-size: 13px;
    color: var(--c-text-3);
    text-decoration: line-through;
}
.gs-pkg-list-item__price {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    color: var(--c-orange);
    letter-spacing: -0.02em;
    line-height: 1;
}
.gs-pkg-list-item__actions { display: flex; gap: var(--space-sm); flex-shrink: 0; }

/* Sale badge (package cards) */
.gs-pkg-card__badge-sale {
    position: absolute;
    top: 14px; left: 14px;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 99px;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(249,115,22,0.4);
}

/* ── EMPTY STATE ─────────────────────────────────────────── */
.gs-empty-state {
    text-align: center;
    padding: var(--space-3xl) var(--space-2xl);
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-2xl);
}
.gs-empty-state__icon {
    font-size: 64px;
    color: var(--c-text-3);
    margin-bottom: var(--space-lg);
    line-height: 1;
}
.gs-empty-state__title {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.025em;
    margin-bottom: var(--space-sm);
}
.gs-empty-state__desc { font-size: 15px; color: var(--c-text-2); font-weight: 300; }

/* ── CHECKOUT HEADER ─────────────────────────────────────── */
.gs-checkout-page__header { margin-bottom: var(--space-xl); }
.gs-checkout-page__title {
    font-family: var(--font-display);
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.04em;
    line-height: 1;
    margin-bottom: 0;
}
.gs-checkout-page__body { display: flex; flex-direction: column; gap: var(--space-lg); }
.gs-basket-items { margin-bottom: var(--space-md); }
.gs-basket-item__img--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
    font-size: 24px;
}
.gs-basket-item__qty { font-size: 12px; color: var(--c-text-3); margin-top: 3px; }
.gs-basket-coupon {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--space-md);
    padding: 12px 16px;
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: var(--c-orange);
}
.gs-basket-coupon i { font-size: 16px; flex-shrink: 0; }
.gs-form-card__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px; height: 24px;
    background: var(--c-orange);
    color: #000;
    font-size: 11px;
    font-weight: 700;
    border-radius: 99px;
    padding: 0 6px;
    margin-left: auto;
}
.gs-form-card__title i { color: var(--c-orange); font-size: 20px; }

/* Form fields */
.gs-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: var(--space-md); }
.gs-field__label { font-size: 12px; font-weight: 600; font-family: var(--font-display); letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-text-3); }
.gs-field__input {
    width: 100%;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    font-size: 14px;
    color: var(--c-white);
    font-family: var(--font-body);
    outline: none;
    transition: border-color var(--dur-fast);
    appearance: none;
}
.gs-field__input:focus { border-color: var(--c-orange); }
.gs-field__input option { background: var(--c-bg-2); }

/* Trust list (checkout) */
.gs-trust-list { display: flex; flex-direction: column; gap: var(--space-md); }
.gs-trust-item { display: flex; align-items: flex-start; gap: 16px; }
.gs-trust-item__icon {
    width: 44px; height: 44px;
    border-radius: var(--radius-md);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange);
    font-size: 20px;
    flex-shrink: 0;
}
.gs-trust-item__name { font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--c-text); letter-spacing: -0.01em; margin-bottom: 4px; }
.gs-trust-item__desc { font-size: 13px; color: var(--c-text-2); line-height: 1.6; font-weight: 300; }

/* Options / form pages */
.gs-page-form-title {
    font-family: var(--font-display);
    font-size: clamp(30px, 4vw, 56px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.035em;
    line-height: 1.0;
    margin-bottom: var(--space-sm);
}
.gs-page-form-desc { font-size: 16px; color: var(--c-text-2); font-weight: 300; margin-bottom: var(--space-xl); }

/* Package detail — new classes */
.gs-pkg-detail__meta { margin-bottom: var(--space-sm); }
.gs-pkg-detail__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-orange);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    padding: 4px 12px;
    border-radius: 99px;
}
.gs-purchase-box__price-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: var(--space-sm);
}
.gs-purchase-box__price--sale { color: var(--c-orange); }
.gs-purchase-box__discount-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--c-orange-dim);
    color: var(--c-orange);
    border: 1px solid rgba(249,115,22,0.25);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 99px;
    margin-bottom: var(--space-lg);
}
.gs-purchase-box__features { display: flex; flex-direction: column; gap: 0; }

/* ── IDENTITY / USERNAME PAGE ────────────────────────────── */
.gs-id-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--nav-h) + var(--space-lg)) var(--space-lg) var(--space-lg);
    position: relative;
    overflow: hidden;
}
.gs-id-page__orb {
    position: absolute;
    top: -200px; left: 50%;
    transform: translateX(-50%);
    width: 700px; height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(249,115,22,0.10) 0%, transparent 65%);
    pointer-events: none;
}
.gs-id-card {
    position: relative;
    z-index: 1;
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    width: 100%;
    max-width: 460px;
    overflow: hidden;
}
.gs-id-card__accent {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-orange) 40%, var(--c-orange-2) 60%, transparent);
    opacity: 0.8;
}
.gs-id-card__header {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-xl) var(--space-xl) var(--space-lg);
    border-bottom: 1px solid var(--c-border);
}
.gs-id-card__icon {
    width: 52px; height: 52px;
    border-radius: var(--radius-lg);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--c-orange);
    flex-shrink: 0;
}
.gs-id-card__title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.gs-id-card__sub {
    font-size: 13px;
    color: var(--c-text-2);
    font-weight: 300;
    margin-top: 3px;
    line-height: 1.4;
}
.gs-id-connect-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: var(--space-lg) var(--space-xl);
    padding: 16px;
    background: var(--c-orange);
    color: #000;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    border-radius: var(--radius-md);
    transition: all var(--dur-fast) var(--ease);
}
.gs-id-connect-btn:hover {
    background: var(--c-orange-2);
    transform: translateY(-2px);
    box-shadow: 0 6px 32px var(--c-orange-glow);
}
.gs-id-connect-btn i { font-size: 20px; }
.gs-id-steps {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 var(--space-xl) var(--space-lg);
}
.gs-id-step {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: var(--c-text-2);
}
.gs-id-step__num {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
}
.gs-id-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: var(--space-lg) var(--space-xl) var(--space-md);
    padding: 12px 14px;
    background: rgba(234,179,8,0.06);
    border: 1px solid rgba(234,179,8,0.2);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: #ca8a04;
    line-height: 1.4;
}
.gs-id-alert i { font-size: 16px; flex-shrink: 0; }
.gs-id-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: 0 var(--space-xl) var(--space-lg);
}
.gs-id-form__input {
    width: 100%;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    color: var(--c-white);
    font-size: 15px;
    font-family: var(--font-body);
    padding: 14px 16px;
    outline: none;
    transition: border-color var(--dur-fast);
}
.gs-id-form__input:focus { border-color: var(--c-orange); }
.gs-id-form__input::placeholder { color: var(--c-text-3); }
.gs-id-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
    padding: var(--space-md) var(--space-xl);
    border-top: 1px solid var(--c-border);
    flex-wrap: wrap;
}
.gs-id-trust span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--c-text-3);
    font-weight: 500;
}
.gs-id-trust i { color: var(--c-orange); font-size: 13px; }

/* ── OPTIONS PAGE ────────────────────────────────────────── */
.gs-options-page {
    position: relative;
    padding-top: calc(var(--nav-h) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
    min-height: 100vh;
    overflow: hidden;
}
.gs-options-page__orb {
    position: absolute;
    top: -200px; right: -200px;
    width: 700px; height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(249,115,22,0.12) 0%, transparent 65%);
    pointer-events: none;
}
.gs-options-page__inner {
    max-width: 640px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
    position: relative;
    z-index: 1;
}
.gs-options-page__header {
    text-align: center;
    margin-bottom: var(--space-xl);
}
.gs-options-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-orange);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    border-radius: 99px;
    padding: 7px 16px;
    margin-bottom: var(--space-lg);
}
.gs-options-page__title {
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin-bottom: var(--space-sm);
}
.gs-options-page__sub {
    font-size: 15px;
    color: var(--c-text-2);
    font-weight: 300;
}

/* Options card */
.gs-options-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    margin-bottom: var(--space-xl);
    position: relative;
}
.gs-options-card__accent {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-orange) 40%, var(--c-orange-2) 60%, transparent);
    opacity: 0.8;
}
.gs-options-form {
    padding: var(--space-xl) var(--space-2xl);
}

/* Option fields */
.gs-ofield {
    margin-bottom: var(--space-lg);
}
.gs-ofield__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-text-3);
    margin-bottom: 10px;
}
.gs-ofield__label i { font-size: 14px; color: var(--c-orange); }
.gs-ofield__label-hint {
    margin-left: auto;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--c-text-3);
}
.gs-ofield__input {
    width: 100%;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    color: var(--c-white);
    font-size: 15px;
    font-family: var(--font-body);
    padding: 14px 16px;
    outline: none;
    transition: border-color var(--dur-fast);
    appearance: none;
    -webkit-appearance: none;
}
.gs-ofield__input:focus { border-color: var(--c-orange); }
.gs-ofield__input option { background: var(--c-bg-2); }

/* Discord block */
.gs-discord-block {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: var(--space-md) var(--space-lg);
    margin-bottom: var(--space-lg);
    transition: border-color var(--dur-fast);
}
.gs-discord-block--verified {
    border-color: rgba(88,101,242,0.35);
    background: rgba(88,101,242,0.06);
}
.gs-discord-block__icon {
    width: 48px; height: 48px;
    border-radius: var(--radius-md);
    background: rgba(88,101,242,0.15);
    border: 1px solid rgba(88,101,242,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #5865f2;
    flex-shrink: 0;
}
.gs-discord-block__body { flex: 1; min-width: 0; }
.gs-discord-block__label {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: var(--c-text);
    margin-bottom: 4px;
}
.gs-discord-block__status {
    font-size: 13px;
    color: var(--c-text-2);
    display: flex;
    align-items: center;
    gap: 8px;
}
.gs-discord-block__status--pending { color: var(--c-text-3); }
.gs-discord-block__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: #57f287;
    box-shadow: 0 0 8px #57f287;
    flex-shrink: 0;
}
.gs-discord-block__btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    color: #5865f2;
    background: rgba(88,101,242,0.12);
    border: 1px solid rgba(88,101,242,0.3);
    border-radius: var(--radius-md);
    padding: 9px 16px;
    transition: all var(--dur-fast);
    flex-shrink: 0;
    white-space: nowrap;
}
.gs-discord-block__btn:hover {
    background: rgba(88,101,242,0.22);
    border-color: rgba(88,101,242,0.5);
}

/* Options form actions */
.gs-options-actions {
    display: flex;
    gap: var(--space-sm);
    margin-top: var(--space-xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--c-border);
}
.gs-options-actions__submit {
    flex: 2;
    justify-content: center;
    border: none;
    cursor: pointer;
    font-family: var(--font-display);
}
.gs-options-actions .gs-btn--ghost { flex: 1; justify-content: center; }

/* Options trust strip */
.gs-options-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
    flex-wrap: wrap;
}
.gs-options-trust__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--c-text-3);
    font-weight: 500;
}
.gs-options-trust__item i { color: var(--c-orange); font-size: 15px; }
.gs-options-trust__sep { width: 3px; height: 3px; border-radius: 50%; background: var(--c-text-3); opacity: 0.4; }

/* ── BASKET / CHECKOUT PAGE ──────────────────────────────── */
.gs-basket-page {
    padding-top: calc(var(--nav-h) + var(--space-2xl));
    padding-bottom: var(--space-3xl);
    min-height: 100vh;
}
.gs-basket-page__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
}
.gs-basket-page__header {
    margin-bottom: var(--space-2xl);
}
.gs-basket-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-orange);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.2);
    border-radius: 99px;
    padding: 7px 16px;
    margin-bottom: var(--space-md);
}
.gs-basket-page__title {
    font-family: var(--font-display);
    font-size: clamp(40px, 6vw, 72px);
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.04em;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: var(--space-md);
}
.gs-basket-page__count {
    font-size: 20px;
    font-weight: 700;
    background: var(--c-orange);
    color: #000;
    border-radius: 99px;
    padding: 4px 14px;
    letter-spacing: 0;
    align-self: flex-end;
    margin-bottom: 8px;
}

/* Two-column layout */
.gs-basket-grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: var(--space-xl);
    align-items: start;
}
.gs-basket-main {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

/* Basket card */
.gs-basket-card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}
.gs-basket-card--coupon { }
.gs-basket-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--c-text-3);
    padding: var(--space-lg) var(--space-xl);
    border-bottom: 1px solid var(--c-border);
}
.gs-basket-card__header i { color: var(--c-orange); font-size: 16px; }

/* Basket items */
.gs-basket-items-list { padding: var(--space-sm) 0; }
.gs-bitem {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-xl);
    border-bottom: 1px solid var(--c-border);
    transition: background var(--dur-fast);
}
.gs-bitem:last-child { border-bottom: none; }
.gs-bitem:hover { background: rgba(255,255,255,0.02); }
.gs-bitem__img {
    width: 72px; height: 72px;
    border-radius: var(--radius-md);
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--c-border);
}
.gs-bitem__img--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-bg-5);
    color: var(--c-text-3);
    font-size: 26px;
}
.gs-bitem__info { flex: 1; min-width: 0; }
.gs-bitem__name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    color: var(--c-text);
    letter-spacing: -0.01em;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-bitem__qty {
    font-size: 12px;
    color: var(--c-text-3);
    margin-bottom: 6px;
}
.gs-bitem__remove {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--c-text-3);
    transition: color var(--dur-fast);
}
.gs-bitem__remove:hover { color: #ef4444; }
.gs-bitem__remove i { font-size: 13px; }
.gs-bitem__price {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--c-orange);
    flex-shrink: 0;
}

/* Coupon applied */
.gs-basket-coupon-applied {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: var(--space-md) var(--space-xl);
    padding: var(--space-sm) var(--space-md);
    background: rgba(249,115,22,0.06);
    border: 1px solid rgba(249,115,22,0.2);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: var(--c-text-2);
}
.gs-basket-coupon-applied i { color: var(--c-orange); font-size: 16px; }
.gs-basket-coupon-applied strong { color: var(--c-orange); }

/* Coupon form */
.gs-coupon-row {
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-lg) var(--space-xl);
}
.gs-coupon-row__input {
    flex: 1;
    background: var(--c-bg-4);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    color: var(--c-white);
    font-size: 14px;
    font-family: var(--font-body);
    padding: 11px 16px;
    outline: none;
    transition: border-color var(--dur-fast);
}
.gs-coupon-row__input:focus { border-color: var(--c-orange); }
.gs-coupon-row__input::placeholder { color: var(--c-text-3); }

/* Trust in basket */
.gs-basket-trust {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    overflow: hidden;
}
.gs-basket-trust__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: var(--space-xl);
    border-bottom: 1px solid var(--c-border);
    border-right: 1px solid var(--c-border);
}
.gs-basket-trust__item:nth-child(2n) { border-right: none; }
.gs-basket-trust__item:nth-child(3),
.gs-basket-trust__item:nth-child(4) { border-bottom: none; }
.gs-basket-trust__icon {
    width: 40px; height: 40px;
    border-radius: var(--radius-md);
    background: var(--c-orange-dim);
    border: 1px solid rgba(249,115,22,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-orange);
    font-size: 18px;
    flex-shrink: 0;
}
.gs-basket-trust__name { font-family: var(--font-display); font-size: 13px; font-weight: 600; color: var(--c-text); margin-bottom: 3px; }
.gs-basket-trust__desc { font-size: 12px; color: var(--c-text-3); line-height: 1.5; }

/* Summary sidebar */
.gs-basket-summary { position: sticky; top: calc(var(--nav-h) + 24px); }
.gs-basket-summary__card {
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    padding: var(--space-xl);
}
.gs-basket-summary__accent {
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--c-orange) 40%, var(--c-orange-2) 60%, transparent);
    margin: calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-xl);
    opacity: 0.8;
}
.gs-basket-summary__title {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    margin-bottom: var(--space-lg);
}
.gs-basket-summary__lines {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: var(--space-lg);
}
.gs-basket-summary__line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-sm);
    font-size: 13px;
}
.gs-basket-summary__line-name {
    color: var(--c-text-2);
    flex: 1;
    min-width: 0;
    line-height: 1.4;
}
.gs-basket-summary__line-price { color: var(--c-text); font-weight: 600; font-family: var(--font-display); flex-shrink: 0; }
.gs-basket-summary__divider { height: 1px; background: var(--c-border-2); margin-bottom: var(--space-lg); }
.gs-basket-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-xl);
}
.gs-basket-summary__total span:first-child {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text-2);
}
.gs-basket-summary__total-amount {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.03em;
}
.gs-basket-summary__cta { font-family: var(--font-display); }
.gs-basket-summary__secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 12px;
    color: var(--c-text-3);
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--c-border);
}
.gs-basket-summary__secure i { color: var(--c-orange); font-size: 14px; }

/* Empty basket */
.gs-basket-empty {
    text-align: center;
    padding: var(--space-3xl) var(--space-2xl);
    max-width: 480px;
    margin: 0 auto;
}
.gs-basket-empty__icon {
    width: 96px; height: 96px;
    border-radius: var(--radius-2xl);
    background: var(--c-bg-3);
    border: 1px solid var(--c-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: var(--c-text-3);
    margin: 0 auto var(--space-xl);
}
.gs-basket-empty__title {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--c-white);
    letter-spacing: -0.02em;
    margin-bottom: var(--space-sm);
}
.gs-basket-empty__desc { font-size: 15px; color: var(--c-text-2); font-weight: 300; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1100px) {
    .gs-hero--banner .gs-hero__inner { grid-template-columns: 1fr 360px; }
    .gs-why-grid { grid-template-columns: 1fr; }
    .gs-why-visual { min-height: 380px; }
    .gs-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
    .gs-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
    .gs-packages__grid--3 { grid-template-columns: repeat(2, 1fr); }
    .gm-featured-layout { grid-template-columns: 360px 1fr; }
    .gm-cgoal-layout { grid-template-columns: 280px 1fr; }
}
@media (max-width: 900px) {
    .gs-nav__links, .gs-nav__cta { display: none; }
    .gs-nav__hamburger { display: flex; }
    .gs-nav__drawer { display: flex; }
    .gs-hero--banner .gs-hero__inner { grid-template-columns: 1fr; }
    .gs-hero__visual { display: none; }
    .gs-pkg-detail__grid { grid-template-columns: 1fr; }
    .gs-pkg-detail__main { grid-template-columns: 1fr; }
    .gs-pkg-trust { grid-template-columns: repeat(2, 1fr); }
    .gs-pkg-grid { grid-template-columns: repeat(2, 1fr); }
    .gs-purchase-box { position: static; }
    .gs-testimonials__grid { grid-template-columns: 1fr; }
    .gs-footer__grid { grid-template-columns: 1fr 1fr; }
    .gs-cta-banner { padding: var(--space-2xl) var(--space-lg); }
    .gm-goal-layout { grid-template-columns: 1fr; }
    .gm-server-layout { grid-template-columns: 1fr; }
    .gm-featured-layout { grid-template-columns: 1fr; }
    .gm-cgoal-layout { grid-template-columns: 1fr; }
    .gm-giftcard-layout { grid-template-columns: 1fr; }
    .gm-payments-layout { grid-template-columns: 1fr; }
    .gs-cats-row--halves { grid-template-columns: 1fr; }
    .gs-cat-card--large { min-height: 260px; }
}
@media (max-width: 900px) {
    .gs-basket-grid { grid-template-columns: 1fr; }
    .gs-basket-summary { position: static; }
    .gs-discord-block { flex-wrap: wrap; }
    .gs-discord-block__btn { width: 100%; justify-content: center; }
}
@media (max-width: 640px) {
    .gs-packages__grid, .gs-packages__grid--3 { grid-template-columns: 1fr; }
    .gs-footer__grid { grid-template-columns: 1fr; }
    .gs-footer__bottom { flex-direction: column; text-align: center; }
    .gs-cats__inner { flex-direction: column; }
    .gs-cat-chip { flex: none; }
    .gs-hero__stats { flex-wrap: wrap; gap: var(--space-lg); }
    .gs-hero__actions { flex-direction: column; }
    .gs-hero__actions .gs-btn { width: 100%; justify-content: center; }
    .gs-hero__title-row { font-size: clamp(58px, 15vw, 80px); }
    .gs-pkg-list-item { flex-direction: column; }
    .gs-pkg-list-item__img { width: 100%; height: 180px; }
    .gs-pkg-list-item__footer { flex-direction: column; align-items: flex-start; }
    .gs-pkg-list-item__actions { width: 100%; }
    .gs-pkg-list-item__actions .gs-btn { flex: 1; justify-content: center; }
    .gs-page-hero__title { font-size: clamp(36px, 12vw, 64px); }
    .gs-hero--banner .gs-hero__inner { padding: var(--space-lg); }
    .gs-hero--banner { max-height: none; min-height: 480px; }
    .gm-server-layout__right { grid-template-columns: 1fr 1fr; }
    .gm-payments-grid { grid-template-columns: 1fr; }
    .gs-options-form { padding: var(--space-lg); }
    .gs-basket-trust { grid-template-columns: 1fr; }
    .gs-basket-trust__item:nth-child(2n) { border-right: 1px solid var(--c-border); }
    .gs-basket-trust__item:nth-child(odd) { border-right: none; }
    .gs-basket-trust__item:nth-child(3) { border-bottom: 1px solid var(--c-border); }
    .gs-basket-trust__item:last-child { border-bottom: none; }
    .gs-options-actions { flex-direction: column-reverse; }
    .gs-options-actions__submit, .gs-options-actions .gs-btn--ghost { flex: none; width: 100%; }
    .gs-basket-page__title { font-size: clamp(32px, 8vw, 48px); }
}
