html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #fbfbff;
    color: #25207a;
}

.elevate-site h1:focus {
    outline: none;
}

.elevate-site {
    --ec-navy: #25207a;
    --ec-deep: #14124c;
    --ec-violet: #6256c8;
    --ec-mint: #5ff2a0;
    --ec-soft: #fbfbff;
    --ec-line: #e8e6fb;
}

.elevate-menu-icon,
.elevate-menu-icon::before,
.elevate-menu-icon::after {
    display: block;
    width: 1.1rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.elevate-menu-icon {
    position: relative;
}

.elevate-menu-icon::before,
.elevate-menu-icon::after {
    content: "";
    position: absolute;
    left: 0;
}

.elevate-menu-icon::before {
    top: -0.38rem;
}

.elevate-menu-icon::after {
    top: 0.38rem;
}

.elevate-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elevate-page-hero {
    background:
        radial-gradient(circle at 12% 25%, rgba(95, 242, 160, 0.22), transparent 34%),
        radial-gradient(circle at 87% 18%, rgba(255, 218, 238, 0.62), transparent 34%),
        linear-gradient(110deg, #f1fff6 0%, #fffaf0 48%, #fff1fb 100%);
}

.elevate-pastel-section {
    background:
        linear-gradient(180deg, rgba(246, 255, 249, 0.92), rgba(255, 247, 252, 0.9)),
        #fbfbff;
}

.elevate-soft-card {
    box-shadow: 0 18px 45px rgba(37, 32, 122, 0.08);
}

.elevate-pill {
    border-radius: 999px;
}

.bg-\[\#14124c\] { background-color: #14124c; }
.bg-\[\#25207a\] { background-color: #25207a; }
.bg-\[\#42e48d\] { background-color: #42e48d; }
.bg-\[\#5ff2a0\] { background-color: #5ff2a0; }
.bg-\[\#d7d1ff\] { background-color: #d7d1ff; }
.bg-\[\#effff5\] { background-color: #effff5; }
.bg-\[\#f2f0ff\] { background-color: #f2f0ff; }
.bg-\[\#f7f6ff\] { background-color: #f7f6ff; }
.bg-\[\#fbfbff\] { background-color: #fbfbff; }
.bg-\[\#fff3f7\] { background-color: #fff3f7; }
.border-\[\#14124c\] { border-color: #14124c; }
.border-\[\#d7d1ff\] { border-color: #d7d1ff; }
.border-\[\#e8e6fb\] { border-color: #e8e6fb; }
.text-\[\#23a96c\] { color: #23a96c; }
.text-\[\#25207a\] { color: #25207a; }
.text-\[\#27b979\] { color: #27b979; }
.text-\[\#27c98b\] { color: #27c98b; }
.text-\[\#524d94\] { color: #524d94; }
.text-\[\#6256c8\] { color: #6256c8; }
.text-\[\#635f91\] { color: #635f91; }
.text-\[\#74709a\] { color: #74709a; }
.text-\[\#8b86b2\] { color: #8b86b2; }
.text-\[\#a26686\] { color: #a26686; }
.text-\[0\.68rem\] { font-size: 0.68rem; }
.tracking-\[0\.14em\] { letter-spacing: 0.14em; }
.tracking-\[0\.16em\] { letter-spacing: 0.16em; }
.tracking-\[0\.18em\] { letter-spacing: 0.18em; }
.tracking-\[0\.22em\] { letter-spacing: 0.22em; }
.h-17 { height: 4.25rem; }
.py-18 { padding-top: 4.5rem; padding-bottom: 4.5rem; }
.shadow-\[\#25207a\]\/20 { --tw-shadow-color: rgba(37, 32, 122, 0.2); }
.hover\:bg-\[\#42e48d\]:hover { background-color: #42e48d; }
.hover\:bg-\[\#f2f0ff\]:hover { background-color: #f2f0ff; }
.hover\:text-\[\#25207a\]:hover { color: #25207a; }
.data-\[state\=active\]\:bg-\[\#25207a\][data-state="active"] { background-color: #25207a; }
.data-\[state\=active\]\:bg-\[\#6256c8\][data-state="active"] { background-color: #6256c8; }
.data-\[state\=active\]\:text-white[data-state="active"] { color: #fff; }

@media (min-width: 768px) {
    .md\:grid-cols-\[0\.9fr_1\.1fr\] { grid-template-columns: 0.9fr 1.1fr; }
    .md\:grid-cols-\[1fr_auto_auto\] { grid-template-columns: 1fr auto auto; }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-\[0\.75fr_1\.25fr\] { grid-template-columns: 0.75fr 1.25fr; }
    .lg\:grid-cols-\[0\.8fr_1\.2fr\] { grid-template-columns: 0.8fr 1.2fr; }
    .lg\:grid-cols-\[0\.85fr_1\.15fr\] { grid-template-columns: 0.85fr 1.15fr; }
    .lg\:grid-cols-\[0\.92fr_1\.08fr\] { grid-template-columns: 0.92fr 1.08fr; }
    .lg\:grid-cols-\[0\.95fr_1\.05fr\] { grid-template-columns: 0.95fr 1.05fr; }
}

.elevate-hero-image {
    min-height: 440px;
}

.elevate-card-image {
    min-height: 220px;
    background:
        linear-gradient(135deg, rgba(241, 255, 246, 0.9), rgba(255, 241, 251, 0.88));
}

.elevate-work-image {
    min-height: 340px;
}

.elevate-marquee {
    overflow: hidden;
}

.elevate-marquee-track {
    display: flex;
    width: max-content;
    min-width: 100%;
    gap: 2rem;
    animation: elevate-marquee 22s linear infinite;
}

.elevate-marquee-track span {
    white-space: nowrap;
}

@keyframes elevate-marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (max-width: 640px) {
    .elevate-hero-image {
        min-height: 360px;
    }

    .elevate-card-image,
    .elevate-work-image {
        min-height: 240px;
    }
}
