.sasal-eco-wrap {
    --eco-bg-1: #f8f5ef;
    --eco-bg-2: #fffaf1;
    --eco-surface: rgba(255, 255, 255, 0.72);
    --eco-text: #1c2027;
    --eco-muted: #5d6470;
    --eco-border: rgba(62, 74, 95, 0.2);
    --eco-gold: #b57a1f;
    --eco-teal: #0f7a76;
    --eco-orange: #bc4a1e;
    --eco-blue: #1f4ea7;
    --eco-green: #2a7a3e;
    --eco-pink: #b43e6c;
    --eco-purple: #5d45bf;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--eco-text);
    font-size: 17px;
    font-family: var(--font-sans);
    margin: 10px auto 24px;
    max-width: min(96vw, 1520px);
    overflow: hidden;
    padding: clamp(18px, 3vw, 34px);
    position: relative;
    width: 100%;
}

/* Keep the investor report free from seasonal particles, fireworks, and other
   decorative background layers. */
.sasal-eco-wrap::before,
.sasal-eco-wrap::after,
.sasal-eco-hero::after {
    display: none !important;
}

.sasal-eco-wrap::before,
.sasal-eco-wrap::after {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.sasal-eco-wrap > * {
    position: relative;
    z-index: 1;
}

.sasal-eco-wrap::before,
.sasal-eco-wrap::after {
    inset: -8%;
    opacity: 0;
    transition: opacity 0.45s ease;
}

.sasal-eco-wrap[data-season]::before,
.sasal-eco-wrap[data-season]::after {
    opacity: 1;
}

.sasal-eco-wrap[data-season="spring"] {
    --eco-bg-1: #fff7fb;
    --eco-bg-2: #fffaf4;
    --eco-text: #2b2233;
    --eco-muted: #695a74;
    --eco-border: rgba(164, 126, 161, 0.2);
}

.sasal-eco-wrap[data-season="summer"] {
    --eco-bg-1: #eefbff;
    --eco-bg-2: #fffced;
    --eco-text: #1a2533;
    --eco-muted: #52667e;
    --eco-border: rgba(74, 120, 161, 0.2);
}

.sasal-eco-wrap[data-season="autumn"] {
    --eco-bg-1: #fff3e9;
    --eco-bg-2: #f8efe6;
    --eco-text: #291c12;
    --eco-muted: #6a5140;
    --eco-border: rgba(123, 88, 56, 0.22);
}

.sasal-eco-wrap[data-season="winter"] {
    --eco-bg-1: #eef5ff;
    --eco-bg-2: #f6fbff;
    --eco-text: #15253f;
    --eco-muted: #536785;
    --eco-border: rgba(67, 95, 132, 0.24);
}

.sasal-eco-wrap[data-season="spring"]::before {
    background:
        radial-gradient(circle at 8% 12%, rgba(255, 177, 212, 0.65) 0 8px, transparent 10px),
        radial-gradient(circle at 24% 36%, rgba(255, 220, 238, 0.75) 0 7px, transparent 9px),
        radial-gradient(circle at 43% 18%, rgba(255, 196, 217, 0.58) 0 6px, transparent 8px),
        radial-gradient(circle at 61% 52%, rgba(255, 232, 183, 0.7) 0 7px, transparent 9px),
        radial-gradient(circle at 79% 27%, rgba(255, 196, 224, 0.62) 0 7px, transparent 9px),
        radial-gradient(circle at 91% 70%, rgba(255, 206, 225, 0.66) 0 8px, transparent 10px),
        radial-gradient(circle at 16% 82%, rgba(255, 188, 214, 0.62) 0 7px, transparent 9px),
        radial-gradient(circle at 36% 73%, rgba(255, 221, 239, 0.66) 0 6px, transparent 8px),
        radial-gradient(circle at 58% 85%, rgba(255, 202, 224, 0.62) 0 7px, transparent 9px),
        radial-gradient(circle at 74% 66%, rgba(255, 230, 190, 0.64) 0 6px, transparent 8px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation: ecoPetalFall 15s linear infinite;
}

.sasal-eco-wrap[data-season="spring"]::after {
    background:
        radial-gradient(circle at 14% 22%, rgba(255, 242, 248, 0.72) 0 5px, transparent 7px),
        radial-gradient(circle at 31% 64%, rgba(255, 228, 239, 0.76) 0 4px, transparent 6px),
        radial-gradient(circle at 55% 42%, rgba(255, 236, 246, 0.72) 0 5px, transparent 7px),
        radial-gradient(circle at 73% 81%, rgba(255, 229, 198, 0.65) 0 4px, transparent 6px),
        radial-gradient(circle at 88% 34%, rgba(255, 238, 247, 0.72) 0 5px, transparent 7px),
        radial-gradient(circle at 10% 48%, rgba(255, 246, 251, 0.72) 0 4px, transparent 6px),
        radial-gradient(circle at 47% 90%, rgba(255, 236, 246, 0.72) 0 4px, transparent 6px),
        radial-gradient(circle at 67% 16%, rgba(255, 241, 249, 0.72) 0 4px, transparent 6px),
        radial-gradient(circle at 94% 62%, rgba(255, 235, 202, 0.65) 0 4px, transparent 6px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0.75;
    animation: ecoPetalFallAlt 18s linear infinite;
}

.sasal-eco-wrap[data-season="summer"]::before {
    background:
        radial-gradient(circle at 14% 24%, rgba(255, 246, 178, 0.95) 0 4px, transparent 5px),
        radial-gradient(circle at 14% 24%, rgba(255, 197, 104, 0.76) 0 15px, transparent 19px),
        radial-gradient(circle at 14% 24%, rgba(255, 147, 94, 0.4) 0 30px, transparent 36px),
        radial-gradient(circle at 46% 16%, rgba(187, 236, 255, 0.95) 0 4px, transparent 5px),
        radial-gradient(circle at 46% 16%, rgba(122, 199, 255, 0.74) 0 16px, transparent 20px),
        radial-gradient(circle at 46% 16%, rgba(95, 164, 255, 0.4) 0 31px, transparent 37px),
        radial-gradient(circle at 71% 32%, rgba(255, 224, 182, 0.95) 0 4px, transparent 5px),
        radial-gradient(circle at 71% 32%, rgba(255, 168, 128, 0.74) 0 16px, transparent 20px),
        radial-gradient(circle at 71% 32%, rgba(255, 124, 118, 0.38) 0 31px, transparent 37px),
        radial-gradient(circle at 28% 72%, rgba(206, 239, 255, 0.95) 0 4px, transparent 5px),
        radial-gradient(circle at 28% 72%, rgba(132, 207, 255, 0.72) 0 15px, transparent 19px),
        radial-gradient(circle at 28% 72%, rgba(105, 170, 255, 0.36) 0 30px, transparent 36px),
        radial-gradient(circle at 84% 68%, rgba(255, 241, 176, 0.95) 0 4px, transparent 5px),
        radial-gradient(circle at 84% 68%, rgba(255, 194, 108, 0.72) 0 15px, transparent 19px),
        radial-gradient(circle at 84% 68%, rgba(255, 144, 95, 0.36) 0 30px, transparent 36px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0.94;
    transform-origin: center center;
    animation: ecoFireworkBloom 2.6s ease-out infinite;
}

.sasal-eco-wrap[data-season="summer"]::after {
    background:
        radial-gradient(circle at 10% 30%, rgba(255, 226, 160, 0.82) 0 3px, transparent 5px),
        radial-gradient(circle at 19% 12%, rgba(255, 196, 126, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 26% 37%, rgba(255, 169, 118, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 40% 20%, rgba(170, 233, 255, 0.82) 0 3px, transparent 5px),
        radial-gradient(circle at 50% 8%, rgba(128, 206, 255, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 61% 22%, rgba(104, 175, 255, 0.75) 0 3px, transparent 5px),
        radial-gradient(circle at 63% 36%, rgba(255, 198, 152, 0.82) 0 3px, transparent 5px),
        radial-gradient(circle at 73% 28%, rgba(255, 171, 129, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 82% 40%, rgba(255, 145, 116, 0.74) 0 3px, transparent 5px),
        radial-gradient(circle at 22% 66%, rgba(182, 234, 255, 0.82) 0 3px, transparent 5px),
        radial-gradient(circle at 31% 80%, rgba(136, 207, 255, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 43% 71%, rgba(104, 175, 255, 0.74) 0 3px, transparent 5px),
        radial-gradient(circle at 77% 63%, rgba(255, 236, 168, 0.82) 0 3px, transparent 5px),
        radial-gradient(circle at 86% 76%, rgba(255, 198, 124, 0.78) 0 3px, transparent 5px),
        radial-gradient(circle at 93% 62%, rgba(255, 159, 112, 0.74) 0 3px, transparent 5px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0.9;
    animation: ecoFireworkTrails 1.9s steps(2, end) infinite;
}

.sasal-eco-wrap[data-season="autumn"]::before {
    background:
        radial-gradient(ellipse at 12% 11%, rgba(225, 128, 66, 0.7) 0 8px, transparent 10px),
        radial-gradient(ellipse at 31% 58%, rgba(211, 100, 51, 0.66) 0 7px, transparent 9px),
        radial-gradient(ellipse at 57% 24%, rgba(175, 95, 41, 0.64) 0 8px, transparent 10px),
        radial-gradient(ellipse at 73% 77%, rgba(236, 163, 74, 0.68) 0 7px, transparent 9px),
        radial-gradient(ellipse at 88% 43%, rgba(215, 121, 55, 0.68) 0 8px, transparent 10px),
        radial-gradient(ellipse at 21% 86%, rgba(228, 138, 74, 0.68) 0 8px, transparent 10px),
        radial-gradient(ellipse at 46% 69%, rgba(193, 111, 56, 0.64) 0 7px, transparent 9px),
        radial-gradient(ellipse at 66% 91%, rgba(236, 167, 90, 0.66) 0 7px, transparent 9px),
        radial-gradient(ellipse at 93% 18%, rgba(207, 118, 62, 0.66) 0 8px, transparent 10px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation: ecoLeafFall 16s linear infinite;
}

.sasal-eco-wrap[data-season="autumn"]::after {
    background:
        radial-gradient(ellipse at 15% 37%, rgba(255, 202, 122, 0.48) 0 7px, transparent 9px),
        radial-gradient(ellipse at 39% 81%, rgba(240, 165, 98, 0.45) 0 6px, transparent 8px),
        radial-gradient(ellipse at 61% 14%, rgba(229, 140, 84, 0.43) 0 6px, transparent 8px),
        radial-gradient(ellipse at 83% 63%, rgba(241, 182, 120, 0.45) 0 7px, transparent 9px),
        radial-gradient(ellipse at 9% 71%, rgba(250, 196, 128, 0.45) 0 6px, transparent 8px),
        radial-gradient(ellipse at 35% 22%, rgba(238, 160, 96, 0.43) 0 6px, transparent 8px),
        radial-gradient(ellipse at 57% 79%, rgba(233, 147, 88, 0.41) 0 6px, transparent 8px),
        radial-gradient(ellipse at 91% 44%, rgba(243, 184, 126, 0.45) 0 6px, transparent 8px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0.72;
    animation: ecoLeafFallAlt 20s linear infinite;
}

.sasal-eco-wrap[data-season="winter"]::before {
    background:
        radial-gradient(circle at 9% 18%, rgba(255, 255, 255, 0.78) 0 5px, transparent 7px),
        radial-gradient(circle at 26% 57%, rgba(238, 248, 255, 0.7) 0 4px, transparent 6px),
        radial-gradient(circle at 47% 31%, rgba(255, 255, 255, 0.72) 0 5px, transparent 7px),
        radial-gradient(circle at 66% 76%, rgba(239, 248, 255, 0.7) 0 4px, transparent 6px),
        radial-gradient(circle at 82% 44%, rgba(255, 255, 255, 0.74) 0 5px, transparent 7px),
        radial-gradient(circle at 93% 88%, rgba(228, 244, 255, 0.74) 0 5px, transparent 7px),
        radial-gradient(circle at 14% 83%, rgba(255, 255, 255, 0.76) 0 5px, transparent 7px),
        radial-gradient(circle at 36% 49%, rgba(236, 248, 255, 0.7) 0 4px, transparent 6px),
        radial-gradient(circle at 58% 93%, rgba(255, 255, 255, 0.72) 0 5px, transparent 7px),
        radial-gradient(circle at 87% 19%, rgba(232, 246, 255, 0.72) 0 5px, transparent 7px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation: ecoSnowFall 17s linear infinite;
}

.sasal-eco-wrap[data-season="winter"]::after {
    background:
        radial-gradient(circle at 14% 42%, rgba(255, 255, 255, 0.68) 0 3px, transparent 5px),
        radial-gradient(circle at 37% 73%, rgba(245, 250, 255, 0.66) 0 3px, transparent 5px),
        radial-gradient(circle at 59% 21%, rgba(255, 255, 255, 0.68) 0 3px, transparent 5px),
        radial-gradient(circle at 79% 64%, rgba(244, 250, 255, 0.65) 0 3px, transparent 5px),
        radial-gradient(circle at 91% 33%, rgba(245, 251, 255, 0.62) 0 3px, transparent 5px),
        radial-gradient(circle at 7% 63%, rgba(250, 253, 255, 0.66) 0 3px, transparent 5px),
        radial-gradient(circle at 29% 13%, rgba(244, 251, 255, 0.64) 0 3px, transparent 5px),
        radial-gradient(circle at 47% 83%, rgba(252, 254, 255, 0.64) 0 3px, transparent 5px),
        radial-gradient(circle at 72% 38%, rgba(244, 250, 255, 0.64) 0 3px, transparent 5px);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    opacity: 0.82;
    animation: ecoSnowFallAlt 24s linear infinite;
}

.sasal-eco-wrap[data-month-effect]::before,
.sasal-eco-wrap[data-month-effect]::after {
    mix-blend-mode: normal;
    will-change: transform, opacity, filter;
}

/* Keep monthly variation in speed only; remove non-ball color haze effects. */
.sasal-eco-wrap[data-month-effect]::before,
.sasal-eco-wrap[data-month-effect]::after {
    filter: none !important;
}

.sasal-eco-wrap[data-month-effect]::before,
.sasal-eco-wrap[data-month-effect]::after {
    background: none !important;
    font-weight: 700;
    line-height: 1;
    overflow: visible;
}

.sasal-eco-wrap[data-month-effect="mar"]::before,
.sasal-eco-wrap[data-month-effect="apr"]::before,
.sasal-eco-wrap[data-month-effect="may"]::before {
    content: '✿';
    color: rgba(255, 126, 173, 0.75);
    font-size: 24px;
    left: 3%;
    top: 2%;
    text-shadow:
        12vw 8vh 0,
        26vw 24vh 0,
        40vw 12vh 0,
        56vw 32vh 0,
        73vw 18vh 0,
        88vw 9vh 0,
        17vw 48vh 0,
        36vw 62vh 0,
        59vw 54vh 0,
        79vw 68vh 0,
        10vw 78vh 0,
        28vw 86vh 0,
        52vw 82vh 0,
        72vw 90vh 0;
    animation: ecoSymbolDrift 14s linear infinite;
}

.sasal-eco-wrap[data-month-effect="mar"]::after,
.sasal-eco-wrap[data-month-effect="apr"]::after,
.sasal-eco-wrap[data-month-effect="may"]::after {
    content: '❀';
    color: rgba(255, 173, 203, 0.68);
    font-size: 20px;
    left: 8%;
    top: 7%;
    text-shadow:
        15vw 6vh 0,
        33vw 17vh 0,
        48vw 35vh 0,
        66vw 14vh 0,
        84vw 30vh 0,
        19vw 58vh 0,
        41vw 73vh 0,
        63vw 64vh 0,
        86vw 84vh 0,
        24vw 90vh 0,
        54vw 92vh 0;
    animation: ecoSymbolDriftAlt 18s linear infinite;
}

.sasal-eco-wrap[data-month-effect="jun"]::before,
.sasal-eco-wrap[data-month-effect="jul"]::before,
.sasal-eco-wrap[data-month-effect="aug"]::before {
    content: '✦';
    color: rgba(255, 208, 96, 0.82);
    font-size: 24px;
    left: 4%;
    top: 3%;
    text-shadow:
        11vw 12vh 0,
        27vw 6vh 0,
        42vw 22vh 0,
        61vw 10vh 0,
        79vw 24vh 0,
        92vw 12vh 0,
        16vw 44vh 0,
        34vw 58vh 0,
        53vw 46vh 0,
        71vw 64vh 0,
        87vw 52vh 0,
        21vw 78vh 0,
        45vw 88vh 0,
        67vw 82vh 0,
        85vw 92vh 0;
    animation: ecoFireworkSpark 2.2s steps(2, end) infinite;
}

.sasal-eco-wrap[data-month-effect="jun"]::after,
.sasal-eco-wrap[data-month-effect="jul"]::after,
.sasal-eco-wrap[data-month-effect="aug"]::after {
    content: '✧';
    color: rgba(163, 224, 255, 0.78);
    font-size: 20px;
    left: 7%;
    top: 8%;
    text-shadow:
        13vw 8vh 0,
        31vw 18vh 0,
        50vw 8vh 0,
        69vw 20vh 0,
        88vw 14vh 0,
        18vw 36vh 0,
        39vw 49vh 0,
        58vw 37vh 0,
        77vw 55vh 0,
        10vw 66vh 0,
        30vw 80vh 0,
        52vw 72vh 0,
        72vw 88vh 0,
        90vw 76vh 0;
    animation: ecoFireworkSparkAlt 3.1s steps(2, end) infinite;
}

.sasal-eco-wrap[data-month-effect="sep"]::before,
.sasal-eco-wrap[data-month-effect="oct"]::before,
.sasal-eco-wrap[data-month-effect="nov"]::before {
    content: '❧';
    color: rgba(218, 132, 74, 0.76);
    font-size: 23px;
    left: 4%;
    top: 5%;
    text-shadow:
        14vw 9vh 0,
        28vw 22vh 0,
        47vw 13vh 0,
        63vw 30vh 0,
        81vw 18vh 0,
        92vw 34vh 0,
        17vw 51vh 0,
        38vw 65vh 0,
        57vw 56vh 0,
        75vw 73vh 0,
        9vw 83vh 0,
        33vw 90vh 0,
        54vw 86vh 0,
        83vw 91vh 0;
    animation: ecoSymbolDrift 13.5s linear infinite;
}

.sasal-eco-wrap[data-month-effect="sep"]::after,
.sasal-eco-wrap[data-month-effect="oct"]::after,
.sasal-eco-wrap[data-month-effect="nov"]::after {
    content: '❦';
    color: rgba(240, 170, 118, 0.7);
    font-size: 19px;
    left: 7%;
    top: 4%;
    text-shadow:
        12vw 16vh 0,
        35vw 10vh 0,
        52vw 28vh 0,
        68vw 17vh 0,
        88vw 26vh 0,
        20vw 41vh 0,
        43vw 55vh 0,
        61vw 67vh 0,
        82vw 59vh 0,
        27vw 79vh 0,
        49vw 93vh 0,
        73vw 85vh 0;
    animation: ecoSymbolDriftAlt 17s linear infinite;
}

.sasal-eco-wrap[data-month-effect="jan"]::before,
.sasal-eco-wrap[data-month-effect="feb"]::before,
.sasal-eco-wrap[data-month-effect="dec"]::before {
    content: '❄';
    color: rgba(208, 235, 255, 0.8);
    font-size: 24px;
    left: 4%;
    top: 4%;
    text-shadow:
        10vw 10vh 0,
        27vw 21vh 0,
        45vw 8vh 0,
        62vw 26vh 0,
        81vw 13vh 0,
        93vw 29vh 0,
        16vw 47vh 0,
        36vw 59vh 0,
        56vw 49vh 0,
        74vw 68vh 0,
        11vw 79vh 0,
        31vw 89vh 0,
        53vw 83vh 0,
        78vw 92vh 0;
    animation: ecoSnowDrift 15s linear infinite;
}

.sasal-eco-wrap[data-month-effect="jan"]::after,
.sasal-eco-wrap[data-month-effect="feb"]::after {
    content: '✶';
    color: rgba(230, 245, 255, 0.76);
    font-size: 19px;
    left: 7%;
    top: 6%;
    text-shadow:
        14vw 7vh 0,
        33vw 15vh 0,
        50vw 31vh 0,
        69vw 18vh 0,
        87vw 33vh 0,
        21vw 53vh 0,
        42vw 66vh 0,
        61vw 77vh 0,
        84vw 69vh 0,
        24vw 88vh 0,
        52vw 94vh 0;
    animation: ecoSnowDriftAlt 18s linear infinite;
}

.sasal-eco-wrap[data-month-effect="dec"]::after {
    content: '🦌';
    color: rgba(165, 106, 64, 0.82);
    font-size: 23px;
    left: 6%;
    top: 12%;
    text-shadow:
        22vw 10vh 0,
        44vw 24vh 0,
        66vw 14vh 0,
        84vw 28vh 0,
        18vw 48vh 0,
        39vw 62vh 0,
        60vw 53vh 0,
        82vw 69vh 0,
        26vw 84vh 0,
        56vw 90vh 0;
    animation: ecoReindeerFloat 21s linear infinite;
}

@keyframes ecoPetalFall {
    0% { transform: translateY(-4%) translateX(0); }
    100% { transform: translateY(74%) translateX(3%); }
}

@keyframes ecoPetalFallAlt {
    0% { transform: translateY(-10%) translateX(2%); }
    100% { transform: translateY(70%) translateX(-3%); }
}

@keyframes ecoFireworkBloom {
    0% { opacity: 0.15; transform: scale(0.56); }
    25% { opacity: 0.95; transform: scale(1); }
    60% { opacity: 0.72; transform: scale(1.18); }
    100% { opacity: 0.18; transform: scale(0.82); }
}

@keyframes ecoFireworkTrails {
    0% { transform: scale(0.9) translateY(-4%); opacity: 0.1; }
    20% { transform: scale(1) translateY(0); opacity: 0.92; }
    55% { transform: scale(1.12) translateY(2%); opacity: 0.7; }
    100% { transform: scale(0.92) translateY(-2%); opacity: 0.12; }
}

@keyframes ecoLeafFall {
    0% { transform: translateY(-6%) translateX(0) rotate(0deg); }
    100% { transform: translateY(72%) translateX(4%) rotate(8deg); }
}

@keyframes ecoLeafFallAlt {
    0% { transform: translateY(-12%) translateX(-1%) rotate(0deg); }
    100% { transform: translateY(68%) translateX(-4%) rotate(-10deg); }
}

@keyframes ecoSnowFall {
    0% { transform: translateY(-8%) translateX(0); }
    100% { transform: translateY(76%) translateX(2%); }
}

@keyframes ecoSnowFallAlt {
    0% { transform: translateY(-14%) translateX(2%); }
    100% { transform: translateY(80%) translateX(-2%); }
}

@keyframes ecoSymbolDrift {
    0% { transform: translateY(-4%) translateX(0) rotate(0deg); opacity: 0.72; }
    50% { opacity: 0.96; }
    100% { transform: translateY(7%) translateX(2%) rotate(8deg); opacity: 0.74; }
}

@keyframes ecoSymbolDriftAlt {
    0% { transform: translateY(2%) translateX(-1%) rotate(0deg); opacity: 0.62; }
    50% { opacity: 0.9; }
    100% { transform: translateY(-5%) translateX(2%) rotate(-9deg); opacity: 0.64; }
}

@keyframes ecoFireworkSpark {
    0% { transform: scale(0.84); opacity: 0.24; }
    30% { transform: scale(1.08); opacity: 0.98; }
    70% { transform: scale(0.95); opacity: 0.68; }
    100% { transform: scale(0.86); opacity: 0.28; }
}

@keyframes ecoFireworkSparkAlt {
    0% { transform: scale(0.9) rotate(0deg); opacity: 0.2; }
    35% { transform: scale(1.12) rotate(5deg); opacity: 0.92; }
    70% { transform: scale(0.97) rotate(-4deg); opacity: 0.64; }
    100% { transform: scale(0.88) rotate(0deg); opacity: 0.22; }
}

@keyframes ecoSnowDrift {
    0% { transform: translateY(-3%) translateX(0); opacity: 0.62; }
    100% { transform: translateY(9%) translateX(1.5%); opacity: 0.82; }
}

@keyframes ecoSnowDriftAlt {
    0% { transform: translateY(3%) translateX(1%); opacity: 0.52; }
    100% { transform: translateY(-5%) translateX(-1.5%); opacity: 0.74; }
}

@keyframes ecoReindeerFloat {
    0% { transform: translateY(2%) translateX(0) rotate(0deg); opacity: 0.58; }
    50% { transform: translateY(-3%) translateX(1.5%) rotate(3deg); opacity: 0.9; }
    100% { transform: translateY(3%) translateX(-1%) rotate(-2deg); opacity: 0.62; }
}

@media (prefers-reduced-motion: reduce) {
    .sasal-eco-wrap::before,
    .sasal-eco-wrap::after {
        animation: none !important;
    }
}

.sasal-eco-hero {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 12px;
    overflow: visible;
    padding: 0;
    position: relative;
    z-index: 1;
}

.sasal-eco-hero::after {
    content: none;
}

.sasal-eco-kicker {
    color: var(--eco-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.18em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.sasal-eco-hero-layout {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
}

.sasal-eco-hero-meta-block {
    display: grid;
    gap: 8px;
}

.sasal-eco-hero-copy {
    min-width: 0;
}

.sasal-eco-season-headline-row {
    align-items: center;
    column-gap: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 8px;
}

.sasal-eco-hero-inline-meta {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-self: end;
}

.sasal-eco-season-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 8px;
}

.sasal-eco-season-chip {
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.62));
    border: 1px solid rgba(29, 41, 62, 0.32);
    border-radius: 999px;
    box-shadow: 0 6px 14px rgba(35, 55, 86, 0.12);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.09em;
    padding: 5px 11px;
    text-transform: uppercase;
}

.sasal-eco-season-month {
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid rgba(42, 78, 134, 0.18);
    border-radius: 999px;
    color: #2f4f77;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 6px 12px;
    text-transform: uppercase;
}

.sasal-eco-hero h2 {
    background: linear-gradient(140deg, #151e34 0%, #1c3670 45%, #115f84 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-family: var(--font-sans);
    font-size: clamp(34px, 5.2vw, 54px);
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.06;
    margin: 0 0 14px;
    text-shadow: 0 10px 34px rgba(32, 62, 111, 0.24);
}

.sasal-eco-lead {
    color: #495f7d;
    font-size: 18px;
    line-height: 1.75;
    margin: 0;
    max-width: 920px;
    width: 100%;
}


.sasal-eco-season-headline {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.015em;
    margin: 0;
}

.sasal-eco-report-title {
    color: #151e34;
    font-family: var(--font-sans);
    font-size: clamp(30px, 4vw, 52px);
    letter-spacing: -0.03em;
    line-height: 1.08;
    margin: 0;
}

.sasal-eco-season-motif,
.sasal-eco-meta {
    color: #5c6f88;
    font-size: 14px;
    margin: 0 0 6px;
}

.sasal-eco-meta {
    display: inline-flex;
    margin: 0;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(42, 78, 134, 0.16);
    background: rgba(255, 255, 255, 0.52);
}

@media (max-width: 900px) {
    .sasal-eco-season-headline-row {
        align-items: flex-start;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 6px;
    }

    .sasal-eco-hero-inline-meta {
        justify-self: start;
    }

}

.sasal-eco-ai-summary,
.sasal-eco-pulse,
.sasal-eco-broadcast,
.sasal-eco-card,
.sasal-eco-effect-guide,
.sasal-eco-login {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.sasal-eco-effect-guide {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0 0 14px;
    padding: 0;
}

.sasal-eco-effect-kicker {
    color: #2f5487;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.sasal-eco-effect-guide h3 {
    font-family: var(--font-sans);
    font-size: clamp(22px, 3vw, 29px);
    line-height: 1.24;
    margin: 0 0 5px;
}

.sasal-eco-effect-detail {
    color: var(--eco-muted);
    font-size: 15px;
    line-height: 1.62;
    margin: 0;
}

.sasal-eco-ai-summary {
    background: linear-gradient(130deg, rgba(255, 255, 255, 0.92), rgba(247, 251, 255, 0.78));
    border: 1px solid rgba(66, 94, 136, 0.28);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(34, 57, 98, 0.14);
    margin: 0 0 16px;
    padding: 16px;
    position: relative;
}

.sasal-eco-ai-summary::before {
    background: linear-gradient(90deg, #2f69b3, #25ad89, #d09a48);
    border-radius: 12px;
    content: "";
    height: 3px;
    left: 16px;
    position: absolute;
    right: 16px;
    top: 0;
}

.sasal-eco-ai-kicker {
    color: #2f5487;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.sasal-eco-ai-summary h3 {
    font-family: var(--font-sans);
    font-size: clamp(24px, 3.4vw, 32px);
    line-height: 1.28;
    margin: 0 0 6px;
}

.sasal-eco-ai-status {
    color: #2f5487;
    font-size: 15px;
    font-weight: 800;
    margin: 0 0 9px;
}

.sasal-eco-ai-detail {
    font-size: 16px;
    line-height: 1.72;
    margin: 0 0 7px;
}

.sasal-eco-ai-note {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}

.sasal-eco-gmv-chart {
    background: #ffffff;
    border: 1px solid rgba(62, 74, 95, 0.2);
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(34, 57, 98, 0.14);
    margin: 0 0 16px;
    padding: 15px;
}

.sasal-eco-gmv-head {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin: 0 0 10px;
}

.sasal-eco-gmv-head h3 {
    font-family: var(--font-sans);
    font-size: clamp(24px, 3.2vw, 30px);
    margin: 0;
}

.sasal-eco-gmv-head p {
    color: var(--eco-muted);
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.sasal-eco-gmv-controls {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.sasal-eco-gmv-controls label {
    color: var(--eco-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sasal-eco-gmv-year-filter {
    appearance: none;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(59, 89, 136, 0.34);
    border-radius: 999px;
    color: #21416f;
    font-size: 14px;
    font-weight: 700;
    padding: 7px 12px;
}

.sasal-eco-gmv-year-filter:focus {
    border-color: rgba(24, 98, 188, 0.72);
    box-shadow: 0 0 0 2px rgba(24, 98, 188, 0.18);
    outline: none;
}

.sasal-eco-gmv-combo-wrap {
    display: grid;
    gap: 8px;
}

.sasal-eco-gmv-chartjs-wrap {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    position: relative;
}

.sasal-eco-gmv-canvas {
    display: block;
    height: 275px !important;
    width: 100% !important;
}

.sasal-eco-gmv-combo-chart {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    width: 100%;
}

.sasal-eco-gmv-axis {
    stroke: rgba(45, 76, 123, 0.35);
    stroke-width: 1.2;
}

.sasal-eco-gmv-grid {
    stroke: rgba(70, 97, 139, 0.18);
    stroke-dasharray: 3 5;
    stroke-width: 1;
}

.sasal-eco-gmv-bar {
    fill: url(#sasal-gmv-bar);
    filter: drop-shadow(0 6px 12px rgba(47, 105, 179, 0.2));
}

.sasal-eco-gmv-month-line {
    fill: none;
    stroke: url(#sasal-gmv-month-line);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.2;
}

.sasal-eco-gmv-month-line.sasal-eco-gmv-trend-up {
    filter: drop-shadow(0 4px 8px rgba(37, 173, 137, 0.22));
}

.sasal-eco-gmv-month-line.sasal-eco-gmv-trend-down {
    filter: drop-shadow(0 4px 8px rgba(201, 94, 94, 0.2));
}

.sasal-eco-gmv-point-halo {
    fill: rgba(255, 255, 255, 0.8);
}

.sasal-eco-gmv-point {
    stroke: #fff;
    stroke-width: 2;
}

.sasal-eco-gmv-point-current { fill: #25ad89; }

.sasal-eco-gmv-ylabel {
    fill: rgba(63, 84, 114, 0.82);
    font-size: 8.5px;
    font-weight: 700;
}

.sasal-eco-gmv-tick {
    fill: var(--eco-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sasal-eco-gmv-legend {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.sasal-eco-gmv-legend-item {
    align-items: center;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 8px;
    margin: 0;
}

.sasal-eco-gmv-legend-title,
.sasal-eco-gmv-current-total {
    color: #3f5879;
}

.sasal-eco-gmv-delta {
    border-radius: 999px;
    display: inline-flex;
    padding: 3px 10px;
    width: fit-content;
}

.sasal-eco-gmv-delta-up {
    background: rgba(39, 160, 111, 0.14);
    color: #1f7f58;
}

.sasal-eco-gmv-delta-down {
    background: rgba(204, 97, 97, 0.14);
    color: #a24a4a;
}

.sasal-eco-gmv-dot {
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 8px;
    height: 8px;
    width: 8px;
}

.sasal-eco-gmv-dot-current { background: #25ad89; }
.sasal-eco-gmv-dot-cumulative { background: #2f69b3; }

.sasal-eco-gmv-meta {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}

.sasal-eco-gmv-reporters {
    margin-top: 12px;
}

.sasal-eco-gmv-reporters-title {
    color: #1f3f73;
    display: block;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.02em;
    margin: 0 0 10px;
    padding: 0;
}

.sasal-eco-gmv-reporters-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sasal-eco-gmv-reporter {
    border-radius: 50%;
    display: inline-flex;
    height: 34px;
    overflow: hidden;
    width: 34px;
}

.sasal-eco-gmv-reporter-logo {
    border: 1px solid rgba(61, 84, 120, 0.22);
    border-radius: 50%;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.sasal-eco-gmv-reporter-logo-fallback {
    align-items: center;
    background: linear-gradient(135deg, rgba(41, 97, 180, 0.18), rgba(48, 173, 131, 0.18));
    color: #2b4d81;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
}

.sasal-eco-gmv-reporters-empty {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}

.sasal-eco-kpi-chart {
    background: #ffffff;
    border: 1px solid rgba(62, 74, 95, 0.2);
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(34, 57, 98, 0.14);
    margin: 0 0 16px;
    padding: 15px;
}

.sasal-eco-kpi-head {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
    margin: 0 0 10px;
}

.sasal-eco-kpi-head h3 {
    font-family: var(--font-sans);
    font-size: clamp(24px, 3.2vw, 30px);
    margin: 0;
}

.sasal-eco-kpi-head p {
    color: var(--eco-muted);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0;
    text-transform: uppercase;
}

.sasal-eco-kpi-chartjs-wrap {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    position: relative;
}

.sasal-eco-current-week-badge {
    display: none;
}

.sasal-eco-kpi-canvas {
    display: block;
    height: 315px !important;
    width: 100% !important;
}

.sasal-eco-kpi-split {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sasal-eco-kpi-subtitle {
    color: var(--eco-text);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.06em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.sasal-eco-user-segments {
    margin-top: 14px;
    padding-top: 0;
}

.sasal-eco-user-segments h4 {
    font-family: var(--font-sans);
    font-size: clamp(22px, 2.8vw, 28px);
    margin: 0 0 10px;
}

.sasal-eco-user-segments-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sasal-eco-kpi-split-single {
    grid-template-columns: minmax(0, 1fr);
}

.sasal-eco-kpi-split-single .sasal-eco-kpi-chartjs-wrap {
    width: 100%;
}

.sasal-eco-user-segment-card {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.sasal-eco-user-segment-card--source {
    grid-column: 1 / -1;
}

.sasal-eco-user-segment-card h5 {
    color: var(--eco-muted);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.06em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.sasal-eco-user-segment-chartjs {
    height: 250px;
    margin-bottom: 8px;
    position: relative;
}

.sasal-eco-yearly-analysis .sasal-eco-user-segment-chartjs {
    height: 190px;
}

.sasal-eco-yearly-analysis .sasal-eco-user-segments-grid {
    grid-template-columns: minmax(0, 1fr);
}

.sasal-eco-yearly-segment-chartjs {
    height: 320px;
    position: relative;
}

.sasal-eco-yearly-segment-canvas {
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.sasal-eco-capital-chartjs-wrap {
    height: 300px;
    position: relative;
}

.sasal-eco-capital-canvas {
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.sasal-eco-capital-raised-records {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.sasal-eco-capital-raised-record {
    border-top: 1px solid rgba(65, 93, 133, 0.16);
    padding-top: 12px;
}

.sasal-eco-capital-raised-record > div:first-child {
    align-items: center;
    display: flex;
    gap: 10px;
}

.sasal-eco-capital-raised-record strong {
    color: #a23b15;
    font-size: 18px;
}

.sasal-eco-capital-raised-meta {
    color: var(--eco-muted);
    font-size: 13px;
}

.sasal-eco-capital-raised-record h4,
.sasal-eco-capital-raised-record time,
.sasal-eco-capital-raised-record p {
    margin: 4px 0;
}

.sasal-eco-capital-raised-record time,
.sasal-eco-capital-raised-record span,
.sasal-eco-capital-raised-empty {
    color: var(--eco-muted);
    font-size: 13px;
}

.sasal-eco-capital-raised-link {
    font-weight: 800;
}

.sasal-eco-user-segment-canvas {
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.sasal-eco-user-segment-list {
    display: grid;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sasal-eco-user-segment-list li {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.sasal-eco-user-segment-label {
    color: #2f4668;
    font-size: 14px;
    line-height: 1.35;
}

.sasal-eco-user-segment-count {
    color: #1a355d;
    font-size: 15px;
    font-weight: 800;
}

.sasal-eco-user-segment-empty {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}
.sasal-eco-kpi-activity-card {
    border-top: 1px solid rgba(62, 74, 95, 0.18);
    margin-top: 28px;
    padding-top: 14px;
}

@media (max-width: 980px) {
    .sasal-eco-kpi-split {
        grid-template-columns: minmax(0, 1fr);
    }

    .sasal-eco-user-segments-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sasal-eco-kpi-canvas {
        height: 250px !important;
    }
}

.sasal-eco-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 4px;
}

.sasal-eco-card {
    background: var(--eco-surface);
    border: 1px solid var(--eco-border);
    border-radius: 17px;
    box-shadow: 0 8px 28px rgba(23, 37, 65, 0.16);
    min-height: 150px;
    overflow: hidden;
    padding: 14px 14px 15px;
    position: relative;
    transform: translateY(12px);
    opacity: 0;
    animation: ecoCardIn 0.5s ease forwards;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.sasal-eco-card[data-trend="up"] {
    background: linear-gradient(135deg, rgba(236, 252, 242, 0.92), rgba(247, 255, 250, 0.86));
    border-color: rgba(58, 145, 88, 0.34);
    box-shadow: 0 8px 28px rgba(36, 110, 66, 0.13);
}

.sasal-eco-card[data-trend="down"] {
    background: linear-gradient(135deg, rgba(255, 236, 236, 0.94), rgba(255, 246, 246, 0.9));
    border-color: rgba(214, 129, 129, 0.42);
    box-shadow: 0 8px 28px rgba(168, 90, 90, 0.14);
}

.sasal-eco-card[data-trend="down"]::before {
    background: linear-gradient(90deg, #df7d7d, #f3b1b1);
}

.sasal-eco-card[data-trend="up"] .sasal-eco-card-sub {
    color: #2f6f42;
}

.sasal-eco-card[data-trend="down"] .sasal-eco-card-sub {
    color: #9a5353;
}

.sasal-eco-card:hover {
    border-color: rgba(37, 75, 128, 0.45);
    box-shadow: 0 14px 32px rgba(23, 37, 65, 0.2);
    transform: translateY(-2px);
}

.sasal-eco-card::before {
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.sasal-eco-card::after {
    content: "";
    position: absolute;
    right: -24px;
    bottom: -30px;
    width: 94px;
    height: 94px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.38), transparent 68%);
    pointer-events: none;
}

.sasal-eco-card:nth-child(2) { animation-delay: 0.05s; }
.sasal-eco-card:nth-child(3) { animation-delay: 0.1s; }
.sasal-eco-card:nth-child(4) { animation-delay: 0.15s; }
.sasal-eco-card:nth-child(5) { animation-delay: 0.2s; }
.sasal-eco-card:nth-child(6) { animation-delay: 0.25s; }
.sasal-eco-card:nth-child(7) { animation-delay: 0.3s; }

.sasal-eco-card[data-accent="gold"]::before { background: linear-gradient(90deg, #b57a1f, #e5bc62); }
.sasal-eco-card[data-accent="teal"]::before { background: linear-gradient(90deg, #0f7a76, #5ad3b2); }
.sasal-eco-card[data-accent="orange"]::before { background: linear-gradient(90deg, #bc4a1e, #f39457); }
.sasal-eco-card[data-accent="blue"]::before { background: linear-gradient(90deg, #1f4ea7, #67a6ff); }
.sasal-eco-card[data-accent="green"]::before { background: linear-gradient(90deg, #2a7a3e, #7ed07d); }
.sasal-eco-card[data-accent="pink"]::before { background: linear-gradient(90deg, #b43e6c, #f296b5); }
.sasal-eco-card[data-accent="purple"]::before { background: linear-gradient(90deg, #5d45bf, #9a8cf8); }

.sasal-eco-card-label {
    color: var(--eco-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.sasal-eco-card-value {
    font-family: var(--font-sans);
    font-size: clamp(27px, 4.1vw, 42px);
    font-weight: 600;
    line-height: 0.95;
    letter-spacing: 0.01em;
    margin: 0 0 11px;
    text-shadow: 0 6px 20px rgba(33, 64, 112, 0.16);
}

.sasal-eco-card-sub {
    color: var(--eco-muted);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.52;
    margin: 0;
}

.sasal-eco-pulse,
.sasal-eco-broadcast {
    background: rgba(255, 255, 255, 0.64);
    border: 1px solid var(--eco-border);
    border-radius: 16px;
    margin-top: 16px;
    padding: 15px;
    position: relative;
}

.sasal-eco-pulse::before,
.sasal-eco-broadcast::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(32, 90, 175, 0.7), rgba(43, 173, 139, 0.7), rgba(200, 139, 42, 0.7));
}

.sasal-eco-pulse h3,
.sasal-eco-broadcast h3 {
    font-size: 24px;
    margin: 0 0 10px;
}

.sasal-eco-pulse ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sasal-eco-pulse li {
    border-left: 4px solid rgba(56, 83, 122, 0.46);
    font-size: 16px;
    line-height: 1.62;
    padding-left: 10px;
    position: relative;
}

.sasal-eco-pulse li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    position: absolute;
    left: -6px;
    top: 0.8em;
    background: #2b82c8;
}

.sasal-eco-broadcast p {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.7;
    margin: 0;
}

.sasal-eco-broadcast {
    overflow: hidden;
}

.sasal-eco-broadcast::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.35) 45%, transparent 60%);
    transform: translateX(-120%);
    animation: ecoSweep 4.6s ease-in-out infinite;
    pointer-events: none;
}

.sasal-eco-company-joins {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--eco-border);
    border-radius: 16px;
    margin-top: 16px;
    padding: 15px;
    position: relative;
}

.sasal-eco-company-joins::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(28, 93, 183, 0.7), rgba(34, 169, 122, 0.7));
}

.sasal-eco-company-joins h3 {
    font-size: 24px;
    margin: 0 0 10px;
}

.sasal-eco-company-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sasal-eco-company-list li {
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(60, 85, 125, 0.18);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
}

.sasal-eco-company-main {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    min-width: 0;
}

.sasal-eco-company-logo {
    border: 1px solid rgba(61, 84, 120, 0.22);
    border-radius: 50%;
    flex: 0 0 34px;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.sasal-eco-company-logo-fallback {
    align-items: center;
    background: linear-gradient(135deg, rgba(41, 97, 180, 0.18), rgba(48, 173, 131, 0.18));
    color: #2b4d81;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    justify-content: center;
}

.sasal-eco-company-name {
    min-width: 0;
}

.sasal-eco-company-text {
    align-items: baseline;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 12px;
    min-width: 0;
}

.sasal-eco-company-summary {
    color: var(--eco-muted);
    font-size: 14px;
    line-height: 1.45;
}

.sasal-eco-company-name a {
    color: #1f4ea7;
    font-weight: 700;
    text-decoration: none;
}

.sasal-eco-company-name a:hover {
    text-decoration: underline;
}

.sasal-eco-company-date {
    color: var(--eco-muted);
    font-size: 14px;
    white-space: nowrap;
}

.sasal-eco-company-empty {
    color: var(--eco-muted);
    margin: 0;
}

.sasal-eco-featured-wrap {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    margin-top: 16px;
}

.sasal-eco-featured-card {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--eco-border);
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(35, 54, 86, 0.1);
    padding: 12px;
}

.sasal-eco-featured-card h4 {
    color: #2a4d86;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.05em;
    margin: 0 0 7px;
    text-transform: uppercase;
}

.sasal-eco-featured-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 6px;
}

.sasal-eco-featured-title a {
    color: #1f4ea7;
    text-decoration: none;
}

.sasal-eco-featured-title a:hover {
    text-decoration: underline;
}

.sasal-eco-featured-summary {
    color: var(--eco-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 6px;
}

.sasal-eco-featured-date {
    color: var(--eco-muted);
    font-size: 13px;
    margin: 0;
}

.sasal-eco-featured-empty {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}

.sasal-eco-next-goals {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--eco-border);
    border-radius: 16px;
    margin-top: 16px;
    padding: 14px;
    position: relative;
}

.sasal-eco-next-goals::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(30, 110, 187, 0.72), rgba(50, 169, 117, 0.72));
}

.sasal-eco-next-goals h3 {
    font-size: 24px;
    margin: 0 0 10px;
}

.sasal-eco-next-goals ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sasal-eco-next-goals li {
    border-left: 4px solid rgba(46, 101, 178, 0.5);
    color: #263750;
    font-size: 16px;
    line-height: 1.6;
    padding-left: 10px;
}

.sasal-eco-reports {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--eco-border);
    border-radius: 16px;
    margin-top: 16px;
    padding: 14px;
    position: relative;
}

.sasal-eco-reports::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(33, 94, 174, 0.72), rgba(71, 113, 170, 0.72));
}

.sasal-eco-reports h3 {
    font-size: 24px;
    margin: 0 0 8px;
}

.sasal-eco-reports-note {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0 0 10px;
}

.sasal-eco-pdf-capture-btn {
    appearance: none;
    background: linear-gradient(135deg, #194ea8 0%, #156f94 100%);
    border: 0;
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(26, 73, 142, 0.24);
    color: #ffffff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.02em;
    margin: 0 0 8px;
    padding: 10px 14px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.sasal-eco-pdf-capture-btn:hover {
    box-shadow: 0 10px 22px rgba(26, 73, 142, 0.28);
    transform: translateY(-1px);
}

.sasal-eco-pdf-capture-btn:disabled {
    cursor: wait;
    opacity: 0.75;
    transform: none;
}

.sasal-eco-pdf-capture-note {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0 0 8px;
}

.sasal-eco-reports-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sasal-eco-reports-list li a {
    color: #1f4ea7;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.sasal-eco-reports-list li a:hover {
    text-decoration: underline;
}

.sasal-eco-reports-empty {
    color: var(--eco-muted);
    font-size: 14px;
    margin: 0;
}

.sasal-eco-login {
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid var(--eco-border);
    border-radius: 18px;
    margin: 14px auto;
    max-width: 620px;
    padding: 30px 22px;
    text-align: center;
}

.sasal-eco-login h2 {
    font-family: var(--font-sans);
    font-size: clamp(31px, 5vw, 38px);
    margin: 0 0 10px;
}

.sasal-eco-login p {
    color: var(--eco-muted);
    font-size: 17px;
    margin: 0 0 16px;
}

.sasal-eco-btn {
    background: linear-gradient(120deg, #145366, #2551af);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(24, 69, 125, 0.3);
    color: #fff;
    display: inline-block;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 11px 19px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sasal-eco-btn:hover {
    box-shadow: 0 14px 28px rgba(24, 69, 125, 0.36);
    transform: translateY(-1px);
}

@keyframes ecoCardIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ecoOrbit {
    0% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(180deg) translateY(4px); }
    100% { transform: rotate(360deg) translateY(0); }
}

@keyframes ecoSweep {
    0% { transform: translateX(-120%); }
    55% { transform: translateX(120%); }
    100% { transform: translateX(120%); }
}

@media (max-width: 980px) {
    .sasal-eco-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sasal-eco-featured-wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 640px) {
    .sasal-eco-wrap {
        margin: 14px 0;
        padding: 14px;
    }

    .sasal-eco-hero {
        border-radius: 14px;
        padding: 13px;
    }

    .sasal-eco-hero h2 {
        font-size: clamp(28px, 9vw, 36px);
        line-height: 1.1;
    }

    .sasal-eco-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .sasal-eco-featured-wrap {
        grid-template-columns: minmax(0, 1fr);
    }

    .sasal-eco-ai-summary,
    .sasal-eco-gmv-chart,
    .sasal-eco-card,
    .sasal-eco-pulse,
    .sasal-eco-broadcast,
    .sasal-eco-company-joins,
    .sasal-eco-next-goals,
    .sasal-eco-reports {
        border-radius: 14px;
    }

    .sasal-eco-gmv-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .sasal-eco-company-list li {
        align-items: flex-start;
        flex-direction: column;
    }

    .sasal-eco-company-main {
        width: 100%;
    }

    .sasal-eco-company-date {
        white-space: normal;
    }
}
.sasal-eco-weekly-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
}

.sasal-eco-weekly-content-single {
  grid-template-columns: 1fr;
}

.sasal-eco-weekly-content + .sasal-eco-gmv-chart {
  margin-top: 28px;
}

.sasal-eco-weekly-card {
  padding: 28px;
  border: 1px solid rgba(25, 52, 73, 0.12);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 45, 64, 0.07);
}

.sasal-eco-weekly-card h3 {
  margin: 4px 0 14px;
}

.sasal-eco-financing-price {
  margin-top: 28px;
}

.sasal-eco-financing-scope {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.sasal-eco-financing-chartjs-wrap {
  position: relative;
  height: 300px;
  margin-top: 12px;
}

.sasal-eco-financing-canvas { width: 100% !important; height: 100% !important; }

.sasal-eco-financing-coming-soon {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 48px;
  text-align: center;
  background: rgba(255, 255, 255, 0.68);
  pointer-events: none;
}

.sasal-eco-financing-coming-soon strong {
  color: #163d7a;
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -0.04em;
}

.sasal-eco-financing-coming-soon span {
  margin-top: 8px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.6;
}

.sasal-eco-financing-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 24px; }
.sasal-eco-financing-detail article { padding-top: 3px; }
.sasal-eco-financing-detail article + article { border-left: 1px solid rgba(25, 52, 73, 0.14); padding-left: 28px; }
.sasal-eco-financing-detail small { display: block; color: #718096; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.sasal-eco-financing-detail h4 { margin: 5px 0 0; color: #193449; font-size: 17px; }
.sasal-eco-financing-detail p { margin: 7px 0 0; color: #506070; font-size: 13px; line-height: 1.65; }
@media (max-width: 720px) {
  .sasal-eco-financing-detail { grid-template-columns: 1fr; gap: 18px; }
  .sasal-eco-financing-detail article + article { border-top: 1px solid rgba(25, 52, 73, 0.14); border-left: 0; padding-top: 18px; padding-left: 0; }
}

.sasal-eco-weekly-kicker {
  margin: 0;
  color: #07826e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sasal-eco-weekly-copy,
.sasal-eco-weekly-empty {
  color: #506070;
  line-height: 1.7;
}

.sasal-eco-weekly-copy p:last-child {
  margin-bottom: 0;
}

.sasal-eco-usage-notice {
  margin-top: 28px;
  padding: 24px 28px;
  border-left: 4px solid #07826e;
  border-radius: 0 14px 14px 0;
  background: #f2f7f6;
  color: #425266;
  font-size: 14px;
  line-height: 1.75;
}

.sasal-eco-metric-notes {
  margin-top: 28px;
  padding: 22px 28px;
  border: 1px solid rgba(25, 52, 73, 0.12);
  border-radius: 14px;
  background: #ffffff;
  color: #506070;
  font-size: 14px;
  line-height: 1.7;
}

.sasal-eco-metric-notes h3,
.sasal-eco-metric-notes p {
  margin: 0;
}

.sasal-eco-metric-notes p {
  margin-top: 8px;
}

.sasal-eco-usage-notice h3 {
  margin: 0 0 12px;
  color: #173a4d;
}

.sasal-eco-usage-notice p:last-child {
  margin-bottom: 0;
}

.sasal-eco-investor-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding: 28px;
  border-radius: 18px;
  background: #173a4d;
  color: #ffffff;
}

.sasal-eco-investor-cta h3,
.sasal-eco-investor-cta p {
  margin: 0;
}

.sasal-eco-investor-cta h3 {
  color: #ffffff;
}

.sasal-eco-investor-cta p {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
}

.sasal-eco-investor-cta-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 10px;
}

.sasal-eco-investor-cta .sasal-eco-btn-secondary {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.72);
}

.sasal-eco-booking-page {
  padding: 24px 28px;
  border: 1px solid rgba(25, 52, 73, 0.14);
  border-radius: 18px;
  background: #ffffff;
  color: #173a4d;
}

.sasal-eco-booking-page h1,
.sasal-eco-booking-page p {
  margin: 0;
}

.sasal-eco-booking-page p {
  margin-top: 8px;
  color: #506070;
}

.sasal-eco-booking-page iframe {
  display: block;
  width: 100%;
  margin-top: 18px;
  border: 0;
  border-radius: 10px;
}

.sasal-eco-synergy-form {
  display: none;
  margin-top: 18px;
  padding: 24px 28px;
  border: 1px solid rgba(25, 52, 73, 0.14);
  border-radius: 18px;
  background: #ffffff;
}

.sasal-eco-synergy-form.is-open {
  display: block;
}

.sasal-eco-synergy-form h3,
.sasal-eco-synergy-form p {
  margin: 0;
}

.sasal-eco-synergy-form p {
  margin-top: 8px;
  color: #506070;
}

.sasal-eco-synergy-form form {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.sasal-eco-synergy-form label {
  display: grid;
  gap: 6px;
  color: #173a4d;
  font-size: 14px;
  font-weight: 700;
}

.sasal-eco-synergy-form input,
.sasal-eco-synergy-form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(25, 52, 73, 0.22);
  border-radius: 8px;
  color: #173a4d;
  font: inherit;
}

.sasal-eco-synergy-form textarea {
  resize: vertical;
}

.sasal-eco-synergy-form form .sasal-eco-btn {
  justify-self: start;
}

.sasal-eco-synergy-honeypot {
  position: absolute;
  left: -9999px;
}

.sasal-eco-synergy-notice {
  margin-top: 14px !important;
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 700;
}

.sasal-eco-synergy-notice.is-success {
  background: #edf8f4;
  color: #08765f;
}

.sasal-eco-synergy-notice.is-error {
  background: #fff2f0;
  color: #a13b2b;
}

.sasal-eco-securities-disclaimer {
  margin: 28px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #d5dde5;
  color: #68788a;
  font-size: 12px;
  line-height: 1.6;
}

.sasal-eco-report-view-switcher {
  display: inline-flex;
  gap: 4px;
  margin: 0 0 18px;
  padding: 4px;
  border: 1px solid #d8e1e8;
  border-radius: 10px;
  background: #f7fafc;
}

.sasal-eco-report-view-switcher button {
  border: 0;
  padding: 8px 14px;
  border-radius: 7px;
  background: transparent;
  color: #526278;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}

.sasal-eco-report-view-switcher button.is-active {
  background: #173a4d;
  color: #fff;
}

.sasal-eco-stage-progression {
  margin: 28px 0;
  padding: 24px 28px;
  border: 1px solid rgba(25, 52, 73, 0.12);
  border-radius: 12px;
  background: #fff;
}

.sasal-eco-stage-progression__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.sasal-eco-stage-progression__head h3 {
  margin: 4px 0 0;
  color: #173a4d;
}

.sasal-eco-stage-progression__head > p,
.sasal-eco-stage-progression__note,
.sasal-eco-stage-progression__empty {
  margin: 0;
  color: #68788a;
  font-size: 13px;
  line-height: 1.55;
}

.sasal-eco-stage-progression__flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}

.sasal-eco-stage-progression__flow article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dbe5e8;
  border-radius: 10px;
  background: #f9fcfc;
}

.sasal-eco-stage-progression__flow article > span {
  display: block;
  color: #173a4d;
  font-size: 13px;
  font-weight: 800;
}

.sasal-eco-stage-progression__flow > i {
  align-self: center;
  color: #17857d;
  font-size: 22px;
  font-style: normal;
}

.sasal-eco-stage-flow__metric {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 8px;
}

.sasal-eco-stage-flow__metric strong {
  color: #087b72;
  font-size: 28px;
  letter-spacing: -0.05em;
}

.sasal-eco-stage-flow__metric span,
.sasal-eco-stage-progression__flow article small {
  color: #68788a;
  font-size: 12px;
  line-height: 1.4;
}

.sasal-eco-stage-progression__flow article small {
  display: block;
  margin-top: 10px;
}

.sasal-eco-stage-progression__note {
  margin-top: 14px;
}

.sasal-eco-stage-population {
  margin: 28px 0 0;
  padding: 24px 28px;
  border: 1px solid rgba(25, 52, 73, 0.12);
  border-radius: 12px;
  background: #fff;
}

.sasal-eco-stage-population__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.sasal-eco-stage-population__head h3 {
  margin: 4px 0 0;
  color: #173a4d;
}

.sasal-eco-stage-population__head > p,
.sasal-eco-stage-population__intro,
.sasal-eco-stage-population__note {
  margin: 0;
  color: #68788a;
  font-size: 13px;
  line-height: 1.55;
}

.sasal-eco-stage-population__head > p strong {
  color: #173a4d;
  font-size: 20px;
}

.sasal-eco-stage-population__intro {
  margin-top: 14px;
}

.sasal-eco-stage-population__target {
  margin: 10px 0 0;
  padding: 9px 12px;
  border-left: 3px solid #319e94;
  border-radius: 4px;
  background: #f2faf8;
  color: #36566b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}

.sasal-eco-stage-population__target strong {
  color: #173a4d;
}

.sasal-eco-stage-population__chart {
  position: relative;
  height: 260px;
  margin-top: 12px;
}

.sasal-eco-stage-population__chart canvas {
  width: 100% !important;
  height: 100% !important;
}

.sasal-eco-user-segments-note {
  margin: -4px 0 16px;
  color: #68788a;
  font-size: 13px;
}

.sasal-eco-monthly-segment-chartjs {
  height: 280px;
}

.sasal-eco-monthly-segment-chartjs canvas {
  width: 100% !important;
  height: 100% !important;
}

/* Monthly reports are data documents: never render seasonal sparkles,
   particles, trails, or any other decorative pseudo-layer. */
.sasal-eco-monthly-analysis::before,
.sasal-eco-monthly-analysis::after,
.sasal-eco-monthly-analysis .sasal-eco-hero::before,
.sasal-eco-monthly-analysis .sasal-eco-hero::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  background: none !important;
}

.sasal-eco-stage-population__stack {
  display: flex;
  min-height: 96px;
  margin: 18px 0 0;
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
  background: #eef4f3;
  list-style: none;
}

.sasal-eco-stage-population__item {
  position: relative;
  display: grid;
  flex: var(--stage-share) 1 0;
  min-width: 0;
  padding: 16px;
  align-content: center;
  gap: 2px;
  color: #fff;
}

.sasal-eco-stage-population__item + .sasal-eco-stage-population__item {
  border-left: 1px solid rgba(255, 255, 255, 0.55);
}

.sasal-eco-stage-population__item--complimentary { background: #82cfc4; }
.sasal-eco-stage-population__item--execution { background: #319e94; }
.sasal-eco-stage-population__item--general { background: #173a4d; }

.sasal-eco-stage-population__item span {
  overflow: hidden;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sasal-eco-stage-population__item strong {
  font-size: 26px;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.sasal-eco-stage-population__item small {
  font-size: 12px;
  font-weight: 700;
  opacity: 0.88;
}

.sasal-eco-stage-population__legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 18px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.sasal-eco-stage-population__legend li {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  color: #68788a;
  font-size: 12px;
}

.sasal-eco-stage-population__legend-label {
  display: inline-flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 6px;
  color: #173a4d;
  font-weight: 800;
}

.sasal-eco-stage-population__legend-label i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #82cfc4;
}

.sasal-eco-stage-population__legend-label--execution i { background: #319e94; }
.sasal-eco-stage-population__legend-label--general i { background: #173a4d; }

.sasal-eco-stage-population__legend strong {
  flex: 0 0 auto;
  color: #173a4d;
  font-size: 12px;
}

.sasal-eco-stage-population__legend small {
  flex: 0 0 auto;
  color: #68788a;
  font-size: 11px;
}

.sasal-eco-stage-population__variance {
  flex: 0 0 auto;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.sasal-eco-stage-population__variance.is-positive { color: #168276; }
.sasal-eco-stage-population__variance.is-negative { color: #bd5f43; }

.sasal-eco-stage-rationale {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #dce9e7;
  border-radius: 10px;
  background: #f7fbfa;
}

.sasal-eco-stage-rationale h4 {
  margin: 0 0 12px;
  color: #173a4d;
  font-size: 15px;
}

.sasal-eco-stage-rationale__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.sasal-eco-stage-rationale__item {
  min-width: 0;
  padding: 4px 0 4px 12px;
  border-left: 3px solid #82cfc4;
}

.sasal-eco-stage-rationale__item--execution { border-color: #319e94; }
.sasal-eco-stage-rationale__item--general { border-color: #173a4d; }

.sasal-eco-stage-rationale__item strong {
  display: block;
  color: #173a4d;
  font-size: 12px;
}

.sasal-eco-stage-rationale__item p {
  margin: 6px 0 0;
  color: #607489;
  font-size: 12px;
  line-height: 1.55;
}

.sasal-eco-stage-population__note {
  margin-top: 13px;
}

@media (max-width: 720px) {
  .sasal-eco-weekly-content {
    grid-template-columns: 1fr;
  }

  .sasal-eco-investor-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .sasal-eco-stage-progression {
    padding: 20px;
  }

  .sasal-eco-stage-progression__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .sasal-eco-stage-progression__flow {
    grid-template-columns: 1fr;
  }

  .sasal-eco-stage-progression__flow > i {
    justify-self: center;
    transform: rotate(90deg);
  }

  .sasal-eco-stage-population {
    padding: 20px;
  }

  .sasal-eco-stage-population__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .sasal-eco-stage-rationale__grid {
    grid-template-columns: 1fr;
  }

  .sasal-eco-stage-population__stack {
    min-height: 82px;
  }

  .sasal-eco-stage-population__chart {
    height: 220px;
  }

  .sasal-eco-stage-population__item {
    padding: 11px 9px;
  }

  .sasal-eco-stage-population__item span {
    font-size: 10px;
  }

  .sasal-eco-stage-population__item strong {
    font-size: 20px;
  }

  .sasal-eco-stage-population__legend {
    grid-template-columns: 1fr;
  }
}
}
