/* Scrumlin — shared 3D buttons (dark + portal) */

.hero-btn-primary,
.hero-btn-ghost,
.ap-btn,
.sv-btn,
.pp-btn,
.cp-btn,
.ct-btn,
.bl-btn,
.ev-btn,
.be-btn,
.offerings-explore-all,
.allies-signal__cta {
    position: relative;
    isolation: isolate;
    border-radius: 14px;
    transform: translateY(0);
    -webkit-tap-highlight-color: transparent;
}

.hero-btn-primary,
.ap-btn--primary,
.sv-btn--primary,
.pp-btn--primary,
.cp-btn--primary,
.ct-btn--primary,
.bl-btn--primary,
.ev-btn--primary,
.be-btn {
    color: #041018;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.06) 38%, transparent 58%),
        var(--sc-gradient-cta);
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.5) inset,
        0 -3px 0 rgba(0, 0, 0, 0.22) inset,
        0 5px 0 var(--sc-btn-edge),
        0 12px 22px rgba(var(--sc-btn-edge-rgb), 0.38),
        0 10px 28px rgba(var(--sc-cyan-rgb), 0.18);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        filter 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease;
}

.hero-btn-primary:hover,
.ap-btn--primary:hover,
.sv-btn--primary:hover,
.pp-btn--primary:hover,
.cp-btn--primary:hover,
.ct-btn--primary:hover,
.bl-btn--primary:hover,
.ev-btn--primary:hover,
.be-btn:hover,
.hero-btn-primary:focus-visible,
.ap-btn--primary:focus-visible,
.sv-btn--primary:focus-visible,
.pp-btn--primary:focus-visible,
.cp-btn--primary:focus-visible,
.ct-btn--primary:focus-visible,
.bl-btn--primary:focus-visible,
.ev-btn--primary:focus-visible,
.be-btn:focus-visible {
    color: #041018;
    transform: translateY(-3px);
    filter: brightness(1.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.58) inset,
        0 -3px 0 rgba(0, 0, 0, 0.2) inset,
        0 7px 0 var(--sc-btn-edge),
        0 16px 28px rgba(var(--sc-btn-edge-rgb), 0.42),
        0 12px 30px rgba(var(--sc-cyan-rgb), 0.22);
}

.hero-btn-primary:active,
.ap-btn--primary:active,
.sv-btn--primary:active,
.pp-btn--primary:active,
.cp-btn--primary:active,
.ct-btn--primary:active,
.bl-btn--primary:active,
.ev-btn--primary:active,
.be-btn:active {
    transform: translateY(3px);
    filter: brightness(0.98);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.32) inset,
        0 2px 8px rgba(0, 0, 0, 0.28) inset,
        0 1px 0 var(--sc-btn-edge),
        0 6px 14px rgba(var(--sc-btn-edge-rgb), 0.28);
}

.hero-btn-ghost,
.ap-btn--ghost,
.sv-btn--ghost,
.pp-btn--ghost,
.cp-btn--ghost,
.ct-btn--ghost,
.bl-btn--ghost,
.ev-btn--ghost,
.offerings-explore-all,
.allies-signal__cta {
    color: var(--sc-text-bright);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.02) 40%, rgba(var(--sc-surface-rgb), 0.72) 100%);
    border: 1px solid rgba(var(--sc-border-rgb), 0.32);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.16) inset,
        0 -2px 0 rgba(0, 0, 0, 0.28) inset,
        0 5px 0 var(--sc-btn-ghost-edge),
        0 12px 22px rgba(var(--sc-shadow-rgb), 0.4);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        color 0.18s ease;
}

.hero-btn-ghost:hover,
.ap-btn--ghost:hover,
.sv-btn--ghost:hover,
.pp-btn--ghost:hover,
.cp-btn--ghost:hover,
.ct-btn--ghost:hover,
.bl-btn--ghost:hover,
.ev-btn--ghost:hover,
.offerings-explore-all:hover,
.allies-signal__cta:hover,
.allies-signal__cta:focus-visible,
.hero-btn-ghost:focus-visible,
.ap-btn--ghost:focus-visible,
.sv-btn--ghost:focus-visible,
.pp-btn--ghost:focus-visible,
.cp-btn--ghost:focus-visible,
.ct-btn--ghost:focus-visible,
.bl-btn--ghost:focus-visible,
.ev-btn--ghost:focus-visible,
.offerings-explore-all:focus-visible {
    color: #fff;
    transform: translateY(-3px);
    border-color: rgba(var(--sc-cyan-rgb), 0.5);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.2) inset,
        0 -2px 0 rgba(0, 0, 0, 0.26) inset,
        0 7px 0 var(--sc-btn-ghost-edge),
        0 16px 28px rgba(var(--sc-shadow-rgb), 0.45),
        0 0 22px rgba(var(--sc-cyan-rgb), 0.14);
}

.hero-btn-ghost:active,
.ap-btn--ghost:active,
.sv-btn--ghost:active,
.pp-btn--ghost:active,
.cp-btn--ghost:active,
.ct-btn--ghost:active,
.bl-btn--ghost:active,
.ev-btn--ghost:active,
.offerings-explore-all:active,
.allies-signal__cta:active {
    transform: translateY(3px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 2px 8px rgba(0, 0, 0, 0.32) inset,
        0 1px 0 var(--sc-btn-ghost-edge),
        0 6px 14px rgba(var(--sc-shadow-rgb), 0.3);
}

/* Circular / HUD controls */
.media-stage__nav,
.offer-flow__nav,
.testimonials-nav__btn,
.pp-pager__btn,
.ev-reel__nav,
.bl-stage__nav,
.scroll-top {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.14) inset,
        0 4px 0 var(--sc-btn-ghost-edge),
        0 8px 16px rgba(var(--sc-shadow-rgb), 0.35);
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.media-stage__nav:hover,
.offer-flow__nav:hover,
.testimonials-nav__btn:hover,
.pp-pager__btn:hover,
.scroll-top:hover {
    transform: translateY(-2px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.18) inset,
        0 6px 0 var(--sc-btn-ghost-edge),
        0 12px 20px rgba(var(--sc-shadow-rgb), 0.4);
}
.media-stage__nav:active,
.offer-flow__nav:active,
.testimonials-nav__btn:active,
.pp-pager__btn:active,
.scroll-top:active {
    transform: translateY(2px);
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.28) inset,
        0 1px 0 var(--sc-btn-ghost-edge);
}

html[data-theme="portal"] .hero-btn-primary,
html[data-theme="portal"] .ap-btn--primary,
html[data-theme="portal"] .sv-btn--primary,
html[data-theme="portal"] .pp-btn--primary,
html[data-theme="portal"] .cp-btn--primary,
html[data-theme="portal"] .ct-btn--primary,
html[data-theme="portal"] .bl-btn--primary,
html[data-theme="portal"] .ev-btn--primary,
html[data-theme="portal"] .be-btn {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.42) inset,
        0 -3px 0 rgba(0, 40, 80, 0.35) inset,
        0 5px 0 var(--sc-btn-edge),
        0 12px 22px rgba(0, 78, 146, 0.4),
        0 8px 22px rgba(var(--sc-cyan-rgb), 0.16);
}

@media (prefers-reduced-motion: reduce) {
    .hero-btn-primary,
    .hero-btn-ghost,
    .ap-btn,
    .sv-btn,
    .pp-btn,
    .cp-btn,
    .ct-btn,
    .bl-btn,
    .ev-btn,
    .be-btn,
    .offerings-explore-all,
    .allies-signal__cta,
    .media-stage__nav,
    .offer-flow__nav,
    .testimonials-nav__btn,
    .pp-pager__btn,
    .scroll-top {
        transition: none;
        transform: none !important;
    }
}

button.hero-btn-primary,
button.hero-btn-ghost,
button.ap-btn,
button.sv-btn,
button.pp-btn,
button.cp-btn,
button.ct-btn,
button.bl-btn,
button.ev-btn,
button.offer-card__ghost,
button.pp-card__link,
button.offerings-explore-all {
    font: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

button.pp-card__link,
button.offer-card__ghost {
    cursor: pointer;
}

button.pp-card__link {
    background: transparent;
    border: 0;
    padding: 0;
}
