/* Scrumlin — shared orbit textures (concentric rings + semicircles)
   Subtle background only — Services catalog, Products work, Career hiring / life */

.sc-orbit-fx {
    --orbit-line: rgba(var(--sc-cyan-rgb), 0.18);
    --orbit-line-soft: rgba(var(--sc-cyan-rgb), 0.1);
    --orbit-accent: rgba(var(--sc-violet-rgb, 139, 92, 246), 0.16);
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    opacity: 0.72;
}

.sc-orbit-fx__wash {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 45% at 12% 18%, rgba(var(--sc-cyan-rgb), 0.06), transparent 70%),
        radial-gradient(ellipse 50% 42% at 88% 82%, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.05), transparent 72%);
}

/* Soft corner / edge glows — off by default; enabled via --glow */
.sc-orbit-fx__glow {
    display: none;
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}

.sc-orbit-fx__cluster {
    position: absolute;
    display: grid;
    place-items: center;
}

.sc-orbit-fx__cluster--tl {
    top: -18%;
    left: -14%;
    width: min(72vw, 520px);
    height: min(72vw, 520px);
}

.sc-orbit-fx__cluster--br {
    right: -16%;
    bottom: -22%;
    width: min(68vw, 480px);
    height: min(68vw, 480px);
}

.sc-orbit-fx__cluster--tr {
    top: 8%;
    right: 6%;
    width: min(36vw, 240px);
    height: min(36vw, 240px);
    opacity: 0.75;
}

.sc-orbit-fx__cluster--mid {
    top: 44%;
    left: 48%;
    width: min(26vw, 180px);
    height: min(26vw, 180px);
    opacity: 0.55;
}

.sc-orbit-fx__ring,
.sc-orbit-fx__core {
    grid-area: 1 / 1;
    border-radius: 50%;
    box-sizing: border-box;
}

.sc-orbit-fx__ring {
    border: 1px solid var(--orbit-line);
    background: transparent;
}

.sc-orbit-fx__ring--xl {
    width: 100%;
    height: 100%;
    border-color: var(--orbit-line-soft);
    opacity: 0.7;
}

.sc-orbit-fx__ring--lg {
    width: 78%;
    height: 78%;
    opacity: 0.85;
}

.sc-orbit-fx__ring--md {
    width: 56%;
    height: 56%;
    border-color: var(--orbit-accent);
    opacity: 0.8;
}

.sc-orbit-fx__ring--sm {
    width: 34%;
    height: 34%;
    border-color: rgba(var(--sc-cyan-rgb), 0.22);
}

.sc-orbit-fx__core {
    width: 12%;
    height: 12%;
    background: radial-gradient(circle, rgba(var(--sc-cyan-rgb), 0.14) 0%, transparent 70%);
    border: 1px solid rgba(var(--sc-cyan-rgb), 0.2);
    box-shadow: none;
}

.sc-orbit-fx__core--soft {
    width: 11%;
    height: 11%;
    background: radial-gradient(circle, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.12) 0%, transparent 70%);
    border-color: rgba(var(--sc-violet-rgb, 139, 92, 246), 0.18);
    box-shadow: none;
}

/* Semicircles */
.sc-orbit-fx__semi {
    position: absolute;
    border-radius: 50%;
    background: transparent;
    pointer-events: none;
    box-sizing: border-box;
}

.sc-orbit-fx__semi--left {
    width: min(48vw, 340px);
    height: min(48vw, 340px);
    left: -22%;
    top: 38%;
    clip-path: inset(0 50% 0 0);
    border: 1px solid rgba(var(--sc-cyan-rgb), 0.2);
    opacity: 0.85;
}

.sc-orbit-fx__semi--right {
    width: min(42vw, 300px);
    height: min(42vw, 300px);
    right: -18%;
    top: 12%;
    clip-path: inset(0 0 0 50%);
    border: 1px solid rgba(var(--sc-violet-rgb, 139, 92, 246), 0.18);
    opacity: 0.85;
}

.sc-orbit-fx__semi--bottom {
    width: min(56vw, 420px);
    height: min(56vw, 420px);
    left: 28%;
    bottom: -34%;
    clip-path: inset(0 0 50% 0);
    border: 1px solid rgba(var(--sc-cyan-rgb), 0.14);
    opacity: 0.75;
}

.sc-orbit-fx__semi--bottom-inner {
    width: min(38vw, 280px);
    height: min(38vw, 280px);
    left: 36%;
    bottom: -26%;
    clip-path: inset(0 0 50% 0);
    border: 1px solid rgba(var(--sc-violet-rgb, 139, 92, 246), 0.14);
    opacity: 0.7;
}

/* Soft arcs */
.sc-orbit-fx__arc {
    position: absolute;
    border-radius: 50%;
    border: 1px solid transparent;
    box-sizing: border-box;
}

.sc-orbit-fx__arc--a {
    width: min(40vw, 280px);
    height: min(40vw, 280px);
    left: 42%;
    top: -8%;
    border-top-color: rgba(var(--sc-cyan-rgb), 0.22);
    border-right-color: rgba(var(--sc-cyan-rgb), 0.1);
    transform: rotate(25deg);
    opacity: 0.8;
}

.sc-orbit-fx__arc--b {
    width: min(34vw, 220px);
    height: min(34vw, 220px);
    right: 18%;
    bottom: 10%;
    border-bottom-color: rgba(var(--sc-violet-rgb, 139, 92, 246), 0.2);
    border-left-color: rgba(var(--sc-violet-rgb, 139, 92, 246), 0.1);
    transform: rotate(-18deg);
    opacity: 0.8;
}

.sv-catalog,
.pp-work,
.cp-hire,
.cp-life {
    position: relative;
    overflow: hidden;
}

.sv-catalog .sv-shell,
.pp-work > .pp-shell,
.cp-hire > .cp-shell,
.cp-life__intro,
.cp-life__marquee {
    position: relative;
    z-index: 1;
}

html[data-theme="portal"] .sc-orbit-fx {
    --orbit-line: rgba(var(--sc-cyan-rgb), 0.2);
    --orbit-line-soft: rgba(var(--sc-cyan-rgb), 0.12);
    --orbit-accent: rgba(58, 123, 213, 0.18);
    opacity: 0.68;
}

/* Products / Services / Life — glow aimed at blank margins, not content */
.sc-orbit-fx--glow {
    opacity: 0.9;
}

.sc-orbit-fx--glow .sc-orbit-fx__wash {
    background:
        radial-gradient(ellipse 48% 42% at 6% 12%, rgba(var(--sc-cyan-rgb), 0.14), transparent 68%),
        radial-gradient(ellipse 44% 40% at 94% 10%, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.12), transparent 70%),
        radial-gradient(ellipse 46% 38% at 4% 88%, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.1), transparent 70%),
        radial-gradient(ellipse 50% 42% at 96% 90%, rgba(var(--sc-cyan-rgb), 0.13), transparent 68%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow {
    display: block;
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--tl {
    width: min(46vw, 380px);
    height: min(46vw, 380px);
    top: -18%;
    left: -16%;
    background: radial-gradient(circle, rgba(var(--sc-cyan-rgb), 0.28) 0%, rgba(var(--sc-cyan-rgb), 0.08) 42%, transparent 70%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--tr {
    width: min(38vw, 300px);
    height: min(38vw, 300px);
    top: -8%;
    right: -12%;
    background: radial-gradient(circle, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.24) 0%, transparent 68%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--bl {
    width: min(36vw, 280px);
    height: min(36vw, 280px);
    bottom: -12%;
    left: -10%;
    background: radial-gradient(circle, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.2) 0%, transparent 70%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--br {
    width: min(48vw, 400px);
    height: min(48vw, 400px);
    bottom: -20%;
    right: -16%;
    background: radial-gradient(circle, rgba(var(--sc-cyan-rgb), 0.26) 0%, rgba(var(--sc-cyan-rgb), 0.07) 45%, transparent 72%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--edge-l {
    width: min(28vw, 200px);
    height: min(55vh, 420px);
    left: -14%;
    top: 28%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(var(--sc-cyan-rgb), 0.16) 0%, transparent 72%);
}

.sc-orbit-fx--glow .sc-orbit-fx__glow--edge-r {
    width: min(26vw, 190px);
    height: min(50vh, 380px);
    right: -12%;
    top: 36%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.15) 0%, transparent 72%);
}

/* Keep center quiet so cards / copy stay readable */
.sc-orbit-fx--glow .sc-orbit-fx__cluster--mid {
    opacity: 0.28;
}

.sc-orbit-fx--glow .sc-orbit-fx__core {
    background: radial-gradient(circle, rgba(var(--sc-cyan-rgb), 0.28) 0%, transparent 72%);
    border-color: rgba(var(--sc-cyan-rgb), 0.32);
    box-shadow: 0 0 32px rgba(var(--sc-cyan-rgb), 0.22);
}

.sc-orbit-fx--glow .sc-orbit-fx__core--soft {
    background: radial-gradient(circle, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.24) 0%, transparent 72%);
    border-color: rgba(var(--sc-violet-rgb, 139, 92, 246), 0.28);
    box-shadow: 0 0 28px rgba(var(--sc-violet-rgb, 139, 92, 246), 0.18);
}

/* Life at Scrumlin — push glow into side gutters / above & below marquee */
.sc-orbit-fx--life .sc-orbit-fx__glow--tl {
    top: -6%;
    left: -18%;
    width: min(50vw, 420px);
    height: min(50vw, 420px);
    background: radial-gradient(circle, rgba(var(--sc-cyan-rgb), 0.32) 0%, transparent 68%);
}

.sc-orbit-fx--life .sc-orbit-fx__glow--tr {
    top: 4%;
    right: -14%;
    width: min(44vw, 360px);
    height: min(44vw, 360px);
    background: radial-gradient(circle, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.28) 0%, transparent 68%);
}

.sc-orbit-fx--life .sc-orbit-fx__glow--bl {
    bottom: 8%;
    left: -14%;
}

.sc-orbit-fx--life .sc-orbit-fx__glow--br {
    bottom: 2%;
    right: -18%;
}

.sc-orbit-fx--life .sc-orbit-fx__glow--edge-l {
    top: 18%;
    left: -16%;
    opacity: 1;
    background: radial-gradient(ellipse at center, rgba(var(--sc-cyan-rgb), 0.2) 0%, transparent 70%);
}

.sc-orbit-fx--life .sc-orbit-fx__glow--edge-r {
    top: 22%;
    right: -14%;
    background: radial-gradient(ellipse at center, rgba(var(--sc-violet-rgb, 139, 92, 246), 0.18) 0%, transparent 70%);
}

.sc-orbit-fx--life .sc-orbit-fx__cluster--mid {
    opacity: 0.2;
}

html[data-theme="portal"] .sc-orbit-fx--glow {
    opacity: 0.88;
}

@media (max-width: 767.98px) {
    .sc-orbit-fx {
        opacity: 0.55;
    }

    .sc-orbit-fx--glow {
        opacity: 0.75;
    }

    .sc-orbit-fx__cluster--tl {
        width: min(88vw, 360px);
        height: min(88vw, 360px);
        top: -22%;
        left: -28%;
    }

    .sc-orbit-fx__cluster--br {
        width: min(80vw, 320px);
        height: min(80vw, 320px);
        right: -30%;
        bottom: -28%;
    }

    .sc-orbit-fx__cluster--tr {
        width: min(42vw, 160px);
        height: min(42vw, 160px);
        opacity: 0.6;
    }

    .sc-orbit-fx__cluster--mid {
        width: min(32vw, 120px);
        height: min(32vw, 120px);
        opacity: 0.45;
    }

    .sc-orbit-fx--glow .sc-orbit-fx__cluster--mid {
        opacity: 0.22;
    }

    .sc-orbit-fx__semi--bottom,
    .sc-orbit-fx__semi--bottom-inner {
        left: 10%;
    }

    .sc-orbit-fx__semi--bottom {
        bottom: -40%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-orbit-fx__ring,
    .sc-orbit-fx__semi,
    .sc-orbit-fx__arc {
        transition: none;
    }
}
