/**
 * صفحهٔ دستورالعمل برند حسابیکس
 *
 * @package Hesabix2
 */

.hx-brand {
    --hx-navy: #001870;
    --hx-sky: #0ea5e9;
    --hx-accent: #f97316;
    --hx-ink: #0f172a;
    --hx-mute: #475569;
    --hx-line: rgba(15, 23, 42, 0.1);
    --hx-paper: #f7f8fa;
    --hx-ease: cubic-bezier(0.22, 1, 0.36, 1);
    color: var(--hx-ink);
    background: var(--hx-paper);
}

@font-face {
    font-family: 'Yekan Bakh FaNum';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/woff2/YekanBakhFaNum-SemiBold.woff2') format('woff2');
}

.hesabix2-brand-page {
    scroll-padding-top: 5.5rem;
}

html:has(.hesabix2-brand-page) {
    scroll-padding-top: 5.5rem;
}

.hx-brand-wrap {
    width: min(72rem, calc(100% - 2rem));
    margin-inline: auto;
}

@media (min-width: 640px) {
    .hx-brand-wrap { width: min(72rem, calc(100% - 3rem)); }
}

/* ——— Hero ——— */
.hx-brand-hero {
    position: relative;
    color: #f8fafc;
    background:
        radial-gradient(90% 80% at 100% 0%, rgba(14, 165, 233, 0.28) 0%, transparent 55%),
        radial-gradient(70% 60% at 0% 100%, rgba(0, 24, 112, 0.9) 0%, transparent 50%),
        linear-gradient(165deg, #01030c 0%, #071029 42%, #00105a 100%);
    padding: 2.25rem 0 4rem;
    overflow: hidden;
    perspective: 1200px;
}

.hx-brand-hero__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.hx-brand-hero__aurora {
    position: absolute;
    inset: -30% -20% auto;
    height: 80%;
    background: conic-gradient(from 210deg at 60% 40%, rgba(14, 165, 233, 0.28), transparent 32%, rgba(249, 115, 22, 0.12), transparent 62%, rgba(0, 24, 112, 0.4), transparent 85%);
    filter: blur(52px);
    animation: hx-brand-aurora 18s ease-in-out infinite alternate;
    pointer-events: none;
}

.hx-brand-hero__veil {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(248, 250, 252, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(248, 250, 252, 0.05) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 75% 70% at 70% 30%, #000 10%, transparent 70%);
    pointer-events: none;
    animation: hx-brand-grid-drift 28s linear infinite;
}

.hx-brand-hero__inner {
    position: relative;
    z-index: 1;
}

.hx-brand-hero__crumb { margin-bottom: 1.25rem; }

.hx-brand-hero__grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .hx-brand-hero {
        padding: 3rem 0 5rem;
        min-height: min(88vh, 52rem);
        display: flex;
        align-items: center;
    }
    .hx-brand-hero__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 2rem;
    }
}

.hx-brand-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #e2e8f0 !important;
    -webkit-text-fill-color: #e2e8f0;
    animation: hx-brand-rise 0.9s var(--hx-ease) both;
}

.hx-brand-hero__kicker::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: var(--hx-sky);
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.2);
    animation: hx-brand-pulse 2.4s ease-in-out infinite;
}

.hx-brand-hero__title {
    margin: 0 0 1.25rem;
    font-size: clamp(3.25rem, 8vw, 7.5rem);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 0.95;
    color: #ffffff;
    animation: hx-brand-rise 1s var(--hx-ease) 0.08s both;
}

.hx-brand-hero__title-3d {
    display: inline-block;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    filter: none;
    position: relative;
    text-shadow:
        0 1px 0 #e0f2fe,
        0 2px 0 #7dd3fc,
        0 3px 0 #38bdf8,
        0 4px 0 #0ea5e9,
        0 10px 28px rgba(14, 165, 233, 0.45);
}

.hx-brand-hero__lead {
    margin: 0 0 1.75rem;
    max-width: 40rem;
    font-size: clamp(1rem, 0.95rem + 0.4vw, 1.2rem);
    line-height: 1.85;
    color: #dbeafe !important;
    -webkit-text-fill-color: #dbeafe;
    animation: hx-brand-rise 1s var(--hx-ease) 0.16s both;
}

.hx-brand-hero__actions {
    animation: hx-brand-rise 1s var(--hx-ease) 0.24s both;
}

.hx-brand-hero__actions,
.hx-brand-close__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.hx-brand-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.65rem 1.25rem;
    border-radius: 999px;
    background: #fff;
    color: var(--hx-navy);
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s var(--hx-ease), background 0.2s ease, color 0.2s ease;
    box-shadow: 0 10px 24px -12px rgba(14, 165, 233, 0.55);
}

.hx-brand-btn:hover {
    background: #e0f2fe;
    color: var(--hx-navy);
    text-decoration: none;
    transform: translateY(-1px);
}

.hx-brand-btn--ghost {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.hx-brand-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.hx-brand-close .hx-brand-btn--ghost {
    color: var(--hx-ink);
    border-color: var(--hx-line);
}

.hx-brand-close .hx-brand-btn--ghost:hover {
    background: #fff;
    color: var(--hx-ink);
}

/* ——— Layout + TOC ——— */
.hx-brand-shell {
    padding: 2.5rem 0 4.5rem;
}

.hx-brand-layout {
    display: grid;
    gap: 2.5rem;
}

@media (min-width: 1024px) {
    .hx-brand-layout {
        grid-template-columns: 13.5rem minmax(0, 1fr);
        gap: 3.5rem;
        align-items: start;
    }
    .hx-brand-toc {
        position: sticky;
        top: calc(var(--header-h, 4.5rem) + 1.25rem);
    }
}

.hx-brand-toc__title {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #94a3b8;
}

.hx-brand-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    border-right: 1px solid var(--hx-line);
}

.hx-brand-toc__list a {
    display: block;
    padding: 0.35rem 0.85rem 0.35rem 0;
    color: var(--hx-mute);
    font-size: 0.875rem;
    text-decoration: none;
    border-right: 2px solid transparent;
    margin-right: -1px;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.hx-brand-toc__list a:hover,
.hx-brand-toc__list a.is-active {
    color: var(--hx-navy);
    border-right-color: var(--hx-navy);
    font-weight: 600;
}

/* ——— Sections ——— */
.hx-brand-section {
    padding-bottom: 3rem;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid var(--hx-line);
}

.hx-brand-section:last-of-type { border-bottom: 0; margin-bottom: 0; }

.hx-brand-section h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.65rem, 1.3rem + 1vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.hx-brand-section h3 {
    margin: 1.75rem 0 0.65rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.hx-brand-section > p,
.hx-brand-note {
    margin: 0 0 1.25rem;
    max-width: 42rem;
    color: var(--hx-mute);
    line-height: 1.9;
    font-size: 1.02rem;
}

.hx-brand-facts {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.75rem;
}

@media (min-width: 640px) {
    .hx-brand-facts { grid-template-columns: 1fr 1fr; }
}

.hx-brand-fact {
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.15rem;
    padding: 1.15rem 1.25rem;
}

.hx-brand-fact h3 {
    margin: 0 0 0.35rem;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 700;
}

.hx-brand-fact p {
    margin: 0;
    font-weight: 700;
    font-size: 1.02rem;
}

/* ——— Specimens ——— */
.hx-brand-specimens {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
    margin: 1.5rem 0 0.5rem;
}

@media (min-width: 768px) {
    .hx-brand-specimens { grid-template-columns: repeat(4, 1fr); }
}

.hx-brand-specimen {
    margin: 0;
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--hx-line);
    display: flex;
    flex-direction: column;
}

.hx-brand-specimen img {
    display: block;
    width: 58%;
    max-width: 160px;
    height: auto;
    margin: 1.6rem auto 1.1rem;
}

.hx-brand-specimen figcaption {
    padding: 0.7rem 0.85rem 0.9rem;
    font-size: 0.78rem;
    color: var(--hx-mute);
    text-align: center;
    background: rgba(255, 255, 255, 0.55);
}

.hx-brand-specimen--navy { background: var(--hx-navy); }
.hx-brand-specimen--navy figcaption { color: #cbd5e1; background: rgba(0, 0, 0, 0.18); }
.hx-brand-specimen--light,
.hx-brand-specimen--paper { background: #fff; }
.hx-brand-specimen--dark { background: #0f172a; }
.hx-brand-specimen--dark figcaption { color: #94a3b8; background: rgba(255, 255, 255, 0.04); }

.hx-brand-clearspace {
    margin: 1rem 0 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
}

.hx-brand-clearspace__pad {
    padding: 1.6rem;
    border: 1px dashed rgba(0, 24, 112, 0.35);
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(14, 165, 233, 0.07),
            rgba(14, 165, 233, 0.07) 8px,
            transparent 8px,
            transparent 16px
        );
    border-radius: 1.25rem;
}

.hx-brand-clearspace__pad img {
    display: block;
    width: 120px;
    height: 120px;
}

.hx-brand-clearspace__note {
    margin: 0;
    font-size: 0.8rem;
    color: #64748b;
}

.hx-brand-rules,
.hx-brand-terms {
    margin: 0;
    padding: 0 1.2rem 0 0;
    color: var(--hx-mute);
    line-height: 1.85;
}

.hx-brand-rules li,
.hx-brand-terms li { margin-bottom: 0.45rem; }

.hx-brand-terms { max-width: 42rem; }

/* ——— Wordmark ——— */
.hx-brand-wordmarks {
    display: grid;
    gap: 0.85rem;
    margin: 1.25rem 0;
}

@media (min-width: 768px) {
    .hx-brand-wordmarks { grid-template-columns: repeat(3, 1fr); }
}

.hx-brand-wordmark {
    border-radius: 1.25rem;
    border: 1px solid var(--hx-line);
    padding: 1.75rem 1.25rem 1.1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 9.5rem;
}

.hx-brand-wordmark p {
    margin: 1.25rem 0 0;
    font-size: 0.78rem;
    color: #64748b;
}

.hx-brand-wordmark--light { background: #fff; }
.hx-brand-wordmark--dark {
    background: #0f172a;
    color: #fff;
}
.hx-brand-wordmark--dark p { color: #94a3b8; }

.hx-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.hx-brand-lockup img {
    width: 2.75rem;
    height: 2.75rem;
}

.hx-brand-wordmark__solo,
.hx-brand-wordmark__latin {
    font-size: clamp(1.8rem, 1.4rem + 1vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
}

/* ——— Color ——— */
.hx-brand-swatches {
    display: grid;
    gap: 0.75rem;
}

@media (min-width: 640px) {
    .hx-brand-swatches { grid-template-columns: 1fr 1fr; }
}

.hx-brand-swatch {
    display: flex;
    gap: 0.9rem;
    text-align: right;
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.15rem;
    padding: 0.85rem;
    cursor: pointer;
    transition: border-color 0.15s ease, transform 0.15s var(--hx-ease);
}

.hx-brand-swatch:hover {
    border-color: rgba(0, 24, 112, 0.28);
    transform: translateY(-1px);
}

.hx-brand-swatch.is-copied { border-color: var(--hx-sky); }

.hx-brand-swatch__chip {
    flex: 0 0 4.25rem;
    height: 4.25rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.hx-brand-swatch--paper .hx-brand-swatch__chip {
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.hx-brand-swatch__meta {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    min-width: 0;
}

.hx-brand-swatch__meta strong { font-size: 0.95rem; }
.hx-brand-swatch__meta em {
    font-style: normal;
    font-size: 0.75rem;
    color: #94a3b8;
}
.hx-brand-swatch__meta code {
    font-size: 0.8rem;
    color: var(--hx-navy);
    font-weight: 700;
}
.hx-brand-swatch__meta small {
    color: var(--hx-mute);
    line-height: 1.5;
}

/* ——— Type ——— */
.hx-brand-type-hero {
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1;
    margin: 0.5rem 0 1.5rem;
    color: var(--hx-navy);
}

.hx-brand-weights {
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.25rem;
    overflow: hidden;
}

.hx-brand-weight {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
    padding: 0.85rem 1.15rem;
    border-top: 1px solid var(--hx-line);
}

.hx-brand-weight:first-child { border-top: 0; }

.hx-brand-weight__label {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 600;
}

.hx-brand-weight__sample {
    font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.85rem);
    letter-spacing: -0.03em;
}

/* ——— Names ——— */
.hx-brand-names {
    display: grid;
    gap: 0.85rem;
}

@media (min-width: 768px) {
    .hx-brand-names { grid-template-columns: 1fr 1fr; }
}

.hx-brand-name {
    border-radius: 1.25rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid var(--hx-line);
}

.hx-brand-name h3 { margin: 0 0 0.75rem; }
.hx-brand-name ul {
    margin: 0;
    padding: 0 1.1rem 0 0;
    color: var(--hx-mute);
    line-height: 1.85;
}

.hx-brand-name--yes {
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.hx-brand-name--no {
    background: #fff7ed;
    border-color: #fed7aa;
}

/* ——— Partnership ——— */
.hx-brand-partner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.25rem;
    padding: 1.5rem 1.35rem;
    margin: 1.25rem 0;
}

.hx-brand-partner__x {
    color: #94a3b8;
    font-size: 1.25rem;
}

.hx-brand-partner__other {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.4rem 1.1rem;
    border: 1px dashed #cbd5e1;
    border-radius: 0.75rem;
    font-weight: 700;
    color: #64748b;
}

/* ——— Don'ts ——— */
.hx-brand-donts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}

@media (min-width: 768px) {
    .hx-brand-donts { grid-template-columns: repeat(3, 1fr); }
}

.hx-brand-dont {
    margin: 0;
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.15rem;
    overflow: hidden;
}

.hx-brand-dont__art {
    height: 8.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    position: relative;
}

.hx-brand-dont__art--rotate img { transform: rotate(-18deg); }
.hx-brand-dont__art--stretch img { transform: scaleX(1.45); }
.hx-brand-dont__art--recolor {
    background: #7c3aed;
    filter: hue-rotate(40deg) saturate(1.4);
}
.hx-brand-dont__art--shadow img {
    filter: drop-shadow(8px 12px 0 rgba(15, 23, 42, 0.35));
}
.hx-brand-dont__art--lock {
    gap: 0.15rem;
    font-weight: 800;
    font-size: 1.15rem;
}
.hx-brand-dont__art--busy {
    background:
        radial-gradient(circle at 20% 30%, #38bdf8, transparent 40%),
        radial-gradient(circle at 80% 70%, #f97316, transparent 40%),
        repeating-linear-gradient(45deg, #e2e8f0, #e2e8f0 6px, #cbd5e1 6px, #cbd5e1 12px);
}

.hx-brand-dont figcaption {
    padding: 0.75rem 0.85rem 0.9rem;
    font-size: 0.8rem;
    color: var(--hx-mute);
    text-align: center;
}

.hx-brand-dont::after {
    content: "";
    position: absolute;
    /* decorative; actual mark via overlay on art */
}

.hx-brand-dont__art::after {
    content: "×";
    position: absolute;
    top: 0.45rem;
    left: 0.55rem;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* ——— Downloads ——— */
.hx-brand-downloads {
    list-style: none;
    margin: 1.25rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

@media (min-width: 640px) {
    .hx-brand-downloads { grid-template-columns: 1fr 1fr; }
}

.hx-brand-dl {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1rem;
    padding: 0.9rem 1rem;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, transform 0.15s var(--hx-ease);
}

.hx-brand-dl:hover {
    border-color: rgba(0, 24, 112, 0.3);
    text-decoration: none;
    color: inherit;
    transform: translateY(-1px);
}

.hx-brand-dl__icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 0.7rem;
    background: #e0f2fe;
    color: var(--hx-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hx-brand-dl__text {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.hx-brand-dl__text strong { font-size: 0.92rem; }
.hx-brand-dl__text small { color: #64748b; }

/* ——— Close ——— */
.hx-brand-close {
    background: #fff;
    border: 1px solid var(--hx-line);
    border-radius: 1.5rem;
    padding: 1.75rem 1.5rem;
}

.hx-brand-close h2 {
    margin: 0 0 0.5rem;
    font-size: 1.45rem;
}

.hx-brand-close p {
    margin: 0 0 1.15rem;
    color: var(--hx-mute);
    line-height: 1.8;
}

.hx-brand-close .hx-brand-btn {
    background: var(--hx-navy);
    color: #fff;
}

.hx-brand-close .hx-brand-btn:hover {
    background: #012094;
    color: #fff;
}

.hx-brand-close__legal {
    margin: 1.25rem 0 0 !important;
    font-size: 0.8rem !important;
    color: #94a3b8 !important;
}

/* ——— 3D stage / coin ——— */
.hx-brand-hero__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 22rem;
    perspective: 900px;
    transform-style: preserve-3d;
    user-select: none;
    -webkit-user-select: none;
}

.hx-brand-stage {
    position: relative;
    width: min(22rem, 82vw);
    height: min(22rem, 82vw);
    transform-style: preserve-3d;
    cursor: grab;
    touch-action: none;
    animation: hx-brand-float-y 6.5s ease-in-out infinite;
}

.hx-brand-stage.is-dragging {
    cursor: grabbing;
    animation: none;
}

.hx-brand-stage__halo {
    position: absolute;
    inset: 8%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14, 165, 233, 0.45) 0%, rgba(0, 24, 112, 0.15) 42%, transparent 70%);
    filter: blur(18px);
    animation: hx-brand-halo 4.5s ease-in-out infinite;
    pointer-events: none;
}

.hx-brand-stage__ring {
    position: absolute;
    inset: 4%;
    border-radius: 50%;
    border: 1px solid rgba(125, 211, 252, 0.28);
    transform: rotateX(72deg);
    pointer-events: none;
}

.hx-brand-stage__ring--a {
    inset: 0;
    animation: hx-brand-orbit-a 10s linear infinite;
    border-color: rgba(14, 165, 233, 0.45);
    box-shadow: 0 0 24px rgba(14, 165, 233, 0.15);
}

.hx-brand-stage__ring--b {
    inset: 9%;
    animation: hx-brand-orbit-b 14s linear infinite reverse;
    border-color: rgba(249, 115, 22, 0.35);
}

.hx-brand-stage__ring--c {
    inset: -6%;
    animation: hx-brand-orbit-c 22s linear infinite;
    border-style: dashed;
    border-color: rgba(248, 250, 252, 0.18);
}

.hx-brand-coin {
    position: absolute;
    inset: 18%;
    transform-style: preserve-3d;
    transform: rotateX(calc(var(--rx, 12) * 1deg)) rotateY(calc(var(--ry, -24) * 1deg));
    will-change: transform;
    pointer-events: none;
}

.hx-brand-coin__slice {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #00145f;
    transform: translateZ(calc(var(--i) * -2.2px));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.hx-brand-coin__slice--face {
    overflow: hidden;
    background: #001870;
    transform: translateZ(4px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 20px 50px rgba(0, 8, 40, 0.45);
}

.hx-brand-coin__slice--face img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.hx-brand-coin__slice:last-child {
    background:
        radial-gradient(circle at 35% 30%, #1230a0, #001870 55%, #000b3a);
}

.hx-brand-stage__flare {
    position: absolute;
    inset: 22%;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.38), transparent 36%);
    mix-blend-mode: screen;
    pointer-events: none;
    transform: translateZ(12px);
}

.hx-brand-stage__floor {
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: -8%;
    height: 2.4rem;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(0, 0, 0, 0.45), transparent 70%);
    filter: blur(8px);
    transform: rotateX(80deg);
}

.hx-brand-stage__hint {
    margin: 1.35rem 0 0;
    font-size: 0.78rem;
    color: rgba(226, 232, 240, 0.55);
    letter-spacing: 0.04em;
}

/* ——— Cards 3D ——— */
.hx-brand-fact,
.hx-brand-specimen,
.hx-brand-wordmark,
.hx-brand-swatch,
.hx-brand-dl,
.hx-brand-dont,
.hx-brand-name,
.hx-brand-partner,
.hx-brand-close {
    transform-style: preserve-3d;
    will-change: transform;
}

.hx-brand-fact {
    transition: transform 0.35s var(--hx-ease), box-shadow 0.35s ease, border-color 0.2s ease;
}

.hx-brand-fact:hover {
    box-shadow: 0 18px 40px -20px rgba(0, 24, 112, 0.35);
    border-color: rgba(14, 165, 233, 0.28);
}

.hx-brand-specimen {
    overflow: visible;
    transition: transform 0.4s var(--hx-ease), box-shadow 0.4s ease;
}

.hx-brand-specimen img {
    transition: transform 0.5s var(--hx-ease);
    filter: drop-shadow(0 14px 18px rgba(0, 8, 32, 0.28));
}

.hx-brand-specimen:hover img {
    transform: translateZ(28px) scale(1.06);
}

.hx-brand-specimen figcaption {
    border-radius: 0 0 1.25rem 1.25rem;
}

.hx-brand-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.35), transparent 70%);
    transform: translateX(-120%);
    transition: transform 0.6s ease;
    pointer-events: none;
}

.hx-brand-btn:hover::after { transform: translateX(120%); }

/* ——— Color orbs ——— */
.hx-brand-swatch__orb {
    flex: 0 0 4.25rem;
    width: 4.25rem;
    height: 4.25rem;
    perspective: 200px;
}

.hx-brand-swatch__chip {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50% !important;
    flex: none !important;
    background:
        radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.55), transparent 32%),
        radial-gradient(circle at 70% 78%, rgba(0, 0, 0, 0.35), transparent 42%),
        var(--c, #001870) !important;
    box-shadow:
        inset -10px -12px 18px rgba(0, 0, 0, 0.28),
        inset 8px 10px 16px rgba(255, 255, 255, 0.2),
        0 14px 22px rgba(15, 23, 42, 0.22);
    transform: rotateX(12deg);
    animation: hx-brand-orb-idle 5s ease-in-out infinite;
}

.hx-brand-swatch--paper .hx-brand-swatch__chip {
    box-shadow:
        inset 0 0 0 1px rgba(15, 23, 42, 0.1),
        0 10px 18px rgba(15, 23, 42, 0.08);
}

.hx-brand-swatch:hover .hx-brand-swatch__chip {
    animation: hx-brand-orb-spin 1.1s var(--hx-ease);
}

/* ——— 3D type ——— */
.hx-brand-type-hero {
    position: relative;
    min-height: 4.5rem;
    perspective: 600px;
}

.hx-brand-type-hero__depth,
.hx-brand-type-hero__face {
    display: block;
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    font-weight: 800;
    letter-spacing: -0.05em;
    line-height: 1;
}

.hx-brand-type-hero__depth {
    position: absolute;
    inset: 0;
    color: #001870;
    text-shadow:
        0 1px 0 #00145e,
        0 2px 0 #001258,
        0 3px 0 #001050,
        0 4px 0 #000e48,
        0 8px 16px rgba(0, 24, 112, 0.28);
    transform: translateZ(-16px);
}

.hx-brand-type-hero__face {
    position: relative;
    background: linear-gradient(180deg, #38bdf8, #001870);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: hx-brand-sheen 7s ease-in-out infinite;
}

/* ——— Reveal ——— */
.hx-brand-reveal {
    opacity: 0;
    transform: translateY(36px) rotateX(7deg);
    transform-origin: 50% 0;
    filter: blur(6px);
    transition: opacity 0.8s var(--hx-ease), transform 0.8s var(--hx-ease), filter 0.8s ease;
}

.hx-brand-reveal.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
}

/* ——— Keyframes ——— */
@keyframes hx-brand-aurora {
    0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
    100% { transform: translate3d(-6%, 8%, 0) rotate(12deg) scale(1.08); }
}

@keyframes hx-brand-grid-drift {
    0% { background-position: 0 0; }
    100% { background-position: 56px 56px; }
}

@keyframes hx-brand-rise {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: none; }
}

@keyframes hx-brand-pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.18); }
    50% { box-shadow: 0 0 0 9px rgba(14, 165, 233, 0.05); }
}

@keyframes hx-brand-float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@keyframes hx-brand-orbit-a {
    from { transform: rotateX(72deg) rotateZ(0deg); }
    to { transform: rotateX(72deg) rotateZ(360deg); }
}

@keyframes hx-brand-orbit-b {
    from { transform: rotateX(68deg) rotateZ(40deg); }
    to { transform: rotateX(68deg) rotateZ(400deg); }
}

@keyframes hx-brand-orbit-c {
    from { transform: rotateX(76deg) rotateZ(-20deg); }
    to { transform: rotateX(76deg) rotateZ(340deg); }
}

@keyframes hx-brand-halo {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.08); }
}

@keyframes hx-brand-orb-idle {
    0%, 100% { transform: rotateX(12deg) translateY(0); }
    50% { transform: rotateX(18deg) translateY(-3px); }
}

@keyframes hx-brand-orb-spin {
    from { transform: rotateY(0) rotateX(12deg); }
    to { transform: rotateY(360deg) rotateX(12deg); }
}

@keyframes hx-brand-sheen {
    0%, 100% { filter: hue-rotate(0deg); }
    50% { filter: hue-rotate(18deg); }
}

@media (prefers-reduced-motion: reduce) {
    .hx-brand-btn,
    .hx-brand-swatch,
    .hx-brand-dl,
    .hx-brand-hero__kicker,
    .hx-brand-hero__title,
    .hx-brand-hero__lead,
    .hx-brand-hero__actions,
    .hx-brand-reveal { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; filter: none !important; }
    .hx-brand-hero__aurora,
    .hx-brand-hero__veil,
    .hx-brand-stage,
    .hx-brand-coin,
    .hx-brand-stage__ring,
    .hx-brand-stage__halo,
    .hx-brand-swatch__chip,
    .hx-brand-type-hero__face { animation: none !important; }
    .hx-brand-hero__canvas { display: none; }
}
