/* Colors - Brand Color System & Gradients */

:root {
    /* Brand Primary Colors */
    --turquoise: #04ccc4;
    --yellow: #fece00;
    --orange: #fda22a;
    --red-orange: #f45910;
    --red: #c32527;

    /* Pastel Variants for Cards */
    --turquoise-light: #7ee8e3;
    --yellow-light: #fff4b3;
    --orange-light: #ffd199;
    --red-light: #ffb3b3;

    /* Gradients */
    --gradient-hero: linear-gradient(135deg, var(--turquoise), var(--yellow), var(--orange));
    --gradient-team: linear-gradient(45deg, var(--red), var(--red-orange));
    --gradient-footer: linear-gradient(180deg, var(--turquoise), #000);

    /* Neutral Colors */
    --white: #ffffff;
    --black: #000000;
    --gray-light: rgba(255, 255, 255, 0.1);
}

/* Background Utilities */
.bg-turquoise {
    background-color: var(--turquoise);
}

.bg-yellow {
    background-color: var(--yellow);
}

.bg-orange {
    background-color: var(--orange);
}

.bg-red-orange {
    background-color: var(--red-orange);
}

.bg-red {
    background-color: var(--red);
}

.bg-gradient-hero {
    background: var(--gradient-hero);
}

.bg-gradient-team {
    background: var(--gradient-team);
}

.bg-gradient-footer {
    background: var(--gradient-footer);
}

/* Text Color Utilities */
.text-turquoise {
    color: var(--turquoise);
}

.text-yellow {
    color: var(--yellow);
}

.text-orange {
    color: var(--orange);
}

.text-red-orange {
    color: var(--red-orange);
}

.text-red {
    color: var(--red);
}

.text-white {
    color: var(--white);
}

.text-black {
    color: var(--black);
}

/* Multi-Color Text */
.multi-color-heading span:nth-child(1) {
    color: var(--turquoise);
}

.multi-color-heading span:nth-child(2) {
    color: var(--black);
}

.multi-color-heading span:nth-child(3) {
    color: var(--orange);
}

.multi-color-heading span:nth-child(4) {
    color: var(--red-orange);
}

.multi-color-heading span:nth-child(5) {
    color: var(--red);
}

.multi-color-heading span:nth-child(6) {
    color: var(--turquoise);
}

/* Pastel Backgrounds for Review Cards */
.bg-pastel-1 {
    background-color: var(--turquoise-light);
}

.bg-pastel-2 {
    background-color: var(--yellow-light);
}

.bg-pastel-3 {
    background-color: var(--orange-light);
}

.bg-pastel-4 {
    background-color: var(--red-light);
}

/* Border Colors */
.border-turquoise {
    border-color: var(--turquoise);
}

.border-yellow {
    border-color: var(--yellow);
}

.border-orange {
    border-color: var(--orange);
}

.border-red-orange {
    border-color: var(--red-orange);
}

.border-red {
    border-color: var(--red);
}

/* Colored Borders (Thick) */
.border-thick {
    border-width: 8px;
    border-style: solid;
}

/* Text Shadows for Depth */
.text-shadow-colorful {
    text-shadow:
        3px 3px 0 var(--turquoise),
        6px 6px 0 var(--orange);
}

.text-shadow-simple {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Diagonal Split Background */
.diagonal-split {
    position: relative;
    overflow: hidden;
}

.diagonal-split::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: var(--yellow);
    clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%);
    z-index: 0;
    animation: diagonalSwayLeft 6s ease-in-out infinite;
}

.diagonal-split::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background-color: var(--turquoise);
    clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 0;
    animation: diagonalSwayRight 6s ease-in-out infinite;
}

@keyframes diagonalSwayLeft {
    0%, 100% { clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%); }
    50%      { clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); }
}

@keyframes diagonalSwayRight {
    0%, 100% { clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%); }
    50%      { clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); }
}

.diagonal-split > * {
    position: relative;
    z-index: 1;
}

/* Stripe Pattern Section */
.stripe-section {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.stripe-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.stripe {
    flex-shrink: 0;
}

/* Individual stripe heights based on logo proportions - EXACT measurements from logo */
.stripe-turquoise {
    background-color: var(--turquoise);
    height: 14%;
}

.stripe-gap-1 {
    background-color: white;
    height: 0.9%;
}

.stripe-yellow {
    background-color: var(--yellow);
    height: 13.1%;
}

.stripe-gap-2 {
    background-color: white;
    height: 1%;
}

.stripe-orange {
    background-color: var(--orange);
    height: 17.4%;
}

.stripe-gap-3 {
    background-color: white;
    height: 1%;
}

.stripe-red-orange {
    background-color: var(--red-orange);
    height: 21.5%;
}

.stripe-gap-4 {
    background-color: white;
    height: 1%;
}

.stripe-red {
    background-color: var(--red);
    height: 30.1%;
}

/* Box Graphic Overlay */
.box-graphic {
    position: relative;
    z-index: 10;
    max-width: 400px;
    width: 80%;
}

@media (max-width: 768px) {
    .stripe-section {
        min-height: 400px;
    }

    .box-graphic {
        max-width: 300px;
    }
}

@media (max-width: 480px) {
    .stripe-section {
        min-height: 300px;
    }

    .box-graphic {
        max-width: 250px;
    }
}
