@keyframes rotateSquare {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.intro-pattern-overlay {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, currentColor 20px, currentColor 40px);
    opacity: 0.03;
    top: -20%;
    left: -30%;
    width: 100%;
    height: 100%;
    animation: rotateSquare 20s linear infinite;
}

.intro-pattern-content {
    max-width: 56rem;
}

.services-bento__serif,
[data-serif] {
    font-family: Georgia, "Times New Roman", Times, serif;
}

.services-bento__body {
    min-width: 0;
}

.services-bento__corner {
    position: absolute;
    top: -0.5rem;
    right: 1.5rem;
    width: 1rem;
    height: 1rem;
    border: 2px solid currentColor;
    transform: rotate(45deg);
    pointer-events: none;
}

.services-bento__chevron {
    transition: transform 200ms ease;
}
.services-bento__toggle[aria-expanded="true"] .services-bento__chevron {
    transform: rotate(180deg);
}

.steps-arrow-stack__badge-circle {
    width: 3rem;
    height: 3rem;
}

.steps-arrow-stack__icon-box {
    width: 2rem;
    height: 2rem;
}

.steps-arrow-stack__sm-circle {
    width: 1.5rem;
    height: 1.5rem;
}

/* Geometry shared by both CSS frameworks (Bootstrap has no utilities for it) */
.whyus-honeycomb {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.mxw-6xl {
    max-width: 72rem !important;
}

.mxw-3xl {
    max-width: 48rem !important;
}

.whyus-honeycomb__head {
    margin-bottom: 2.5rem;
}

.whyus-honeycomb__heading {
    font-size: 2.25rem;
    font-weight: 900;
    letter-spacing: 0.025em;
}

.whyus-honeycomb__lead {
    font-size: 1rem;
}

.whyus-honeycomb__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

.whyus-honeycomb__block {
    padding-inline-start: 1.25rem;
}

.whyus-honeycomb__num {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
}

.whyus-honeycomb__block-title {
    font-size: 1.125rem;
    font-weight: 900;
    letter-spacing: 0.025em;
}

.whyus-honeycomb__block-desc {
    font-size: 0.875rem;
}

@media (min-width: 768px) {
    .whyus-honeycomb {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }

    .whyus-honeycomb__head {
        margin-bottom: 3.5rem;
    }

    .whyus-honeycomb__heading {
        font-size: 3rem;
    }

    .whyus-honeycomb__lead,
    .whyus-honeycomb__block-desc {
        font-size: 1rem;
    }

    .whyus-honeycomb__lead {
        font-size: 1.125rem;
    }

    .whyus-honeycomb__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }

    .whyus-honeycomb__block {
        padding-inline-start: 1.5rem;
    }

    .whyus-honeycomb__block-title {
        font-size: 1.25rem;
    }
}

/* whyus v30 — Y2K bold header with open benefit text blocks */

/* decorative gradient overlay — small-amplitude hue-rotate cycle (filter only, no color values) */
@keyframes whyus-honeycomb-hue {
    0%   { filter: hue-rotate(0deg); }
    50%  { filter: hue-rotate(10deg); }
    100% { filter: hue-rotate(0deg); }
}

.whyus-honeycomb__aurora {
    opacity: 0.2;
    animation: whyus-honeycomb-hue 9s ease-in-out infinite;
}

/* icons-in-circles decorative field — fixed sizes, scattered positions */
.whyus-honeycomb__icon-dot {
    position: absolute;
    opacity: 0.2;
}

.whyus-honeycomb__icon-dot--1 { width: 3.5rem;  height: 3.5rem;  top: 6%;    left: 8%; }
.whyus-honeycomb__icon-dot--2 { width: 2.75rem; height: 2.75rem; top: 18%;   right: 12%; }
.whyus-honeycomb__icon-dot--3 { width: 4rem;    height: 4rem;    bottom: 22%; left: 5%; }
.whyus-honeycomb__icon-dot--4 { width: 2.5rem;  height: 2.5rem;  bottom: 10%; right: 20%; }
.whyus-honeycomb__icon-dot--5 { width: 3rem;    height: 3rem;    top: 45%;   right: 4%; }

/* divider extends first (scaleX 0 -> 1) */
@keyframes whyus-honeycomb-line {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.whyus-honeycomb__divider {
    width: 7rem;
    height: 0.5rem;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    transform-origin: center;
    animation: whyus-honeycomb-line 480ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* text blocks — staggered fade-in after divider */
@keyframes whyus-honeycomb-block-in {
    from { opacity: 0; transform: translateY(0.75rem); }
    to   { opacity: 1; transform: translateY(0); }
}

.whyus-honeycomb__block {
    animation: whyus-honeycomb-block-in 420ms ease-out both;
}

.whyus-honeycomb__block:nth-child(2n + 1) { animation-delay: 520ms; }
.whyus-honeycomb__block:nth-child(2n)     { animation-delay: 620ms; }

@media (prefers-reduced-motion: reduce) {
    .whyus-honeycomb__aurora,
    .whyus-honeycomb__divider,
    .whyus-honeycomb__block {
        animation: none;
    }
}

