:root {
    --cg-bg: #211d28;
    --cg-bg-soft: #2a2233;
    --cg-panel: #2b2435;
    --cg-panel-border: #b023ff;
    --cg-text: #f5edf7;
    --cg-muted: #c7bcce;
    --cg-accent: #ff6a00;
    --cg-accent-pink: #d11cff;
    --cg-accent-green: #5dff2e;
    --cg-line: rgba(255, 255, 255, 0.28);
    --cg-radius: 18px;
    --cg-container: 1404px;
    --cg-header-width: 1400px;
    --cg-hero-copy-width: 692px;
    --cg-partner-line-width: 551px;
    --cg-brand-box-width: 411px;
    --cg-brand-box-height: 75px;
    --cg-footer-box-height: 408px;
    --cg-shell-sticky-top: 6px;
    --cg-font: "Poppins", "Segoe UI", Helvetica, Arial, sans-serif;
    --cg-scrollbar-track: rgba(28, 22, 35, 0.38);
    --cg-scrollbar-thumb: rgba(116, 83, 147, 0.82);
    --cg-scrollbar-thumb-strong: rgba(161, 72, 189, 0.9);
    --cg-scrollbar-thumb-edge: rgba(34, 25, 42, 0.9);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--cg-scrollbar-thumb) var(--cg-scrollbar-track);
}

html::-webkit-scrollbar,
.cg-home-notebook__viewport::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

html::-webkit-scrollbar-track,
.cg-home-notebook__viewport::-webkit-scrollbar-track {
    background: linear-gradient(180deg, rgba(22, 17, 29, 0.24) 0%, var(--cg-scrollbar-track) 100%);
    border-radius: 999px;
}

html::-webkit-scrollbar-thumb,
.cg-home-notebook__viewport::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--cg-scrollbar-thumb-strong) 0%, var(--cg-scrollbar-thumb) 100%);
    border-radius: 999px;
    border: 1px solid var(--cg-scrollbar-thumb-edge);
}

html::-webkit-scrollbar-button,
html::-webkit-scrollbar-corner,
.cg-home-notebook__viewport::-webkit-scrollbar-button,
.cg-home-notebook__viewport::-webkit-scrollbar-corner {
    display: none;
    width: 0;
    height: 0;
}

body {
    margin: 0;
    background: radial-gradient(circle at top right, rgba(209, 28, 255, 0.12), transparent 28%), linear-gradient(180deg, #2a1331 0%, var(--cg-bg) 22%, var(--cg-bg) 100%);
    color: var(--cg-text);
    font-family: var(--cg-font);
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

p {
    margin: 0;
    line-height: 1.55;
    overflow-wrap: break-word;
}

h1,
h2,
h3 {
    margin: 0;
    line-height: 1.08;
    font-weight: 700;
    overflow-wrap: break-word;
}

.container {
    width: min(calc(100% - 48px), var(--cg-container));
    margin: 0 auto;
}

.cg-site-shell {
    min-height: 100vh;
}

.cg-home-notebook {
    position: relative;
    width: min(calc(100% - 16px), 1600px);
    margin: 12px auto 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 40px);
}

.cg-home-notebook::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 40;
    display: block;
    width: 196px;
    height: 24px;
    margin: 0;
    transform: translateX(-50%);
    border-radius: 0 0 16px 16px;
    background: linear-gradient(180deg, #06070a 0%, #111318 68%, #1b1f27 100%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.42), inset 0 -1px 0 rgba(255, 255, 255, 0.1);
}

.cg-home-notebook__screen {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    border: 3px solid rgba(255, 255, 255, 0.54);
    border-radius: 34px 34px 20px 20px;
    background: linear-gradient(180deg, rgba(52, 38, 63, 0.98) 0%, rgba(44, 33, 55, 0.98) 100%);
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.58), inset 0 0 0 1px rgba(255, 255, 255, 0.14);
    overflow: hidden;
}

.cg-home-notebook__viewport {
    height: 100%;
    min-height: 0;
    padding: 22px 64px 56px;
    overflow-y: auto;
    overflow-x: hidden;
}

.cg-home-notebook__viewport:focus-visible {
    outline: 2px solid rgba(255, 106, 0, 0.72);
    outline-offset: -8px;
}

.cg-home-notebook__screen::before {
    content: none;
}

.cg-home-notebook__base {
    width: calc(100% + 96px);
    flex: 0 0 auto;
    height: 38px;
    margin: -1px 0 0 -48px;
    border-radius: 0 0 24px 24px;
    background: radial-gradient(ellipse at center, rgba(73, 78, 88, 0.5) 0%, rgba(73, 78, 88, 0.18) 34%, rgba(73, 78, 88, 0) 78%) center 8px / 280px 14px no-repeat, linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(194, 197, 204, 0.55) 100%) center 5px / 188px 4px no-repeat, linear-gradient(180deg, #e6e7eb 0%, #a8abb2 100%) left 20px bottom 2px / 122px 9px no-repeat, linear-gradient(180deg, #e6e7eb 0%, #a8abb2 100%) right 20px bottom 2px / 122px 9px no-repeat, linear-gradient(180deg, #f3f3f5 0%, #c6c7cb 44%, #9ea0a8 100%);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 -2px 4px rgba(92, 95, 103, 0.22);
}

.site-header {
    position: sticky;
    top: var(--cg-shell-sticky-top);
    z-index: 35;
    padding: 0 0 12px;
}

.site-header .container {
    width: min(calc(100% - 48px), var(--cg-header-width));
}

.cg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: auto;
    padding: 7px 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(43, 31, 55, 0.9) 0%, rgba(35, 26, 45, 0.84) 100%);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(18px);
}

.site-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.cg-logo {
    display: inline-flex;
    align-items: center;
}

@keyframes cg-logo-ginga {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
        filter: drop-shadow(0 0 0 rgba(176, 35, 255, 0));
    }
    22% {
        transform: translate3d(1px, -2px, 0) rotate(-1.4deg) scale(1.012);
    }
    48% {
        transform: translate3d(-1px, 1px, 0) rotate(1.2deg) scale(1.018);
        filter: drop-shadow(0 0 12px rgba(176, 35, 255, 0.16));
    }
    74% {
        transform: translate3d(1px, 0, 0) rotate(-0.7deg) scale(1.008);
    }
}

.cg-logo__image {
    display: block;
    width: 138px;
    max-width: min(138px, 26vw);
    max-height: 138px;
    height: auto;
    object-fit: contain;
    transform-origin: 50% 58%;
    animation: cg-logo-ginga 5.4s cubic-bezier(0.42, 0, 0.22, 1) infinite;
    will-change: transform, filter;
    transition: filter 0.28s ease;
}

.site-logo:hover .cg-logo__image,
.site-logo:focus-visible .cg-logo__image {
    animation-duration: 2.8s;
    filter: drop-shadow(0 0 16px rgba(176, 35, 255, 0.22));
}

.cg-logo__fallback {
    color: var(--cg-accent);
    font-size: 38px;
    font-weight: 800;
}

.primary-nav__mobile-overlay {
    display: none;
}

.primary-nav__toggle {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(35, 26, 45, 0.72);
    color: var(--cg-text);
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.primary-nav__toggle-line {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 0.22s ease, opacity 0.22s ease;
}

.primary-nav__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 0;
    gap: clamp(12px, 1.5vw, 22px);
    list-style: none;
    padding: 0;
    margin: 0;
}

.primary-nav__list>li {
    list-style: none;
}

.primary-nav__list>li>a,
.primary-nav__mobile-list>li>a,
.primary-nav__item a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.15;
    transition: color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, filter 0.22s ease;
}

.primary-nav__list>li>a:hover,
.primary-nav__list>li>a:active,
.primary-nav__mobile-list>li>a:hover,
.primary-nav__mobile-list>li>a:active,
.primary-nav__item a:hover,
.primary-nav__item a:active,
.primary-nav__list>li.current-menu-item>a,
.primary-nav__list>li.current_page_item>a,
.primary-nav__list>li.current-menu-ancestor>a,
.primary-nav__list>li.current-page-ancestor>a,
.primary-nav__mobile-list>li.current-menu-item>a:active,
.primary-nav__mobile-list>li.current_page_item>a:active,
.primary-nav__mobile-list>li.current-menu-ancestor>a:active,
.primary-nav__mobile-list>li.current-page-ancestor>a:active {
    color: var(--cg-accent-pink);
}

@media (hover: hover) and (pointer: fine) {
    .primary-nav__list>li>a:hover,
    .primary-nav__list>li>a:focus-visible,
    .primary-nav__mobile-list>li>a:hover,
    .primary-nav__mobile-list>li>a:focus-visible,
    .primary-nav__item a:hover,
    .primary-nav__item a:focus-visible,
    .primary-nav__list>li.current-menu-item>a,
    .primary-nav__list>li.current_page_item>a,
    .primary-nav__list>li.current-menu-ancestor>a,
    .primary-nav__list>li.current-page-ancestor>a,
    .primary-nav__mobile-list>li.current-menu-item>a:hover,
    .primary-nav__mobile-list>li.current-menu-item>a:focus-visible,
    .primary-nav__mobile-list>li.current_page_item>a:hover,
    .primary-nav__mobile-list>li.current_page_item>a:focus-visible,
    .primary-nav__mobile-list>li.current-menu-ancestor>a:hover,
    .primary-nav__mobile-list>li.current-menu-ancestor>a:focus-visible,
    .primary-nav__mobile-list>li.current-page-ancestor>a:hover,
    .primary-nav__mobile-list>li.current-page-ancestor>a:focus-visible {
        background: rgba(98, 60, 129, 0.4);
        box-shadow: 0 12px 22px rgba(8, 4, 18, 0.22), 0 0 18px rgba(176, 35, 255, 0.2);
        filter: brightness(1.05);
        transform: translateY(-1px);
    }
}

.cg-hero {
    padding: 18px 0 54px;
}

.cg-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 692px) minmax(320px, 738px);
    gap: 42px;
    align-items: center;
    justify-content: space-between;
}

.cg-hero__content {
    max-width: var(--cg-hero-copy-width);
}

.cg-hero__content h1 {
    max-width: var(--cg-hero-copy-width);
    font-size: clamp(42px, 4.5vw, 62px);
    line-height: clamp(50px, 5vw, 72px);
    margin-bottom: 24px;
    letter-spacing: 0;
}

.cg-hero__content h1 span,
.cg-about-intro__content h1 span,
.cg-page-intro__kicker span {
    color: var(--cg-accent);
}

.cg-hero__content p {
    font-size: 21px;
    color: var(--cg-muted);
    margin-bottom: 28px;
}

.cg-hero__visuals {
    display: grid;
    grid-template-columns: minmax(110px, 186px) minmax(280px, 520px);
    gap: 26px;
    align-items: end;
    justify-content: end;
    width: 100%;
    max-width: 738px;
    margin-left: auto;
}

@keyframes cg-hero-trident-float {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(-1deg);
    }
    50% {
        transform: translate3d(0, -8px, 0) rotate(-3deg);
    }
}

@keyframes cg-hero-dancer-float {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(0.6deg);
    }
    50% {
        transform: translate3d(0, -10px, 0) rotate(2.3deg);
    }
}

.cg-hero__box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.cg-hero__box--dancer {
    width: 100%;
    aspect-ratio: 667 / 754;
    transform: translateY(14px);
}

.cg-hero__box--trident {
    width: 100%;
    aspect-ratio: 185.754 / 451.703;
    transform: translate(8px, -10px);
}

.cg-hero__box-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.56s cubic-bezier(0.22, 1, 0.36, 1), filter 0.56s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.56s ease;
    will-change: transform, filter;
}

.cg-hero__box--trident .cg-hero__box-image {
    object-position: center bottom;
    transform-origin: center bottom;
    animation: cg-hero-trident-float 6.2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.cg-hero__box--dancer .cg-hero__box-image {
    object-position: center center;
    transform-origin: center bottom;
    animation: cg-hero-dancer-float 7s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.cg-hero__box--trident:hover .cg-hero__box-image,
.cg-hero__box--trident:active .cg-hero__box-image {
    transform: translate3d(4px, -12px, 0) rotate(-4deg) scale(1.04);
    filter: drop-shadow(0 0 18px rgba(176, 35, 255, 0.2));
}

.cg-hero__box--dancer:hover .cg-hero__box-image,
.cg-hero__box--dancer:active .cg-hero__box-image {
    transform: translate3d(-6px, -14px, 0) rotate(3.8deg) scale(1.045);
    filter: drop-shadow(0 0 20px rgba(176, 35, 255, 0.22));
}

@keyframes cg-text-curtain-in {
    0% {
        opacity: 0;
        transform: translate3d(-6px, 16px, 0) rotate(-0.7deg);
        clip-path: inset(0 0 100%);
        filter: blur(4.6px);
    }
    46% {
        opacity: 0.94;
        transform: translate3d(4px, 3px, 0) rotate(0.38deg);
        clip-path: inset(0 0 34%);
        filter: blur(1.6px);
    }
    74% {
        opacity: 1;
        transform: translate3d(-1.5px, 0, 0) rotate(-0.14deg);
        clip-path: inset(0 0 8%);
        filter: blur(0.35px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-emphasis {
    0% {
        opacity: 0;
        transform: translate3d(-9px, 20px, 0) rotate(-1deg);
        clip-path: inset(0 0 100%);
        filter: blur(5px);
    }
    44% {
        opacity: 0.92;
        transform: translate3d(6px, 4px, 0) rotate(0.52deg);
        clip-path: inset(0 0 30%);
        filter: blur(1.9px);
    }
    74% {
        opacity: 1;
        transform: translate3d(-2px, 0, 0) rotate(-0.2deg);
        clip-path: inset(0 0 7%);
        filter: blur(0.4px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-emphasis-alt {
    0% {
        opacity: 0;
        transform: translate3d(8px, 18px, 0) rotate(0.82deg);
        clip-path: inset(0 0 100%);
        filter: blur(5px);
    }
    44% {
        opacity: 0.92;
        transform: translate3d(-5px, 4px, 0) rotate(-0.36deg);
        clip-path: inset(0 0 30%);
        filter: blur(1.9px);
    }
    74% {
        opacity: 1;
        transform: translate3d(1.6px, 0, 0) rotate(0.14deg);
        clip-path: inset(0 0 7%);
        filter: blur(0.4px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-copy {
    0% {
        opacity: 0;
        transform: translate3d(-12px, 5px, 0) rotate(-0.08deg);
        clip-path: inset(0 0 100%);
        filter: blur(1.85px);
    }
    58% {
        opacity: 0.96;
        transform: translate3d(2.1px, 0.8px, 0) rotate(0.02deg);
        clip-path: inset(0 0 44%);
        filter: blur(0.5px);
    }
    82% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0 0 9%);
        filter: blur(0.1px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-copy-alt {
    0% {
        opacity: 0;
        transform: translate3d(12px, 5px, 0) rotate(0.08deg);
        clip-path: inset(0 0 100%);
        filter: blur(1.85px);
    }
    58% {
        opacity: 0.96;
        transform: translate3d(-2.1px, 0.8px, 0) rotate(-0.02deg);
        clip-path: inset(0 0 44%);
        filter: blur(0.5px);
    }
    82% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0 0 9%);
        filter: blur(0.1px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-label {
    0% {
        opacity: 0;
        transform: translate3d(-8px, 4px, 0) rotate(-0.08deg);
        clip-path: inset(0 0 100%);
        filter: blur(1.6px);
    }
    56% {
        opacity: 0.96;
        transform: translate3d(1.4px, 0.45px, 0) rotate(0.01deg);
        clip-path: inset(0 0 40%);
        filter: blur(0.44px);
    }
    82% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0 0 8%);
        filter: blur(0.1px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-label-alt {
    0% {
        opacity: 0;
        transform: translate3d(8px, 4px, 0) rotate(0.08deg);
        clip-path: inset(0 0 100%);
        filter: blur(1.6px);
    }
    56% {
        opacity: 0.96;
        transform: translate3d(-1.4px, 0.45px, 0) rotate(-0.01deg);
        clip-path: inset(0 0 40%);
        filter: blur(0.44px);
    }
    82% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0 0 8%);
        filter: blur(0.1px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

@keyframes cg-text-curtain-in-action {
    0% {
        opacity: 0;
        transform: translate3d(0, 11px, 0) scale(0.988) rotate(-0.18deg);
        clip-path: inset(0 0 100%);
        filter: blur(2.6px);
    }
    54% {
        opacity: 0.97;
        transform: translate3d(0, 1.6px, 0) scale(1.002) rotate(0.08deg);
        clip-path: inset(0 0 34%);
        filter: blur(0.78px);
    }
    80% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(0.999) rotate(-0.03deg);
        clip-path: inset(0 0 7%);
        filter: blur(0.16px);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
        clip-path: inset(0);
        filter: blur(0);
    }
}

.js body:not(.cg-page-ready) :is(.cg-hero__content > *, .cg-announcement__bar > *, .cg-feature-card > *, .cg-page-intro > *, .cg-about-intro__content > *, .cg-generic-page > *, .cg-section-heading > *, .cg-signup-card > *, .cg-panel__media, .cg-panel__body > *, .cg-team-card > *, .cg-news-card__body > *) {
    opacity: 0;
    transform: translate3d(-6px, 16px, 0) rotate(-0.7deg);
    clip-path: inset(0 0 100%);
    filter: blur(4.6px);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(h1, h2, h3, h4, h5, h6) {
    transform: translate3d(-9px, 20px, 0) rotate(-1deg);
    filter: blur(5px);
}

.js body:not(.cg-page-ready) :is(.cg-feature-card, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body, .cg-section-heading)> :is(h1, h2, h3, h4, h5, h6) {
    transform: translate3d(8px, 18px, 0) rotate(0.82deg);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)>p {
    transform: translate3d(-12px, 5px, 0) rotate(-0.08deg);
    filter: blur(1.85px);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)>p:nth-child(2n) {
    transform: translate3d(12px, 5px, 0) rotate(0.08deg);
    filter: blur(1.85px);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(span, small) {
    transform: translate3d(-8px, 4px, 0) rotate(-0.08deg);
    filter: blur(1.6px);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(span, small):nth-child(2n) {
    transform: translate3d(8px, 4px, 0) rotate(0.08deg);
    filter: blur(1.6px);
}

.js body:not(.cg-page-ready) :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(a, button) {
    transform: translate3d(0, 11px, 0) scale(0.988) rotate(-0.18deg);
    filter: blur(2.6px);
}

.js body.cg-page-ready :is(.cg-hero__content > *, .cg-announcement__bar > *, .cg-feature-card > *, .cg-page-intro > *, .cg-about-intro__content > *, .cg-generic-page > *, .cg-section-heading > *, .cg-signup-card > *, .cg-panel__media, .cg-panel__body > *, .cg-team-card > *, .cg-news-card__body > *) {
    animation-duration: 1.42s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(h1, h2, h3, h4, h5, h6) {
    animation-duration: 1.48s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-emphasis;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-feature-card, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body, .cg-section-heading)> :is(h1, h2, h3, h4, h5, h6) {
    animation-duration: 1.48s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-emphasis-alt;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)>p {
    animation-duration: 1.56s;
    animation-timing-function: cubic-bezier(0.18, 1, 0.32, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-copy;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)>p:nth-child(2n) {
    animation-duration: 1.56s;
    animation-timing-function: cubic-bezier(0.18, 1, 0.32, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-copy-alt;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(span, small) {
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.18, 1, 0.32, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-label;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(span, small):nth-child(2n) {
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.18, 1, 0.32, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-label-alt;
    animation-delay: var(--cg-enter-delay, 0s);
}

.js body.cg-page-ready :is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel__body, .cg-team-card, .cg-news-card__body)> :is(a, button) {
    animation-duration: 1.4s;
    animation-timing-function: cubic-bezier(0.18, 1, 0.32, 1);
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-name: cg-text-curtain-in-action;
    animation-delay: var(--cg-enter-delay, 0s);
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(1) {
    --cg-enter-delay: 0.14s;
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(2) {
    --cg-enter-delay: 0.28s;
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(3) {
    --cg-enter-delay: 0.42s;
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(4) {
    --cg-enter-delay: 0.56s;
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(5) {
    --cg-enter-delay: 0.7s;
}

:is(.cg-hero__content, .cg-announcement__bar, .cg-feature-card, .cg-page-intro, .cg-about-intro__content, .cg-generic-page, .cg-section-heading, .cg-signup-card, .cg-panel, .cg-team-card, .cg-news-card__body)> :nth-child(6) {
    --cg-enter-delay: 0.84s;
}

@media (prefers-reduced-motion: reduce) {
    .js body:not(.cg-page-ready) :is(.cg-hero__content > *, .cg-announcement__bar > *, .cg-feature-card > *, .cg-page-intro > *, .cg-about-intro__content > *, .cg-generic-page > *, .cg-section-heading > *, .cg-signup-card > *, .cg-panel__media, .cg-panel__body > *, .cg-team-card > *, .cg-news-card__body > *) {
        opacity: 1;
        transform: none;
        clip-path: none;
        filter: none;
    }
    .js body.cg-page-ready :is(.cg-hero__content > *, .cg-announcement__bar > *, .cg-feature-card > *, .cg-page-intro > *, .cg-about-intro__content > *, .cg-generic-page > *, .cg-section-heading > *, .cg-signup-card > *, .cg-panel__media, .cg-panel__body > *, .cg-team-card > *, .cg-news-card__body > *) {
        animation: none;
    }
    .cg-logo__image {
        animation: none;
        transform: none;
        filter: none;
    }
}

.cg-uploaded-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: transparent;
}

.cg-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(90deg, #8b2eff 0%, #ff2ddb 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    box-shadow: 0 12px 24px rgba(96, 20, 150, 0.2);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease, border-color 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.cg-button--ghost,
.cg-button--secondary {
    background: transparent;
    border: 1px solid var(--cg-panel-border);
    box-shadow: 0 10px 20px rgba(8, 4, 18, 0.12);
}

@media (hover: hover) and (pointer: fine) {
    .cg-button:hover,
    .cg-button:focus-visible {
        transform: translateY(-2px);
        box-shadow: 0 16px 28px rgba(96, 20, 150, 0.28), 0 0 22px rgba(176, 35, 255, 0.22);
        filter: brightness(1.08) saturate(1.04);
        color: #fff;
    }
    .cg-button--ghost:hover,
    .cg-button--ghost:focus-visible,
    .cg-button--secondary:hover,
    .cg-button--secondary:focus-visible {
        border-color: rgba(210, 133, 255, 0.98);
        background: rgba(78, 52, 108, 0.42);
        box-shadow: 0 16px 28px rgba(8, 4, 18, 0.26), 0 0 20px rgba(176, 35, 255, 0.22);
        filter: brightness(1.06);
        color: #fff;
    }
}

.cg-announcement {
    padding-bottom: 36px;
}

.cg-announcement__bar {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 34px;
    align-items: center;
    justify-content: space-between;
    padding: 26px 22px;
    border: 1px solid var(--cg-panel-border);
    border-radius: 8px;
    background: #2a2434;
    color: var(--cg-accent-green);
    font-size: 18px;
    font-weight: 500;
    box-shadow: 0 12px 24px rgba(8, 4, 18, 0.12);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease, filter 0.28s ease;
}

.cg-announcement__bar>span {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 28px;
    transition: transform 0.28s ease, color 0.28s ease, text-shadow 0.28s ease;
}

.cg-announcement__bar>span::before {
    content: "";
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: linear-gradient(135deg, rgba(255, 106, 0, 0.98) 0%, rgba(255, 106, 0, 0.28) 100%);
    clip-path: polygon(0 55%, 48% 55%, 33% 100%, 100% 34%, 56% 34%, 72% 0);
    box-shadow: 0 0 18px rgba(255, 106, 0, 0.24);
    transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease;
}

.cg-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
    padding-bottom: 58px;
}

.cg-feature-card,
.cg-team-card,
.cg-news-card,
.cg-single-post,
.cg-generic-page,
.cg-about-intro__content,
.cg-page-intro,
.cg-section-heading {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.cg-feature-card,
.cg-team-card,
.cg-generic-page,
.cg-about-intro__content,
.cg-page-intro,
.cg-section-heading {
    transition: transform 0.28s ease, filter 0.28s ease;
}

.cg-signup-card,
.cg-panel {
    border: 1px solid var(--cg-panel-border);
}

.cg-signup-card {
    border-radius: 8px;
    background: transparent;
}

.cg-panel {
    border-radius: 32px;
    background: #2a2434;
}

.cg-signup-card,
.cg-panel,
.cg-footer__contact,
.cg-footer__info,
.cg-footer__map {
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease, background-color 0.24s ease, filter 0.24s ease;
    box-shadow: 0 14px 28px rgba(8, 4, 18, 0.16);
}

@media (hover: hover) and (pointer: fine) {
    .cg-announcement__bar:hover {
        transform: translateY(-3px);
        border-color: rgba(210, 133, 255, 0.82);
        background: rgba(56, 44, 72, 0.92);
        box-shadow: 0 18px 30px rgba(8, 4, 18, 0.22), 0 0 18px rgba(176, 35, 255, 0.14);
        filter: brightness(1.04);
    }
    .cg-announcement__bar:hover>span {
        transform: translateY(-1px);
        text-shadow: 0 0 12px rgba(176, 35, 255, 0.14);
    }
    .cg-announcement__bar:hover>span::before {
        transform: rotate(-8deg) scale(1.08);
        box-shadow: 0 0 22px rgba(255, 106, 0, 0.32);
        filter: brightness(1.08);
    }
    .cg-signup-card:hover,
    .cg-signup-card:focus-within,
    .cg-panel:hover,
    .cg-panel:focus-within,
    .cg-footer__contact:hover,
    .cg-footer__contact:focus-within,
    .cg-footer__info:hover,
    .cg-footer__info:focus-within,
    .cg-footer__map:hover,
    .cg-footer__map:focus-within {
        transform: translateY(-4px);
        border-color: rgba(210, 133, 255, 0.98);
        background-color: rgba(68, 48, 95, 0.72);
        box-shadow: 0 20px 34px rgba(8, 4, 18, 0.3), 0 0 0 1px rgba(176, 35, 255, 0.18), 0 0 26px rgba(176, 35, 255, 0.3);
        filter: brightness(1.05);
    }
    .cg-feature-card:hover,
    .cg-feature-card:focus-within,
    .cg-team-card:hover,
    .cg-team-card:focus-within {
        transform: translateY(-2px);
        filter: brightness(1.02);
    }
    .cg-generic-page:hover,
    .cg-generic-page:focus-within,
    .cg-about-intro__content:hover,
    .cg-about-intro__content:focus-within,
    .cg-page-intro:hover,
    .cg-page-intro:focus-within,
    .cg-section-heading:hover,
    .cg-team-card:focus-within,
    .cg-section-heading:focus-within {
        transform: none;
        filter: none;
    }
    .cg-feature-card:hover .cg-feature-card__image .cg-image,
    .cg-feature-card:hover .cg-feature-card__image img,
    .cg-feature-card:focus-within .cg-feature-card__image .cg-image,
    .cg-feature-card:focus-within .cg-feature-card__image img,
    .cg-about-intro__image:hover .cg-image,
    .cg-about-intro__image:hover img,
    .cg-signup-card:hover .cg-signup-card__image .cg-image,
    .cg-signup-card:hover .cg-signup-card__image img,
    .cg-signup-card:focus-within .cg-signup-card__image .cg-image,
    .cg-signup-card:focus-within .cg-signup-card__image img,
    .cg-panel:hover .cg-panel__thumb-image,
    .cg-panel:focus-within .cg-panel__thumb-image,
    .cg-team-card:hover .cg-team-card__avatar-image,
    .cg-team-card:focus-within .cg-team-card__avatar-image {
        transform: scale(1.04);
        filter: saturate(1.05) brightness(1.03);
    }
}

.cg-feature-card,
.cg-team-card,
.cg-news-card,
.cg-single-post,
.cg-generic-page,
.cg-about-intro__content,
.cg-page-intro,
.cg-section-heading {
    padding: 26px;
    min-width: 0;
}

.cg-feature-card h2,
.cg-section-heading h2,
.cg-page-intro h1,
.cg-more-news h2,
.cg-single-post h1 {
    font-size: clamp(38px, 4vw, 58px);
    margin-bottom: 22px;
    letter-spacing: 0;
}

.cg-feature-card__image,
.cg-about-intro__image,
.cg-signup-card__image,
.cg-news-card__thumb,
.cg-single-post__hero {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
}

.cg-feature-card__image .cg-image,
.cg-feature-card__image img,
.cg-about-intro__image .cg-image,
.cg-about-intro__image img,
.cg-signup-card__image .cg-image,
.cg-signup-card__image img,
.cg-panel__thumb-image,
.cg-team-card__avatar-image {
    transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), filter 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.42s ease;
    will-change: transform, filter;
}

.cg-feature-card__image {
    aspect-ratio: 688 / 436;
    margin-bottom: 18px;
}

.cg-feature-card h3 {
    font-size: 22px;
    margin-bottom: 16px;
}

.cg-feature-card p,
.cg-news-card__excerpt,
.cg-panel p,
.cg-team-card p,
.cg-signup-card p,
.cg-about-intro__content p,
.cg-single-post__content p,
.cg-footer p,
.cg-generic-page p {
    color: var(--cg-muted);
    font-size: 17px;
}

.cg-feature-card p,
.cg-signup-card p,
.cg-news-card__excerpt {
    margin-bottom: 22px;
}

.cg-section-heading,
.cg-page-intro {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}

.cg-section-heading::after,
.cg-page-intro::after {
    content: "";
    flex: 1;
    min-width: 80px;
    border-top: 1px solid var(--cg-line);
}

.cg-section-heading h2,
.cg-page-intro h1,
.cg-more-news h2 {
    display: inline-flex;
    align-items: center;
    min-height: auto;
    padding: 0;
    background: transparent;
    color: var(--cg-text);
    line-height: 1;
}

.cg-logo-bands {
    padding-bottom: 72px;
}

.cg-logo-band {
    margin-bottom: 48px;
}

.cg-logo-band__heading {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 24px;
    align-items: center;
    margin-bottom: 28px;
    justify-items: center;
}

.cg-logo-band__heading::before,
.cg-logo-band__heading::after,
.cg-footer {
    border-top: 1px solid var(--cg-line);
}

.cg-logo-band__heading::before,
.cg-logo-band__heading::after {
    content: "";
    display: block;
    width: 100%;
    max-width: var(--cg-partner-line-width);
    justify-self: center;
}

.cg-logo-band__heading span {
    padding: 0;
    background: transparent;
    color: var(--cg-text);
    font-size: clamp(28px, 2.4vw, 40px);
    font-weight: 700;
    line-height: 1;
}

.cg-logo-band__items {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 48px;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.cg-logo-band__items--support,
.cg-logo-band__items--partners {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), var(--cg-brand-box-width)));
    justify-content: center;
    justify-items: center;
    gap: 18px 24px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.cg-logo-band__items--support {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), var(--cg-brand-box-width)));
}

.cg-logo-band__items--support.cg-logo-band__items--count-1 {
    grid-template-columns: minmax(0, min(100%, var(--cg-brand-box-width)));
}

.cg-logo-band__items--support.cg-logo-band__items--count-2 {
    grid-template-columns: repeat(2, minmax(0, min(100%, var(--cg-brand-box-width))));
}

.cg-logo-band__items--partners.cg-logo-band__items--count-1 {
    grid-template-columns: minmax(0, min(100%, var(--cg-brand-box-width)));
}

.cg-logo-band__items--partners {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), var(--cg-brand-box-width)));
}

./* Realizadores: permitir grades e logos um pouco maiores */
.cg-logo-band__items--realizadores {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), var(--cg-brand-box-width)));
    gap: 18px 24px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    justify-items: center;
}

.cg-logo-band__items--realizadores .cg-brand-image {
    max-width: 92%;
    max-height: 80px;
}

/* Override: force logos side-by-side and hide placeholder */
.cg-logo-band__items--support,
.cg-logo-band__items--partners,
.cg-logo-band__items--realizadores {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 28px 48px;
    justify-content: center;
    align-items: center;
    width: 100%;
}

@media (max-width: 740px) {
    .cg-logo-band__items--support,
    .cg-logo-band__items--partners,
    .cg-logo-band__items--realizadores {
        flex-wrap: wrap;
    }
    .cg-brand-slot {
        width: 45%;
    }
}

/* Hide placeholder slot image used as empty third slot */
.cg-brand-slot img[src*="placeholder-realizador.svg"] {
    visibility: hidden !important;
}

.cg-brand-slot {
    width: min(100%, var(--cg-brand-box-width));
    min-height: 68px;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.cg-logo-band__items span {
    font-size: 29px;
    font-weight: 700;
}

.cg-brand-image {
    display: block;
    max-width: 88%;
    max-height: 54px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.cg-logo-band__items--partners span {
    font-size: 22px;
}

/* Layout: when there are exactly 3 realizadores, place them left/center/right */
.cg-logo-band__items--realizadores.cg-logo-band__items--count-3 {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0 24px;
    width: 100%;
}
.cg-logo-band__items--realizadores.cg-logo-band__items--count-3 .cg-brand-slot:nth-child(1) {
    justify-self: start;
}
.cg-logo-band__items--realizadores.cg-logo-band__items--count-3 .cg-brand-slot:nth-child(2) {
    justify-self: center;
}
.cg-logo-band__items--realizadores.cg-logo-band__items--count-3 .cg-brand-slot:nth-child(3) {
    justify-self: end;
}

.cg-page-shell {
    padding: 40px 0 72px;
}

.cg-page-intro {
    max-width: 100%;
    padding-bottom: 0;
}

.cg-page-intro--centered {
    justify-content: center;
    text-align: center;
}

.cg-page-intro--stacked {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
}

.cg-page-intro--spaced {
    padding-top: 34px;
}

.cg-page-intro__kicker {
    font-size: 24px;
    font-weight: 700;
}

.cg-page-intro--stacked::before {
    content: none;
}

.cg-page-intro--stacked::after {
    width: min(100%, 360px);
    min-width: 0;
}

.cg-page-intro--stacked h1,
.cg-page-intro--stacked .cg-page-intro__kicker {
    margin: 0;
}

.cg-page-intro--stacked-left {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}

.cg-page-intro--stacked-left::after {
    margin-right: auto;
}

.cg-page-intro--decorated {
    overflow: visible;
}

.cg-page-intro-dancers {
    position: absolute;
    top: 8px;
    right: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    width: 112px;
    min-height: 82px;
    pointer-events: none;
    z-index: 1;
}

.cg-page-intro-dancers::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 4px;
    width: 110px;
    height: 22px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.12) 56%, transparent 100%);
    transform: translateX(-50%);
    z-index: 0;
}

.cg-page-intro-dancers__image {
    position: relative;
    z-index: 1;
    width: 44px;
    height: auto;
    filter: drop-shadow(0 10px 16px rgba(8, 4, 18, 0.18));
}

.cg-page-intro-dancers__image--left {
    z-index: 2;
    width: 50px;
}

.cg-page-intro-dancers__image--right {
    z-index: 1;
}

.cg-page-intro--centered::before {
    content: "";
    flex: 1;
    min-width: 80px;
    border-top: 1px solid var(--cg-line);
}

.cg-page-intro--centered .cg-page-intro__kicker {
    margin: 0;
}

.cg-highlight-green {
    color: var(--cg-accent-green);
}

.cg-page-intro__kicker .cg-highlight-green {
    color: var(--cg-accent-green);
}

.cg-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 457px));
    gap: 48px 18px;
    justify-content: space-between;
}

.cg-news-feed {
    display: grid;
    gap: 28px;
}

.cg-news-grid--related {
    gap: 26px;
}

.cg-news-card--featured {
    display: block;
}

.cg-news-card__wrap {
    display: grid;
    height: 100%;
    color: inherit;
    border-radius: var(--cg-radius);
    transition: transform 0.24s ease, filter 0.24s ease, box-shadow 0.24s ease;
}

.cg-news-card--featured .cg-news-card__wrap {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1.45fr);
    gap: clamp(24px, 4vw, 42px);
    align-items: start;
}

.cg-news-card__thumb-link,
.cg-news-card__thumb-image,
.cg-news-card__thumb {
    display: block;
}

.cg-news-card__thumb-link {
    width: 100%;
    aspect-ratio: 457 / 436;
    overflow: hidden;
    border-radius: 14px;
}

.cg-news-card__thumb-image,
.cg-news-card__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.32s ease, filter 0.32s ease;
}

.cg-news-card--featured .cg-news-card__thumb-link {
    display: grid;
    place-items: center;
    aspect-ratio: 1 / 1;
    min-height: 0;
    width: min(100%, 340px);
    max-width: 340px;
    justify-self: center;
    align-self: start;
    background: rgba(43, 36, 53, 0.72);
}

.cg-news-card--featured .cg-news-card__thumb-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    object-position: center;
    padding: clamp(12px, 1.5vw, 18px);
    background: rgba(43, 36, 53, 0.72);
}

.cg-news-card--featured .cg-news-card__thumb {
    min-height: 0;
    aspect-ratio: 1 / 1;
}

.cg-news-card__body {
    display: grid;
    align-content: start;
    gap: 14px;
}

.cg-news-card--featured .cg-news-card__body {
    max-width: 62ch;
}

.cg-news-card__badge,
.cg-news-card__meta {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cg-news-card__badge {
    display: inline-flex;
    justify-self: start;
    padding: 8px 12px 7px;
    border-radius: 999px;
    background: rgba(255, 106, 0, 0.16);
    color: var(--cg-accent);
}

.cg-news-card__meta {
    color: var(--cg-accent-green);
}

.cg-news-card__title {
    margin: 0;
    font-size: 26px;
    letter-spacing: 0;
    transition: color 0.22s ease, text-shadow 0.22s ease;
}

.cg-news-card--featured .cg-news-card__title {
    font-size: clamp(30px, 3vw, 44px);
}

.cg-news-card--featured .cg-news-card__excerpt {
    margin-bottom: 14px;
    display: -webkit-box;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.cg-news-card__link {
    color: #fff;
    display: inline-flex;
    justify-self: start;
    font-size: 16px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.22s ease, text-shadow 0.22s ease, transform 0.22s ease;
}

.cg-page-intro h1,
.cg-page-intro__kicker {
    transition: transform 0.28s ease, text-shadow 0.28s ease, color 0.28s ease;
}

.cg-news-card__wrap:hover .cg-news-card__link,
.cg-news-card__wrap:focus-visible .cg-news-card__link,
.cg-news-card__wrap:hover .cg-news-card__title,
.cg-news-card__wrap:focus-visible .cg-news-card__title {
    color: var(--cg-accent-pink);
}

@media (hover: hover) and (pointer: fine) {
    .cg-team-card__avatar:hover .cg-team-card__avatar-image,
    .cg-team-card__avatar:focus-within .cg-team-card__avatar-image {
        transform: scale(1.06);
        filter: saturate(1.08) brightness(1.04);
    }
    .cg-page-intro:hover h1,
    .cg-page-intro:hover .cg-page-intro__kicker,
    .cg-page-intro h1:hover,
    .cg-page-intro__kicker:hover,
    .cg-page-intro:focus-within h1,
    .cg-page-intro:focus-within .cg-page-intro__kicker {
        transform: translateY(-1px);
        text-shadow: 0 0 16px rgba(176, 35, 255, 0.16);
    }
    .cg-news-card__wrap:hover,
    .cg-news-card__wrap:focus-visible {
        transform: translateY(-3px);
        filter: brightness(1.04);
    }
    .cg-news-card__wrap:hover .cg-news-card__thumb-image,
    .cg-news-card__wrap:hover .cg-news-card__thumb,
    .cg-news-card__wrap:focus-visible .cg-news-card__thumb-image,
    .cg-news-card__wrap:focus-visible .cg-news-card__thumb {
        transform: scale(1.02);
        filter: saturate(1.04) brightness(1.03);
    }
    .cg-news-card__wrap:hover .cg-news-card__title,
    .cg-news-card__wrap:focus-visible .cg-news-card__title,
    .cg-news-card__wrap:hover .cg-news-card__link,
    .cg-news-card__wrap:focus-visible .cg-news-card__link {
        text-shadow: 0 0 16px rgba(176, 35, 255, 0.16);
    }
}

.cg-news-card__wrap:focus-visible {
    outline: 2px solid var(--cg-accent-pink);
    outline-offset: 6px;
    border-radius: var(--cg-radius);
}

.cg-empty-state {
    color: var(--cg-muted);
    padding: 24px 26px;
    border: 1px solid var(--cg-panel-border);
    border-radius: var(--cg-radius);
    background: rgba(43, 36, 53, 0.72);
}

.cg-single-post h1,
.cg-single-post__content {
    width: min(100%, 720px);
    margin-left: auto;
    margin-right: auto;
}

.cg-single-post__hero {
    display: block;
    width: min(100%, 720px);
    height: clamp(250px, 34vw, 410px);
    aspect-ratio: auto 1 / 1;
    object-fit: contain;
    object-position: center;
    margin: 0 auto 24px;
    background: rgba(43, 36, 53, 0.72);
}

.cg-post-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.cg-post-navigation__item {
    display: grid;
    gap: 8px;
    padding: 20px 22px;
    border: 1px solid var(--cg-panel-border);
    border-radius: var(--cg-radius);
    background: rgba(43, 36, 53, 0.72);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease, background-color 0.24s ease, filter 0.24s ease;
    box-shadow: 0 12px 22px rgba(8, 4, 18, 0.14);
}

.cg-post-navigation__item--next {
    text-align: right;
}

.cg-post-navigation__label {
    color: var(--cg-accent-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cg-post-navigation__title {
    font-size: 20px;
    font-weight: 700;
    transition: color 0.22s ease, text-shadow 0.22s ease;
}

.cg-post-navigation__item:hover .cg-post-navigation__title,
.cg-post-navigation__item:focus-visible .cg-post-navigation__title {
    color: var(--cg-accent-pink);
}

@media (hover: hover) and (pointer: fine) {
    .cg-post-navigation__item:hover,
    .cg-post-navigation__item:focus-visible {
        transform: translateY(-3px);
        border-color: rgba(210, 133, 255, 0.96);
        background: rgba(68, 48, 95, 0.72);
        box-shadow: 0 18px 30px rgba(8, 4, 18, 0.24), 0 0 18px rgba(176, 35, 255, 0.18);
        filter: brightness(1.04);
    }
    .cg-post-navigation__item:hover .cg-post-navigation__title,
    .cg-post-navigation__item:focus-visible .cg-post-navigation__title {
        text-shadow: 0 0 16px rgba(176, 35, 255, 0.16);
    }
}

.cg-post-navigation__item:focus-visible {
    outline: 2px solid var(--cg-accent-pink);
    outline-offset: 4px;
}

.cg-single-post__content {
    max-width: none;
}

.cg-single-post__content p+p,
.cg-about-intro__content p+p,
.cg-generic-page p+p {
    margin-top: 22px;
}

.cg-more-news {
    padding-top: 54px;
}

.cg-more-news h2 {
    font-size: 28px;
    margin-bottom: 26px;
}

.cg-about-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
    gap: 40px;
    align-items: center;
    padding-bottom: 50px;
}

.cg-about-intro__content h1 {
    margin-bottom: 22px;
}

.cg-about-intro__image {
    aspect-ratio: 690 / 568;
    min-height: 0;
}

.cg-section-stack {
    padding-bottom: 50px;
}

.cg-panel-list {
    display: grid;
    gap: 16px;
}

.cg-panel {
    padding: 34px 38px 36px;
}

.cg-panel--with-thumb {
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.cg-panel__media {
    width: 136px;
}

.cg-panel__thumb-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    border-radius: 14px;
}

.cg-panel__body {
    min-width: 0;
}

.cg-panel__meta {
    margin-bottom: 10px;
    color: var(--cg-accent);
    font-size: 16px;
    font-weight: 700;
}

.cg-panel__meta--orange,
.cg-panel--online .cg-panel__meta {
    color: var(--cg-accent);
}

.cg-panel__meta--green {
    color: var(--cg-accent-green);
}

.cg-panel--presence .cg-panel__meta {
    color: var(--cg-accent-green);
}

.cg-panel h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

.cg-team-section {
    padding-bottom: 60px;
}

.cg-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 46px;
}

.cg-team-card__avatar {
    width: 88px;
    height: 88px;
    margin-bottom: 16px;
    border-radius: 50%;
    overflow: hidden;
}

.cg-team-card__avatar-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cg-gallery-page {
    padding-bottom: 72px;
}

.cg-gallery-content {
    display: grid;
    gap: 24px;
}

.cg-gallery-content>* {
    margin: 0;
}

.cg-gallery-content>h2,
.cg-gallery-content>h3 {
    font-size: clamp(28px, 2.5vw, 38px);
    letter-spacing: 0;
}

.cg-gallery-content>h2:not(:first-child),
.cg-gallery-content>h3:not(:first-child) {
    padding-top: 16px;
    border-top: 1px solid var(--cg-line);
}

.cg-gallery-content>p,
.cg-gallery-content li,
.cg-gallery-content figcaption,
.cg-gallery-content .blocks-gallery-caption,
.cg-gallery-content .gallery-caption {
    color: var(--cg-muted);
    font-size: 17px;
    line-height: 1.6;
}

.cg-gallery-content .wp-block-gallery,
.cg-gallery-content .gallery {
    margin: 0;
}

.cg-gallery-content .gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 18px;
}

.cg-gallery-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 18px;
}

.cg-gallery-photo-card {
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(43, 36, 53, 0.72);
    transition: transform 0.24s ease, box-shadow 0.24s ease, filter 0.24s ease, background-color 0.24s ease;
    box-shadow: 0 12px 22px rgba(8, 4, 18, 0.12);
}

.cg-gallery-photo-link {
    display: block;
    color: inherit;
}

.cg-gallery-photo-link:focus-visible {
    outline: 2px solid var(--cg-accent-pink);
    outline-offset: 4px;
}

.cg-gallery-photo-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.32s ease, filter 0.32s ease;
}

@media (hover: hover) and (pointer: fine) {
    .cg-gallery-photo-card:hover,
    .cg-gallery-photo-card:focus-within {
        transform: translateY(-3px);
        background: rgba(68, 48, 95, 0.72);
        box-shadow: 0 18px 30px rgba(8, 4, 18, 0.22), 0 0 18px rgba(176, 35, 255, 0.18);
        filter: brightness(1.04);
    }
    .cg-gallery-photo-card:hover .cg-gallery-photo-image,
    .cg-gallery-photo-card:focus-within .cg-gallery-photo-image {
        transform: scale(1.03);
        filter: saturate(1.05) brightness(1.03);
    }
}

.cg-gallery-content .gallery-item,
.cg-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image {
    width: 100%;
    margin: 0;
}

.cg-gallery-content .gallery-icon,
.cg-gallery-content .wp-block-image,
.cg-gallery-content .wp-block-video,
.cg-gallery-content .wp-block-embed,
.cg-gallery-content .gallery-item a,
.cg-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image a {
    display: block;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(43, 36, 53, 0.72);
}

.cg-gallery-content .gallery-icon,
.cg-gallery-content .gallery-item a,
.cg-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image a {
    aspect-ratio: 4 / 3;
}

.cg-gallery-content .gallery img,
.cg-gallery-content .wp-block-gallery img,
.cg-gallery-content .wp-block-image img,
.cg-gallery-content .wp-block-video video,
.cg-gallery-content .wp-block-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 14px;
}

.cg-gallery-content .gallery img,
.cg-gallery-content .wp-block-gallery img,
.cg-gallery-content .wp-block-image img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.cg-gallery-content .wp-block-video video,
.cg-gallery-content .wp-block-embed iframe {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 0;
    background: rgba(43, 36, 53, 0.72);
}

.cg-gallery-content .wp-block-separator {
    width: 100%;
    max-width: none;
    border-color: var(--cg-line);
    opacity: 1;
}

.cg-gallery-video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 18px;
}

.cg-gallery-video-grid>* {
    margin: 0;
}

.cg-gallery-video-card {
    overflow: hidden;
    border-radius: 14px;
    background: rgba(43, 36, 53, 0.72);
    transition: transform 0.24s ease, box-shadow 0.24s ease, filter 0.24s ease, background-color 0.24s ease;
    box-shadow: 0 12px 22px rgba(8, 4, 18, 0.12);
}

.cg-gallery-video-card iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}

@media (hover: hover) and (pointer: fine) {
    .cg-gallery-video-card:hover,
    .cg-gallery-video-card:focus-within {
        transform: translateY(-3px);
        background: rgba(68, 48, 95, 0.72);
        box-shadow: 0 18px 30px rgba(8, 4, 18, 0.22), 0 0 18px rgba(176, 35, 255, 0.18);
        filter: brightness(1.04);
    }
}

.cg-gallery-video-card .wp-video,
.cg-gallery-video-card .wp-block-embed,
.cg-gallery-video-card .video-wrapper,
.cg-gallery-video-card .fluid-width-video-wrapper,
.cg-gallery-video-card .wp-embedded-content,
.cg-gallery-video-card embed,
.cg-gallery-video-card object {
    display: block;
    width: 100%;
}

.cg-gallery-video-card .wp-video,
.cg-gallery-video-card .wp-block-embed,
.cg-gallery-video-card .video-wrapper,
.cg-gallery-video-card .fluid-width-video-wrapper {
    aspect-ratio: 16 / 9;
}

.cg-gallery-video-card .wp-embedded-content,
.cg-gallery-video-card embed,
.cg-gallery-video-card object {
    width: 100%;
    min-height: 100%;
}

.cg-gallery-video-link {
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 18px;
    color: #fff;
    font-weight: 700;
    transition: color 0.22s ease, text-shadow 0.22s ease, transform 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
    .cg-gallery-video-link:hover,
    .cg-gallery-video-link:focus-visible {
        color: var(--cg-accent-pink);
        text-shadow: 0 0 16px rgba(176, 35, 255, 0.16);
        transform: translateY(-1px);
    }
}

@media (max-width: 1180px) {
    .cg-gallery-photo-grid,
    .cg-gallery-content .gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cg-gallery-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .cg-gallery-photo-grid,
    .cg-gallery-content .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cg-gallery-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.cg-gallery-radio-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 296px) minmax(0, 1fr);
    gap: clamp(16px, 2.6vw, 26px);
    align-items: start;
    padding: 20px;
    overflow: hidden;
    border: 1px solid rgba(177, 74, 209, 0.32);
    border-radius: 20px;
    background: radial-gradient(circle at top left, rgba(255, 144, 74, 0.1) 0%, transparent 24%), radial-gradient(circle at bottom right, rgba(209, 28, 255, 0.12) 0%, transparent 34%), rgba(43, 36, 53, 0.78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 16px 28px rgba(8, 4, 18, 0.16);
    text-align: left;
}

.cg-gallery-radio-card__main,
.cg-gallery-radio-card__side {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.cg-gallery-radio-card__main {
    justify-items: start;
}

.cg-gallery-radio-card__meta {
    display: grid;
    gap: 10px;
    justify-items: start;
}

.cg-gallery-radio-card__meta::after {
    content: "";
    width: 82px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255, 185, 123, 0.95) 0%, rgba(255, 106, 0, 0.18) 100%);
}

.cg-gallery-radio-status {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 16px 0 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 187, 126, 0.2);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 174, 103, 0.22) 0%, rgba(92, 52, 31, 0.28) 100%);
    color: #ffe1c6;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    box-shadow: inset 0 1px 0 rgba(255, 240, 224, 0.12), 0 10px 18px rgba(255, 106, 0, 0.08);
    text-transform: uppercase;
    animation: cg-gallery-radio-badge 2.8s ease-in-out infinite;
}

.cg-gallery-radio-status::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff8f46;
    box-shadow: 0 0 0 0 rgba(255, 106, 0, 0.44), 0 0 12px rgba(255, 159, 89, 0.28);
    animation: cg-gallery-radio-live 1.8s ease-out infinite;
}

.cg-gallery-radio-status::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.18) 45%, transparent 60%);
    transform: translateX(-135%);
    pointer-events: none;
    animation: cg-gallery-radio-badge-sheen 3.4s ease-in-out infinite;
}

.cg-gallery-radio-name {
    max-width: 15ch;
    color: #fff6eb;
    background: linear-gradient(180deg, #fffaf4 0%, #ffd6ab 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 0.98;
    text-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.cg-gallery-radio-card__player {
    position: relative;
    display: grid;
    place-items: center;
    isolation: isolate;
    width: min(100%, 224px);
    padding: 6px 0 14px;
}

.cg-gallery-radio-card__player::before {
    content: "";
    position: absolute;
    inset: 24px 20px 18px;
    z-index: -2;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 115, 37, 0.22) 0%, rgba(255, 115, 37, 0.08) 42%, transparent 68%);
    filter: blur(6px);
}

.cg-gallery-radio-card__player::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 4px;
    z-index: -2;
    width: 128px;
    height: 20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.26) 0%, rgba(0, 0, 0, 0.04) 68%, transparent 100%);
    transform: translateX(-50%);
}

.cg-gallery-radio-wave {
    position: absolute;
    inset: 22px;
    z-index: -1;
    border: 1px solid rgba(255, 182, 121, 0.28);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.84);
    box-shadow: 0 0 18px rgba(255, 106, 0, 0.08);
}

.cg-gallery-radio-wave--2 {
    inset: 6px;
}

.cg-gallery-radio-wave--3 {
    inset: -10px;
}

.cg-gallery-radio-card__header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.cg-gallery-radio-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(62px, 0.68fr);
    align-items: center;
    gap: 10px;
    width: min(100%, 188px);
    padding: 20px 12px 12px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(152, 104, 60, 0.96) 0%, rgba(97, 60, 36, 0.98) 46%, rgba(44, 26, 20, 1) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 244, 228, 0.16), inset 0 0 0 1px rgba(255, 234, 204, 0.12), inset 0 -16px 26px rgba(25, 11, 7, 0.32), 0 24px 42px rgba(0, 0, 0, 0.34);
}

.cg-gallery-radio-shell::before {
    content: "";
    position: absolute;
    top: -16px;
    right: 28px;
    width: 2px;
    height: 28px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 231, 205, 0.92) 0%, rgba(219, 176, 127, 0.22) 100%);
    transform: rotate(24deg);
    transform-origin: bottom center;
}

.cg-gallery-radio-shell::after {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(241, 203, 157, 0.76) 0%, rgba(160, 101, 54, 0.2) 100%);
}

.cg-gallery-radio-screen {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(58, 32, 19, 0.98) 0%, rgba(24, 14, 10, 1) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 245, 224, 0.08), inset 0 0 0 1px rgba(255, 225, 188, 0.12), 0 10px 22px rgba(0, 0, 0, 0.18);
}

.cg-gallery-radio-speaker {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    justify-items: center;
    gap: 4px;
    aspect-ratio: 1;
    padding: 12px 8px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(66, 40, 24, 0.92) 0%, rgba(39, 23, 16, 0.96) 100%);
    box-shadow: inset 0 0 0 1px rgba(247, 221, 181, 0.08);
    overflow: hidden;
}

.cg-gallery-radio-speaker::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 12px;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.06) 0 16%, transparent 17%) center / 10px 10px;
    opacity: 0.22;
    pointer-events: none;
}

.cg-gallery-radio-speaker__display {
    position: relative;
    z-index: 1;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    gap: 2px;
    width: 100%;
    min-height: 18px;
    padding: 4px 5px;
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(17, 23, 17, 0.92) 0%, rgba(32, 42, 29, 0.96) 100%);
    box-shadow: inset 0 0 0 1px rgba(210, 243, 194, 0.08);
}

.cg-gallery-radio-speaker__level {
    align-self: end;
    width: 100%;
    min-height: 5px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(197, 255, 186, 0.94) 0%, rgba(90, 205, 113, 0.72) 100%);
    box-shadow: 0 0 10px rgba(116, 239, 119, 0.18);
    transform-origin: center bottom;
}

.cg-gallery-radio-speaker__level:nth-child(1) {
    height: 8px;
}

.cg-gallery-radio-speaker__level:nth-child(2) {
    height: 14px;
}

.cg-gallery-radio-speaker__level:nth-child(3) {
    height: 19px;
}

.cg-gallery-radio-speaker__level:nth-child(4) {
    height: 12px;
}

.cg-gallery-radio-speaker__level:nth-child(5) {
    height: 9px;
}

.cg-gallery-radio-speaker__bar {
    position: relative;
    z-index: 1;
    align-self: end;
    width: 7px;
    min-height: 16px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 212, 168, 0.95) 0%, rgba(255, 106, 0, 0.6) 100%);
    box-shadow: 0 0 14px rgba(255, 106, 0, 0.12);
    transform-origin: center bottom;
}

.cg-gallery-radio-speaker__bar:nth-child(1) {
    height: 24px;
}

.cg-gallery-radio-speaker__bar:nth-child(2) {
    height: 38px;
}

.cg-gallery-radio-speaker__bar:nth-child(3) {
    height: 29px;
}

.cg-gallery-radio-artwork {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 68px;
    aspect-ratio: 1;
    height: auto;
    border-radius: 14px;
    border: 1px solid rgba(255, 228, 194, 0.16);
    object-fit: cover;
    box-shadow: 0 18px 28px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 240, 224, 0.05);
}

.cg-gallery-radio-toggle {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(180deg, #ffc287 0%, #ff8b38 52%, #ff5f2f 100%);
    color: #fff;
    box-shadow: 0 14px 24px rgba(255, 106, 0, 0.24), inset 0 1px 0 rgba(255, 246, 235, 0.36);
    transform: translate(-50%, 28%);
    cursor: pointer;
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.cg-gallery-radio-toggle::before {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    border: 1px solid rgba(255, 244, 230, 0.22);
    pointer-events: none;
}

.cg-gallery-radio-toggle:hover,
.cg-gallery-radio-toggle:focus-visible {
    transform: translate(-50%, 28%) scale(1.04);
    box-shadow: 0 14px 24px rgba(255, 106, 0, 0.28), 0 0 18px rgba(255, 153, 86, 0.18);
    filter: saturate(1.05);
}

.cg-gallery-radio-toggle:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.76);
    outline-offset: 4px;
}

.cg-gallery-radio-toggle__icon {
    position: relative;
    display: block;
    width: 13px;
    height: 15px;
    margin-left: 2px;
}

.cg-gallery-radio-toggle__icon::before,
.cg-gallery-radio-toggle__icon::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background: currentColor;
}

.cg-gallery-radio-toggle__icon::before {
    left: 0;
    width: 100%;
    clip-path: polygon(10% 5%, 100% 50%, 10% 95%);
}

.cg-gallery-radio-toggle__icon::after {
    display: none;
}

.cg-gallery-radio-player {
    width: min(100%, 420px);
}

.js .cg-gallery-radio-player {
    display: none;
}

.cg-gallery-radio-panel {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(210, 133, 255, 0.09);
    border-radius: 16px;
    background: rgba(27, 21, 39, 0.72);
    box-shadow: 0 10px 18px rgba(8, 4, 18, 0.11);
}

.cg-gallery-radio-panel__heading {
    display: grid;
    gap: 6px;
}

.cg-gallery-radio-panel__eyebrow {
    margin: 0;
    color: var(--cg-accent-green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.cg-gallery-radio-panel__title {
    margin: 0;
    color: #fff;
    font-size: clamp(19px, 2vw, 24px);
    line-height: 1.16;
}

.cg-gallery-radio-panel__subtle {
    margin: 0;
    color: var(--cg-muted);
    font-size: 14px;
}

.cg-gallery-radio-now-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cg-gallery-radio-now-list li {
    color: var(--cg-muted);
    font-size: 15px;
}

.cg-gallery-radio-panel--chat {
    align-content: start;
    overflow: hidden;
    border-color: rgba(255, 147, 82, 0.16);
    background: linear-gradient(180deg, rgba(50, 35, 68, 0.94) 0%, rgba(28, 21, 39, 0.97) 100%);
    box-shadow: 0 12px 20px rgba(8, 4, 18, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.cg-gallery-radio-panel--chat .cg-gallery-radio-panel__eyebrow {
    color: #ffb16c;
}

.cg-gallery-radio-panel--chat .cg-gallery-radio-panel__subtle {
    color: rgba(232, 221, 241, 0.76);
}

.cg-gallery-radio-chat-redirect {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(199, 171, 224, 0.12);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(36, 28, 49, 0.88) 0%, rgba(23, 17, 33, 0.94) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.cg-gallery-radio-chat-note {
    margin: 0;
    color: rgba(240, 233, 247, 0.84);
    font-size: 14px;
    line-height: 1.6;
}

.cg-gallery-radio-chat-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 174, 104, 0.98) 0%, rgba(255, 98, 51, 1) 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 14px 24px rgba(255, 106, 0, 0.22), inset 0 1px 0 rgba(255, 245, 233, 0.22);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.cg-gallery-radio-chat-link:hover,
.cg-gallery-radio-chat-link:focus-visible {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 18px 28px rgba(255, 106, 0, 0.28), 0 0 18px rgba(255, 153, 86, 0.16);
    filter: brightness(1.04);
}

.cg-gallery-radio-dancers {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    justify-self: stretch;
    gap: clamp(0px, 0.8vw, 5px);
    min-height: 172px;
    margin-top: 2px;
    padding: 0 8px;
    overflow: hidden;
    isolation: isolate;
}

.cg-gallery-radio-dancers::before,
.cg-gallery-radio-dancers::after {
    content: "";
    position: absolute;
    left: 50%;
    pointer-events: none;
    transform: translateX(-50%);
    z-index: -1;
}

.cg-gallery-radio-dancers::before {
    bottom: 18px;
    width: 150px;
    height: 76px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 34, 149, 0.24) 0%, rgba(255, 34, 149, 0.07) 44%, transparent 76%);
    filter: blur(10px);
}

.cg-gallery-radio-dancers::after {
    bottom: 6px;
    width: 250px;
    height: 24px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.34) 0%, rgba(0, 0, 0, 0.05) 68%, transparent 100%);
}

.cg-gallery-radio-dancer__image {
    position: relative;
    bottom: 10px;
    display: block;
    width: min(26%, 112px);
    height: auto;
    filter: drop-shadow(0 16px 24px rgba(8, 4, 18, 0.24));
}

.cg-gallery-radio-dancer__image--left {
    z-index: 2;
    transform: translate3d(-8px, 0, 0) scaleX(-1) rotate(-4deg);
    transform-origin: 46% 78%;
    animation: cg-gallery-dancer-left 5.2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.cg-gallery-radio-dancer__image--right {
    z-index: 1;
    transform: translate3d(8px, 0, 0) rotate(-4deg) scale(0.98);
    transform-origin: 54% 78%;
    animation: cg-gallery-dancer-right 6.8s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle__icon {
    width: 14px;
    margin-left: 0;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-wave--1 {
    animation: cg-gallery-radio-wave 1.8s ease-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-wave--2 {
    animation: cg-gallery-radio-wave 1.8s ease-out 0.32s infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-wave--3 {
    animation: cg-gallery-radio-wave 1.8s ease-out 0.64s infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle__icon::before,
.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle__icon::after {
    display: block;
    width: 5px;
    clip-path: none;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle__icon::before {
    left: 2px;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle__icon::after {
    right: 2px;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-status::before {
    background: var(--cg-accent);
    box-shadow: 0 0 0 0 rgba(255, 106, 0, 0.46), 0 0 16px rgba(255, 143, 70, 0.34);
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-status {
    border-color: rgba(255, 191, 139, 0.34);
    box-shadow: inset 0 1px 0 rgba(255, 240, 224, 0.14), 0 12px 24px rgba(255, 106, 0, 0.14);
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker {
    animation: cg-gallery-radio-speaker 1.8s ease-in-out infinite alternate;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__bar:nth-child(1) {
    animation: cg-gallery-radio-vu-1 1.08s cubic-bezier(0.42, 0, 0.38, 1) infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__bar:nth-child(2) {
    animation: cg-gallery-radio-vu-2 0.68s cubic-bezier(0.46, 0, 0.32, 1) infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__bar:nth-child(3) {
    animation: cg-gallery-radio-vu-3 1.24s cubic-bezier(0.4, 0, 0.3, 1) infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__level:nth-child(1) {
    animation: cg-gallery-radio-level-1 0.82s ease-in-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__level:nth-child(2) {
    animation: cg-gallery-radio-level-2 0.64s ease-in-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__level:nth-child(3) {
    animation: cg-gallery-radio-level-3 0.9s ease-in-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__level:nth-child(4) {
    animation: cg-gallery-radio-level-4 0.74s ease-in-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-speaker__level:nth-child(5) {
    animation: cg-gallery-radio-level-5 1.02s ease-in-out infinite;
}

.cg-gallery-radio-card.is-playing .cg-gallery-radio-toggle {
    animation: cg-gallery-radio-toggle-pulse 1.8s ease-in-out infinite;
}

.cg-gallery-radio-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 224px);
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 150, 73, 0.96) 0%, rgba(255, 92, 37, 0.98) 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 20px rgba(255, 106, 0, 0.18), inset 0 1px 0 rgba(255, 246, 235, 0.22);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease, background-color 0.22s ease;
}

.cg-gallery-radio-link:hover,
.cg-gallery-radio-link:focus-visible {
    background: linear-gradient(180deg, rgba(255, 174, 104, 0.98) 0%, rgba(255, 98, 51, 1) 100%);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(255, 106, 0, 0.24), 0 0 18px rgba(255, 153, 86, 0.16);
    filter: brightness(1.04);
}

@keyframes cg-gallery-dancer-left {
    0%,
    100% {
        transform: translate3d(-8px, 0, 0) scaleX(-1) rotate(-4deg) scale(1.01);
    }
    24% {
        transform: translate3d(4px, -2px, 0) scaleX(-1) rotate(-1deg) scale(1.05);
    }
    52% {
        transform: translate3d(14px, 3px, 0) scaleX(-1) rotate(4deg) scale(1.08);
    }
    76% {
        transform: translate3d(8px, 1px, 0) scaleX(-1) rotate(1deg) scale(1.04);
    }
}

@keyframes cg-gallery-dancer-right {
    0%,
    100% {
        transform: translate3d(8px, 0, 0) rotate(-4deg) scale(0.98);
    }
    24% {
        transform: translate3d(-2px, -5px, 0) rotate(-1deg) scale(0.95);
    }
    52% {
        transform: translate3d(-10px, -7px, 0) rotate(4deg) scale(0.91);
    }
    76% {
        transform: translate3d(-6px, -4px, 0) rotate(1deg) scale(0.94);
    }
}

@keyframes cg-gallery-radio-badge {
    0%,
    100% {
        transform: translateY(0);
        filter: saturate(1);
    }
    50% {
        transform: translateY(-1px);
        filter: saturate(1.08);
    }
}

@keyframes cg-gallery-radio-badge-sheen {
    0%,
    70%,
    100% {
        transform: translateX(-135%);
    }
    28% {
        transform: translateX(135%);
    }
}

@keyframes cg-gallery-radio-badge-sheen {
    0%,
    70%,
    100% {
        transform: translateX(-135%);
    }
    28% {
        transform: translateX(135%);
    }
}

@keyframes cg-gallery-radio-live {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 106, 0, 0.46);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(255, 106, 0, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 106, 0, 0);
    }
}

@keyframes cg-gallery-radio-speaker {
    from {
        filter: brightness(0.96);
        transform: scale(1);
    }
    to {
        filter: brightness(1.08);
        transform: scale(1.02);
    }
}

@keyframes cg-gallery-radio-vu-1 {
    0%,
    100% {
        transform: scaleY(0.58);
        opacity: 0.72;
    }
    35% {
        transform: scaleY(1.24);
        opacity: 1;
    }
    72% {
        transform: scaleY(0.84);
    }
}

@keyframes cg-gallery-radio-vu-2 {
    0%,
    100% {
        transform: scaleY(0.46);
        opacity: 0.7;
    }
    22% {
        transform: scaleY(1.34);
        opacity: 1;
    }
    54% {
        transform: scaleY(0.88);
        opacity: 0.84;
    }
    78% {
        transform: scaleY(1.12);
        opacity: 0.84;
    }
}

@keyframes cg-gallery-radio-vu-3 {
    0%,
    100% {
        transform: scaleY(0.62);
        opacity: 0.76;
    }
    44% {
        transform: scaleY(0.94);
        opacity: 0.88;
    }
    68% {
        transform: scaleY(1.22);
        opacity: 1;
    }
}

@keyframes cg-gallery-radio-level-1 {
    0%,
    100% {
        transform: scaleY(0.7);
    }
    48% {
        transform: scaleY(1.42);
    }
}

@keyframes cg-gallery-radio-level-2 {
    0%,
    100% {
        transform: scaleY(0.58);
    }
    30% {
        transform: scaleY(1.68);
    }
    72% {
        transform: scaleY(1.08);
    }
}

@keyframes cg-gallery-radio-level-3 {
    0%,
    100% {
        transform: scaleY(0.64);
    }
    52% {
        transform: scaleY(1.72);
    }
}

@keyframes cg-gallery-radio-level-4 {
    0%,
    100% {
        transform: scaleY(0.66);
    }
    40% {
        transform: scaleY(1.38);
    }
    82% {
        transform: scaleY(0.94);
    }
}

@keyframes cg-gallery-radio-level-5 {
    0%,
    100% {
        transform: scaleY(0.62);
    }
    46% {
        transform: scaleY(1.56);
    }
}

.cg-team-card {
    min-height: 180px;
}

.cg-team-card h3 {
    margin-bottom: 8px;
    font-size: 18px;
}

.cg-signup-list {
    display: grid;
    gap: 22px;
}

.cg-signup-card {
    padding: 38px 38px 34px;
}

.cg-signup-card h2 {
    margin-bottom: 24px;
    font-size: clamp(30px, 3vw, 46px);
    letter-spacing: 0;
}

.cg-signup-card__image {
    aspect-ratio: 1324 / 436;
    margin-bottom: 24px;
}

.cg-footer {
    min-height: var(--cg-footer-box-height);
    padding: 34px 0 26px;
}

.cg-footer__grid {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 34px;
    padding-top: 26px;
}

.cg-footer__contact {
    display: grid;
    gap: 22px;
    padding: 18px 20px 20px;
    border-radius: 16px;
    background: rgba(42, 36, 52, 0.28);
}

.cg-footer__contact,
.cg-footer__info,
.cg-footer__map {
    height: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.cg-footer__contact-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.cg-footer__info {
    display: grid;
    gap: 22px;
    padding: 18px 20px 20px;
    border: 1px solid var(--cg-panel-border);
    border-radius: 16px;
    background: rgba(42, 36, 52, 0.28);
}

.cg-footer h3 {
    color: #a542ff;
    font-size: 16px;
    margin-bottom: 6px;
}

.cg-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
    min-width: 0;
}

.cg-socials a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid rgba(176, 35, 255, 0.6);
    border-radius: 999px;
    background: rgba(42, 36, 52, 0.72);
    font-size: 14px;
    color: var(--cg-text);
    box-shadow: 0 10px 18px rgba(8, 4, 18, 0.12);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background-color 0.22s ease, filter 0.22s ease;
    min-width: 0;
}

@media (hover: hover) and (pointer: fine) {
    .cg-socials a:hover,
    .cg-socials a:focus-visible {
        transform: translateY(-2px);
        border-color: rgba(210, 133, 255, 0.96);
        background: rgba(74, 56, 96, 0.78);
        box-shadow: 0 16px 26px rgba(8, 4, 18, 0.24), 0 0 18px rgba(176, 35, 255, 0.2);
        filter: brightness(1.05);
    }
}

.cg-socials__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: var(--cg-accent-green);
    overflow: visible;
}

.cg-socials__icon svg {
    display: block;
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
}

.cg-socials__label {
    line-height: 1;
}

.cg-contact-form {
    display: grid;
    gap: 14px;
    margin-top: 10px;
}

.cg-contact-email {
    color: var(--cg-accent-green);
    transition: color 0.22s ease, text-shadow 0.22s ease, filter 0.22s ease;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (hover: hover) and (pointer: fine) {
    .cg-contact-email:hover,
    .cg-contact-email:focus-visible {
        color: #b7ff8b;
        text-shadow: 0 0 14px rgba(93, 255, 46, 0.22);
        filter: brightness(1.06);
    }
}

.cg-contact-form__notice {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.45;
}

.cg-contact-form__notice--success {
    background: rgba(93, 255, 46, 0.12);
    border: 1px solid rgba(93, 255, 46, 0.35);
    color: #d9ffd0;
}

.cg-contact-form__notice--error {
    background: rgba(255, 106, 0, 0.12);
    border: 1px solid rgba(255, 106, 0, 0.35);
    color: #ffd8be;
}

.cg-contact-form__input,
.cg-contact-form textarea {
    width: 100%;
    resize: vertical;
    padding: 16px;
    border: 1px solid var(--cg-panel-border);
    border-radius: 14px;
    background: transparent;
    color: var(--cg-text);
}

.cg-contact-form__input {
    min-height: 52px;
}

.cg-contact-form textarea {
    min-height: 140px;
}

.cg-news-signup__text {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(241, 233, 255, 0.84);
}

.cg-news-signup__form {
    margin-top: 0;
}

.cg-news-signup__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(241, 233, 255, 0.84);
}

.cg-news-signup__consent input {
    margin-top: 3px;
}

.cg-footer__map {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 18px 20px 20px;
    border: 1px solid var(--cg-panel-border);
    border-radius: 16px;
    background: rgba(42, 36, 52, 0.28);
}

.cg-footer__map-frame {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 1px solid var(--cg-panel-border);
    border-radius: 18px;
    background: rgba(42, 36, 52, 0.72);
}

.cg-footer__map-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    filter: saturate(0.95) contrast(1.02);
}

.cg-footer__map-link-wrap {
    margin: 0;
}

.cg-footer__map-digital-address {
    margin: 0;
    color: rgba(241, 233, 255, 0.84);
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.cg-footer__map-digital-address strong {
    color: #fff;
}

.cg-footer__map-link {
    justify-self: start;
}

.cg-footer__legal {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(176, 35, 255, 0.2);
}

.cg-footer__legal p {
    margin: 0;
    color: rgba(241, 233, 255, 0.82);
    font-size: 14px;
    line-height: 1.6;
}

.cg-footer__copyright {
    margin-top: 36px;
    text-align: center;
    color: #9244ff;
    font-size: 14px;
}

.cg-generic-page {
    padding-top: 28px;
}

.cg-generic-page h1 {
    font-size: 54px;
    margin-bottom: 18px;
}

.cg-image {
    display: block;
    width: 100%;
    height: 100%;
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.cg-image--home-hero {
    background-image: url('../images/Home.png');
    background-size: cover;
    background-position: center top;
}

.cg-image--home-card-online {
    background-image: url('../images/fundamentos da cripto ginga.png');
    background-size: cover;
    background-position: center;
}

.cg-image--home-card-presential {
    background-image: url('../images/criptoginga.png');
    background-size: cover;
    background-position: center;
}

.cg-image--signup-card-online {
    background-image: url('../images/fundamentos da cripto ginga.png');
    background-size: cover;
    background-position: center;
}

.cg-image--signup-card-presential {
    background-image: url('../images/criptoginga.png');
    background-size: cover;
    background-position: center;
}

.cg-image--about {
    background-image: url('../images/Sobre.png');
    background-size: 250.4% 315.1%;
    background-position: 100% 17%;
}

.cg-image--news {
    background-image: url('../images/Notícias-1.png');
    background-size: 307.9% 421.6%;
    background-position: 0 18%;
}

@media (max-width: 1100px) {
    .cg-home-notebook {
        width: min(calc(100% - 20px), 1120px);
        margin-top: 8px;
        height: calc(100vh - 28px);
    }
    .cg-home-notebook__viewport {
        padding: 18px 34px 40px;
    }
    .cg-home-notebook__base {
        width: calc(100% + 44px);
        margin-left: -22px;
    }
    .cg-home-notebook::before {
        width: 164px;
        height: 21px;
    }
    .cg-hero__grid,
    .cg-about-intro,
    .cg-feature-grid,
    .cg-footer__grid,
    .cg-news-grid,
    .cg-team-grid {
        grid-template-columns: 1fr;
    }
    .primary-nav__list {
        gap: 18px;
    }
    .cg-logo-band__heading {
        grid-template-columns: 1fr auto 1fr;
    }
    .cg-logo-band__items--support,
    .cg-logo-band__items--partners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cg-page-intro,
    .cg-section-heading {
        padding: 20px;
    }
    .cg-hero__visuals {
        grid-template-columns: minmax(96px, 160px) minmax(240px, 420px);
        gap: 20px;
        max-width: 596px;
    }
    .cg-news-grid--related {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cg-news-card--featured {
        grid-template-columns: 1fr;
    }
    .cg-news-card--featured .cg-news-card__wrap {
        grid-template-columns: 1fr;
    }
    .cg-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cg-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cg-footer__map {
        grid-column: 1 / -1;
    }
    .cg-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .cg-footer {
        min-height: auto;
    }
    .cg-home-notebook {
        width: min(calc(100% - 16px), 100%);
        margin-top: 8px;
        height: auto;
    }
    .cg-home-notebook__screen {
        min-height: auto;
        border-radius: 20px 20px 12px 12px;
        overflow: visible;
    }
    .cg-home-notebook__viewport {
        height: auto;
        min-height: auto;
        padding: 14px 16px 28px;
        overflow: visible;
    }
    .cg-home-notebook::before {
        width: 112px;
        height: 16px;
    }
    .cg-home-notebook__base {
        width: calc(100% + 20px);
        height: 18px;
        margin-left: -10px;
    }
    .container {
        width: min(calc(100% - 32px), var(--cg-container));
    }
    .site-header {
        top: 4px;
        padding: 0 0 8px;
    }
    .site-header .container {
        width: min(calc(100% - 32px), var(--cg-header-width));
    }
    .cg-header {
        flex-wrap: wrap;
        align-items: center;
        min-height: auto;
        padding: 6px 10px;
        border-radius: 16px;
    }
    .site-logo {
        margin-right: auto;
    }
    .primary-nav__toggle {
        display: inline-flex;
        flex-direction: column;
        flex-shrink: 0;
        position: relative;
        z-index: 91;
    }
    .primary-nav {
        width: 100%;
        padding-top: 8px;
    }
    .primary-nav__mobile-overlay {
        display: none;
    }
    .js .primary-nav {
        display: none;
    }
    .js .primary-nav__mobile-overlay.is-open {
        position: fixed;
        inset: 0;
        z-index: 90;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px 22px 28px;
        background: #241d2d;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .js .primary-nav__mobile-overlay.is-open::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }
    .js .primary-nav__mobile-overlay.is-open::before,
    .js .primary-nav__mobile-overlay.is-open::after {
        content: "";
        position: fixed;
        z-index: 0;
        pointer-events: none;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        opacity: 0.92;
        transition: transform 0.62s cubic-bezier(0.22, 1, 0.36, 1), filter 0.62s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.62s ease;
        will-change: transform, filter;
    }
    .js .primary-nav__mobile-overlay.is-open::before {
        left: -6px;
        bottom: 6px;
        width: min(26vw, 118px);
        height: min(30vh, 214px);
        background-image: url('../images/home-decor-trident.png');
        transform: translate3d(0, 0, 0) rotate(-2deg);
        transform-origin: bottom left;
    }
    .js .primary-nav__mobile-overlay.is-open::after {
        right: -2px;
        bottom: 28px;
        width: min(35vw, 152px);
        height: min(24vh, 164px);
        background-image: url('../images/home-decor-dancer.png');
        transform: translate3d(0, 0, 0) rotate(1.5deg);
        transform-origin: bottom right;
    }
    .js .primary-nav__mobile-overlay.is-open:hover::before,
    .js .primary-nav__mobile-overlay.is-open.is-engaged::before {
        opacity: 0.98;
        transform: translate3d(6px, -10px, 0) rotate(-5deg) scale(1.05);
        filter: drop-shadow(0 0 18px rgba(176, 35, 255, 0.2));
    }
    .js .primary-nav__mobile-overlay.is-open:hover::after,
    .js .primary-nav__mobile-overlay.is-open.is-engaged::after {
        opacity: 0.98;
        transform: translate3d(-8px, -12px, 0) rotate(4deg) scale(1.06);
        filter: drop-shadow(0 0 20px rgba(176, 35, 255, 0.22));
    }
    .js .primary-nav__mobile-overlay.is-open .primary-nav__mobile-brand {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 20px 0 28px;
    }
    .js .primary-nav__mobile-overlay.is-open .primary-nav__mobile-logo .cg-logo__image {
        width: min(42vw, 168px);
        max-width: min(42vw, 168px);
        max-height: none;
    }
    .primary-nav__list {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 8px;
    }
    .primary-nav__mobile-list {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 16px;
        width: 100%;
        padding: 0 0 56px;
        margin: 0;
        list-style: none;
    }
    .primary-nav__mobile-list>li {
        list-style: none;
    }
    .primary-nav__mobile-list>li>a,
    .primary-nav__mobile-list .primary-nav__item a {
        position: relative;
        display: inline-flex;
        justify-content: center;
        min-height: auto;
        padding: 8px 18px;
        border-radius: 999px;
        background: transparent;
        font-size: clamp(20px, 5.6vw, 28px);
        font-weight: 700;
        line-height: 1.2;
        box-shadow: none;
        text-align: center;
    }
    .primary-nav__mobile-list>li>a:active,
    .primary-nav__mobile-list .primary-nav__item a:active {
        background: rgba(98, 60, 129, 0.18);
        box-shadow: 0 0 18px rgba(176, 35, 255, 0.1);
    }
    @media (hover: hover) and (pointer: fine) {
        .primary-nav__mobile-list>li>a:hover,
        .primary-nav__mobile-list>li>a:focus-visible,
        .primary-nav__mobile-list .primary-nav__item a:hover,
        .primary-nav__mobile-list .primary-nav__item a:focus-visible {
            background: rgba(98, 60, 129, 0.18);
            box-shadow: 0 0 18px rgba(176, 35, 255, 0.1);
        }
    }
    .primary-nav__toggle[aria-expanded="true"] {
        position: fixed;
        top: 16px;
        right: 14px;
        z-index: 92;
        width: 48px;
        height: 48px;
        border-color: transparent;
        background: transparent;
        color: #fff;
        box-shadow: none;
        filter: none;
    }
    .primary-nav__toggle[aria-expanded="true"]:hover,
    .primary-nav__toggle[aria-expanded="true"]:focus-visible {
        background: transparent;
        border-color: transparent;
        box-shadow: none;
        transform: none;
    }
    .primary-nav__toggle[aria-expanded="true"] .primary-nav__toggle-line {
        width: 22px;
        height: 3px;
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.18);
    }
    .primary-nav__toggle[aria-expanded="true"] .primary-nav__toggle-line:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }
    .primary-nav__toggle[aria-expanded="true"] .primary-nav__toggle-line:nth-child(2) {
        opacity: 0;
    }
    .primary-nav__toggle[aria-expanded="true"] .primary-nav__toggle-line:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }
    .cg-logo__image {
        max-width: min(120px, 34vw);
    }
    .cg-hero,
    .cg-page-shell {
        padding-top: 10px;
    }
    .cg-hero__visuals {
        grid-template-columns: minmax(78px, 110px) minmax(180px, 260px);
        gap: 16px;
        justify-content: start;
        max-width: 100%;
    }
    .cg-hero__box--dancer,
    .cg-hero__box--trident {
        transform: none;
    }
    .cg-hero__box {
        padding: 0;
    }
    .cg-feature-card,
    .cg-team-card,
    .cg-news-card,
    .cg-single-post,
    .cg-generic-page,
    .cg-about-intro__content,
    .cg-page-intro,
    .cg-section-heading {
        padding: 18px;
    }
    .cg-section-heading,
    .cg-page-intro {
        gap: 10px;
        margin-bottom: 18px;
    }
    .cg-section-heading::before,
    .cg-page-intro::before,
    .cg-section-heading::after,
    .cg-page-intro::after {
        min-width: 24px;
    }
    .cg-section-heading h2,
    .cg-page-intro h1,
    .cg-more-news h2 {
        min-height: auto;
        padding: 0;
    }
    .cg-logo-band__heading {
        gap: 12px;
    }
    .cg-panel--with-thumb {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .cg-panel__media {
        width: min(180px, 100%);
    }
    .cg-logo-band__heading span {
        font-size: 28px;
    }
    .cg-logo-band__items--support,
    .cg-logo-band__items--partners {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .cg-logo-band__items--support {
        padding-left: 0;
    }
    .cg-logo-band__items--support,
    .cg-logo-band__items--partners {
        justify-content: stretch;
        justify-items: stretch;
    }
    .cg-logo-band__items--support .cg-brand-slot,
    .cg-logo-band__items--partners .cg-brand-slot {
        justify-self: stretch;
    }
    .cg-brand-slot {
        width: 100%;
        min-height: 64px;
        padding-left: 12px;
        padding-right: 12px;
    }
    .cg-hero__content h1,
    .cg-page-intro h1,
    .cg-feature-card h2,
    .cg-single-post h1,
    .cg-signup-card h2,
    .cg-generic-page h1 {
        font-size: 42px;
    }
    .cg-hero__content p,
    .cg-page-intro__kicker {
        font-size: 19px;
    }
    .cg-announcement__bar {
        padding: 20px 16px;
        font-size: 16px;
    }
    .cg-announcement__bar>span {
        min-width: 0;
        gap: 10px;
    }
    .cg-announcement__bar>span::before {
        width: 14px;
        height: 14px;
    }
    .cg-news-grid,
    .cg-news-grid--related {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
    .cg-gallery-photo-grid,
    .cg-gallery-video-grid {
        grid-template-columns: 1fr;
    }
    .cg-gallery-radio-card {
        grid-template-columns: 1fr;
        padding: 18px 14px 18px;
    }
    .cg-gallery-radio-card__main {
        justify-items: center;
    }
    .cg-gallery-radio-card__meta {
        justify-items: center;
        text-align: center;
    }
    .cg-gallery-radio-card__meta {
        gap: 6px;
    }
    .cg-gallery-radio-name {
        max-width: none;
        font-size: 22px;
    }
    .cg-gallery-radio-card__player {
        width: min(100%, 206px);
        padding-bottom: 12px;
    }
    .cg-gallery-radio-shell {
        width: min(100%, 182px);
        gap: 10px;
        padding: 20px 12px 12px;
    }
    .cg-gallery-radio-speaker {
        gap: 4px;
        padding: 12px 8px;
    }
    .cg-gallery-radio-speaker__display {
        gap: 2px;
        min-height: 18px;
        padding: 4px 5px;
    }
    .cg-gallery-radio-speaker__bar {
        width: 6px;
    }
    .cg-gallery-radio-artwork {
        max-width: 64px;
        border-radius: 14px;
    }
    .cg-gallery-radio-toggle {
        width: 42px;
        height: 42px;
    }
    .cg-gallery-radio-panel {
        padding: 12px;
    }
    .cg-gallery-radio-dancers {
        min-height: 144px;
        gap: 1px;
        padding: 0 4px;
    }
    .cg-gallery-radio-dancer__image {
        bottom: 6px;
        width: min(28%, 86px);
    }
    .cg-gallery-radio-link {
        width: 100%;
        max-width: 100%;
    }
    .cg-footer__grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 18px;
    }
    .cg-footer__map {
        grid-column: auto;
    }
    .cg-team-grid {
        grid-template-columns: 1fr;
    }
    .cg-footer__contact,
    .cg-footer__info,
    .cg-footer__map {
        width: 100%;
        padding: 16px;
        border-radius: 14px;
    }
    .cg-footer__contact-block,
    .cg-contact-form,
    .cg-news-signup__form,
    .cg-footer__map-frame,
    .cg-news-signup__consent,
    .cg-socials,
    .cg-socials a {
        width: 100%;
        min-width: 0;
    }
    .cg-socials {
        display: grid;
        gap: 8px;
    }
    .cg-socials a {
        justify-content: flex-start;
        padding: 10px 12px;
    }
    .cg-socials__label {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .cg-contact-form__input,
    .cg-contact-form textarea,
    .cg-button,
    .cg-button--secondary,
    .cg-button--ghost,
    .cg-footer__map-link,
    .cg-gallery-radio-link {
        width: 100%;
        max-width: 100%;
    }
    .cg-footer__map-link,
    .cg-gallery-radio-link,
    .cg-button,
    .cg-button--secondary,
    .cg-button--ghost {
        justify-content: center;
    }
    .cg-footer__map-frame {
        aspect-ratio: 4 / 3;
    }
    .cg-news-signup__consent {
        grid-template-columns: 18px minmax(0, 1fr);
        display: grid;
        align-items: start;
    }
    .cg-news-signup__consent input {
        margin-top: 2px;
    }
    .cg-gallery-content .gallery {
        grid-template-columns: 1fr;
    }
    .cg-post-navigation {
        grid-template-columns: 1fr;
    }
    .cg-post-navigation__item--next {
        text-align: left;
    }
    .cg-signup-card,
    .cg-panel {
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 480px) {
    .container,
    .site-header .container {
        width: min(calc(100% - 24px), var(--cg-container));
    }
    .cg-header {
        gap: 8px;
        padding: 5px 8px;
    }
    .cg-logo__image {
        max-width: 104px;
    }
    .primary-nav__toggle {
        width: 42px;
        height: 42px;
    }
    .cg-hero__grid,
    .cg-about-intro {
        gap: 28px;
    }
    .cg-hero__visuals {
        grid-template-columns: minmax(56px, 82px) minmax(0, 1fr);
        gap: 12px;
        justify-content: center;
        max-width: 286px;
        margin-right: auto;
    }
    .cg-hero__content h1,
    .cg-page-intro h1,
    .cg-feature-card h2,
    .cg-single-post h1,
    .cg-signup-card h2,
    .cg-generic-page h1 {
        font-size: 34px;
        line-height: 1.12;
    }
    .cg-section-heading h2,
    .cg-more-news h2 {
        font-size: 30px;
        line-height: 1.14;
    }
    .cg-hero__content p,
    .cg-feature-card p,
    .cg-news-card__excerpt,
    .cg-panel p,
    .cg-team-card p,
    .cg-signup-card p,
    .cg-about-intro__content p,
    .cg-single-post__content p,
    .cg-footer p,
    .cg-generic-page p {
        font-size: 15px;
    }
    .cg-page-intro__kicker {
        font-size: 17px;
    }
    .cg-feature-card,
    .cg-team-card,
    .cg-news-card,
    .cg-single-post,
    .cg-generic-page,
    .cg-about-intro__content,
    .cg-page-intro,
    .cg-section-heading {
        padding: 14px;
    }
    .cg-signup-card,
    .cg-panel {
        padding: 20px 16px;
        border-radius: 18px;
    }
    .cg-panel__media {
        width: min(148px, 100%);
    }
    .cg-announcement__bar {
        padding: 16px 14px;
    }
    .cg-feature-grid,
    .cg-news-grid,
    .cg-gallery-photo-grid,
    .cg-gallery-video-grid,
    .cg-gallery-content .gallery {
        gap: 14px;
    }
    .cg-brand-slot {
        min-height: 58px;
    }
    .cg-brand-image {
        max-height: 48px;
    }
    .cg-footer__contact,
    .cg-footer__info,
    .cg-footer__map,
    .cg-post-navigation__item {
        padding: 14px;
    }
    .cg-footer__map-frame {
        aspect-ratio: 1 / 1;
    }
}

@keyframes cg-gallery-radio-toggle-pulse {
    0%,
    100% {
        transform: translate(-50%, 28%) scale(1);
        box-shadow: 0 14px 24px rgba(255, 106, 0, 0.24), inset 0 1px 0 rgba(255, 246, 235, 0.36);
    }
    50% {
        transform: translate(-50%, 28%) scale(1.05);
        box-shadow: 0 18px 28px rgba(255, 106, 0, 0.3), 0 0 18px rgba(255, 153, 86, 0.22), inset 0 1px 0 rgba(255, 246, 235, 0.36);
    }
}

@keyframes cg-gallery-capoeira-dance {
    0%,
    100% {
        transform: translate3d(0, 0, 0) rotate(-5deg) scale(1.04);
    }
    24% {
        transform: translate3d(4px, -6px, 0) rotate(2deg) scale(1.07);
    }
    52% {
        transform: translate3d(-5px, 4px, 0) rotate(8deg) scale(1.03);
    }
    78% {
        transform: translate3d(3px, -3px, 0) rotate(-1deg) scale(1.06);
    }
}

@keyframes cg-gallery-capoeira-orbit {
    0% {
        transform: rotate(0deg) scale(0.9);
    }
    50% {
        transform: rotate(180deg) scale(1.04);
        opacity: 0.68;
    }
    100% {
        transform: rotate(360deg) scale(0.9);
    }
}

.\/* Realização block styles (minimal, safe additions) *\/
.cg-realizacao { text-align: center; margin: 24px 0 8px; }
.cg-realizadores-row { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-bottom:12px; }
.cg-cripto-ginga-centre { margin: 0 auto 8px; width: 220px; height: auto; display:flex; align-items:center; justify-content:center; }
.cg-cripto-ginga-image { max-width:100%; max-height:120px; object-fit:contain; transform-origin: 50% 58%; animation: cg-logo-ginga 5.4s cubic-bezier(0.42, 0, 0.22, 1) infinite; will-change: transform, filter; transition: filter 0.28s ease; }
.cg-cripto-ginga-centre:hover .cg-cripto-ginga-image, .cg-cripto-ginga-centre:focus-visible .cg-cripto-ginga-image { animation-duration: 2.8s; filter: drop-shadow(0 0 16px rgba(176, 35, 255, 0.22)); }
@media (prefers-reduced-motion: reduce) {
    .cg-cripto-ginga-image { animation: none !important; transition: none !important; }
}
.cg-realizacao-sep { width:60%; margin: 8px auto; border:0; border-top:1px solid var(--cg-line); }
.cg-realizacao-label-row { margin-top:8px; font-weight:700; color: var(--cg-text); }

/* Force centering and shrink-to-fit for logo grids (override last) */
.cg-logo-band__items--support,
.cg-logo-band__items--partners,
.cg-logo-band__items--realizadores {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--cg-brand-box-width))) !important;
    gap: 18px 24px !important;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-items: center !important;
}

.cg-logo-band__items--support.cg-logo-band__items--count-1,
.cg-logo-band__items--support.cg-logo-band__items--count-2,
.cg-logo-band__items--partners.cg-logo-band__items--count-1,
.cg-logo-band__items--partners.cg-logo-band__items--count-2,
.cg-logo-band__items--realizadores.cg-logo-band__items--count-1,
.cg-logo-band__items--realizadores.cg-logo-band__items--count-2 {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Layout rules by item count: 1 centered, 2 side-by-side, 3 side-by-side, 4+ wraps to next line */
.cg-logo-band__items {
    display: grid;
    gap: 18px 24px;
    align-items: center;
    justify-items: center;
    justify-content: center;
    grid-auto-flow: row;
}

/* Single item: centered and fluid */
.cg-logo-band__items--count-1 {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* Two items: two columns, centered; columns shrink on small screens */
.cg-logo-band__items--count-2 {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    width: 100%;
    max-width: calc(2 * 260px + 24px);
    margin-left: auto;
    margin-right: auto;
}

/* Three items: three columns */
.cg-logo-band__items--count-3 {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    width: 100%;
    max-width: calc(3 * 260px + 48px);
    margin-left: auto;
    margin-right: auto;
}

/* Four or more: keep 3 columns, additional items wrap to next row */
.cg-logo-band__items--count-4,
.cg-logo-band__items--count-5,
.cg-logo-band__items--count-6,
.cg-logo-band__items--count-7,
.cg-logo-band__items--count-8 {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    width: 100%;
    max-width: calc(3 * 260px + 48px);
    margin-left: auto;
    margin-right: auto;
}

/* Responsive adjustments */
@media (max-width: 900px) {
    .cg-logo-band__items--count-2,
    .cg-logo-band__items--count-3,
    .cg-logo-band__items--count-4,
    .cg-logo-band__items--count-5 {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
        max-width: calc(2 * 220px + 24px);
    }
}

@media (max-width: 520px) {
    .cg-logo-band__items--count-1,
    .cg-logo-band__items--count-2,
    .cg-logo-band__items--count-3,
    .cg-logo-band__items--count-4 {
        grid-template-columns: 1fr;
        max-width: 100%;
        gap: 12px 12px;
    }
    .cg-brand-image { max-height: 68px !important; }
}

/* Two-item layout: place items at left and right, keep center empty */
.cg-logo-band__items--count-2 {
    grid-template-columns: 1fr minmax(160px, 320px) 1fr;
    width: 100%;
    max-width: calc(3 * 260px + 48px);
    margin-left: auto;
    margin-right: auto;
}
.cg-logo-band__items--count-2 .cg-brand-slot:first-child { grid-column: 1; justify-self: end; }
.cg-logo-band__items--count-2 .cg-brand-slot:last-child { grid-column: 3; justify-self: start; }

/* Ensure two-logo placement falls back on smaller screens */
@media (max-width: 900px) {
    .cg-logo-band__items--count-2 { grid-template-columns: repeat(2, minmax(140px, 1fr)) !important; max-width: calc(2 * 220px + 24px) !important; }
    .cg-logo-band__items--count-2 .cg-brand-slot { grid-column: auto !important; justify-self: center !important; }
}

@media (max-width: 520px) {
    .cg-logo-band__items--count-2 { grid-template-columns: 1fr !important; }
    .cg-logo-band__items--count-2 .cg-brand-slot { grid-column: auto !important; justify-self: center !important; }
}
