:root {
    font-size: clamp(100%, 0.875vw, 160%);
    --font-display: "Comfortaa", sans-serif;
    --font-body: "Comfortaa", sans-serif;
    --color-graphite-rgb: 43 46 45;
    --color-graphite: rgb(var(--color-graphite-rgb));
    --color-heading: #111416;
    --color-heading-idle: rgb(var(--color-graphite-rgb) / 0.16);
    --color-turquoise: #77c6d3;
    --color-deep-blue: #415f74;
    --color-orange: #db9d5c;
    --color-page: #f2f7f8;
    --color-text: var(--color-graphite);
    --color-card-rgb: 252 254 254;
    --color-card: rgb(var(--color-card-rgb));
    --color-muted: #555b5b;
    --color-shadow: rgb(var(--color-graphite-rgb) / 0.1);
    --color-stage: var(--color-deep-blue);
    --color-stage-text: #f7fbfb;
    --color-stage-muted: #d6e5e8;
    --color-accent: var(--color-orange);
    --color-action: #ffd545;
    --page-inline: clamp(1.5rem, 3.125vw, 3.75rem);
    --surface-radius-large: clamp(1.25rem, 1.67vw, 2rem);
    --hero-radius: var(--surface-radius-large);
    --hero-frame-height: 100svh;
    --hero-frame-min-height: min(43rem, 100svh);
    --hero-background-position: center;
    --hero-strip-target-height: 36px;
    --hero-handoff-overlap: 50svh;
    --section-content-max: clamp(68rem, 60vw, 72rem);
    --transition-content-max: 100rem;
    --section-scene-min-height: 100svh;
    --section-space-block: clamp(6rem, 7.5vw, 8rem);
    --section-heading-gap: var(--space-lg);
    --section-copy-gap: var(--space-lg);
    --section-title-line-height: 1.12;
    --section-eyebrow-letter-spacing: 0.18em;
    --section-eyebrow-line-height: 1.2;
    --section-eyebrow-weight: 600;
    --section-copy-line-height: 1.5;
    --section-copy-weight: 400;
    --card-title-line-height: 1.25;
    --card-title-weight: 600;
    --card-copy-line-height: 1.5;
    --card-copy-weight: 400;
    --products-copy-max: 32rem;
    --products-copy-flow-gap: var(--section-copy-gap);
    --products-grid-columns: repeat(2, minmax(0, 1fr));
    --products-grid-rows: auto;
    --products-enhanced-grid-rows: auto;
    --products-track-gap: clamp(4rem, 6vw, 7rem);
    --products-media-size: clamp(20rem, 25vw, 29rem);
    --products-media-block-size: clamp(20rem, 25vw, 29rem);
    --products-media-ratio: 0.974;
    --products-perspective: 62.5rem;
    --products-stage-padding: var(--section-space-block);
    --products-stage-min-height: 100svh;
    --products-copy-lane-height: auto;
    --products-copy-align: start;
    --products-media-align: center;
    --products-copy-text-align: left;
    --text-highlight-background: color-mix(in srgb, var(--color-turquoise) 18%, var(--color-page));
    --text-highlight-height: 88%;
    --inline-duck-size: 0.92em;
    --inline-duck-scene-size: 1.4375em;
    --inline-duck-gap: 0.08em;
    --inline-duck-align: -0.12em;
    --inline-duck-scene-align: -0.3em;
    --surface-radius: 0.75rem;
    --surface-shadow: 0 0.0625rem 0.1875rem var(--color-shadow);
    --surface-shadow-soft: 0 1.5rem 5rem rgb(var(--color-graphite-rgb) / 0.06);
    --surface-shadow-elevated: 0 1.5rem 5rem rgb(var(--color-graphite-rgb) / 0.18);
    --section-copy-wide-max: 42rem;
    --brand-mark-size: 2.5rem;
    --brand-mark-overlap: -0.5rem;
    --brand-mark-logo-size: 1.375rem;
    --brand-mark-background: var(--color-card);
    --brand-mark-border: 0.0625rem solid rgb(var(--color-graphite-rgb) / 0.08);
    --brand-mark-shadow: 0 0.25rem 0.75rem rgb(var(--color-graphite-rgb) / 0.08);
    --capabilities-grid-gap: var(--space-sm);
    --capabilities-grid-offset: clamp(3rem, 4vw, 4rem);
    --capabilities-card-padding: clamp(1.25rem, 1.5vw, 1.75rem);
    --stack-marquee-item-width: clamp(12rem, 12.708vw, 15.25rem);
    --stack-marquee-item-height: clamp(4.703rem, 5vw, 6rem);
    --stack-icon-size: 2.5rem;
    --stack-marquee-gap: 4rem;
    --stack-marquee-row-gap: clamp(1.75rem, 1.667vw, 2rem);
    --stack-item-gap: var(--space-sm);
    --stack-row-offset: 3rem;
    --stack-marquee-duration: 72s;
    --project-cta-grid-size: 3.5rem;
    --project-cta-title-line-height: 1.04;
    --floating-bar-width: min(35rem, calc(100vw - 2rem));
    --floating-bar-height: 2.875rem;
    --floating-bar-inset: 0.25rem;
    --floating-bar-radius: var(--surface-radius);
    --floating-bar-viewport-edge: 0rem;
    --primary-action-height: 2.375rem;
    --primary-action-padding: 1rem;
    --primary-action-radius: calc(var(--surface-radius) - 0.25rem);
    --primary-action-icon-size: 1rem;
    --primary-action-icon-gap: 0.5rem;
    --site-nav-top: clamp(0.75rem, 1.25vw, 1.5rem);
    --site-nav-column-gap: clamp(2rem, 2.5vw, 2.75rem);
    --site-nav-link-gap: 0.25rem;
    --site-nav-link-padding: 0.875rem;
    --site-nav-font-size: 0.79rem;
    --site-nav-brand-logo-width: 7rem;
    --site-nav-hide-distance: 18.75rem;
    --site-nav-clearance: 5rem;
    --site-nav-z-index: 98;
    --action-swoosh-layer-duration: 0.62s;
    --action-swoosh-text-duration: 0.72s;
    --action-swoosh-scale-duration: 0.45s;
    --action-swoosh-color-duration: 0.22s;
    --action-swoosh-ease: cubic-bezier(0.32, 0.72, 0, 1);
    --action-swoosh-jelly-ease: linear(0, 0.57 7.6%, 0.84 11.87%, 0.95 14.19%, 1.03 16.54%, 1.09 18.97%, 1.13 21.53%, 1.14 24.48%, 1.12 31.01%, 1.05 38.62%, 1.02 42.57%, 1 46.99%, 0.98 58.77%, 1);
    --link-underline-duration: 0.5s;
    --link-underline-height: 0.0625rem;
    --bottom-cta-height: 3.25rem;
    --bottom-cta-bottom: var(--floating-bar-viewport-edge);
    --bottom-cta-hidden-shift: calc(
        var(--bottom-cta-height)
        + var(--bottom-cta-bottom)
        + 0.5rem
    );
    --bottom-cta-label-padding: 1.375rem;
    --bottom-cta-label-font-size: var(--text-ui);
    --bottom-cta-action-font-size: var(--text-ui);
    --bottom-cta-action-padding: var(--primary-action-padding);
    --bottom-cta-action-icon-gap: var(--primary-action-icon-gap);
    --bottom-cta-z-index: 97;
    --floating-ui-clearance: 0rem;
    --space-xs: 0.75rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --text-body: 1rem;
    --text-reading: clamp(1rem, 0.95vw, 1.125rem);
    --text-ui: clamp(0.8125rem, 0.8vw, 0.9375rem);
    --text-eyebrow: clamp(0.6875rem, 0.7vw, 0.8125rem);
    --text-section-title: clamp(2rem, 2.1vw, 2.5rem);
    --text-transition-title: clamp(1.1875rem, 5.6vw, 5rem);
    --text-card-title: clamp(1.125rem, 1.25vw, 1.375rem);
    --text-card-copy: clamp(0.8125rem, 0.85vw, 0.9375rem);
    --text-project-cta: clamp(3rem, 4vw, 3.75rem);
}
@media (max-width: 63.9375rem) {
    :root {
        --page-inline: clamp(1rem, 3.125vw, 1.75rem);
        --hero-frame-height: 100svh;
        --hero-frame-min-height: 0rem;
        --hero-background-position: 50% center;
        --products-media-size: clamp(14rem, 38svh, 21rem);
        --products-stage-padding: clamp(2rem, 5svh, 3.5rem);
        --products-track-gap: clamp(3rem, 7svh, 4.5rem);
        --stack-icon-size: 2.25rem;
        --stack-marquee-gap: 2rem;
        --floating-bar-width: calc(100vw - 1.5rem);
        --site-nav-top: clamp(0.75rem, 1.25vw, 1rem);
        --site-nav-column-gap: clamp(1.25rem, 2.5vw, 1.75rem);
        --site-nav-link-gap: 0.125rem;
        --site-nav-link-padding: 0.5rem;
        --site-nav-brand-logo-width: 5.75rem;
        --capabilities-card-padding: var(--space-md);
        --bottom-cta-label-padding: var(--space-xs);
        --primary-action-padding: var(--space-xs);
        --text-project-cta: 2.25rem;
    }
}

@media (max-width: 47.9375rem) {
    :root {
        --products-grid-columns: 1fr;
        --products-grid-rows: auto auto;
        --products-media-size: clamp(10rem, 28svh, 15rem);
        --products-media-block-size: clamp(10rem, 32svh, 17rem);
        --products-stage-padding: clamp(1.25rem, 3svh, 2rem);
        --products-track-gap: 0.75rem;
        --products-copy-lane-height: clamp(21.5rem, 44svh, 23rem);
        --products-copy-align: center;
        --products-media-align: center;
        --products-copy-text-align: center;
        --brand-mark-size: 2.25rem;
        --brand-mark-logo-size: 1.25rem;
        --capabilities-grid-offset: var(--space-lg);
        --bottom-cta-height: 3.125rem;
        --bottom-cta-label-padding: 0.625rem;
        --bottom-cta-label-font-size: 0.6875rem;
        --bottom-cta-action-font-size: 0.75rem;
        --bottom-cta-action-padding: 0.625rem;
        --bottom-cta-action-icon-gap: 0.375rem;
        --floating-ui-clearance: calc(
            var(--bottom-cta-bottom)
            + var(--bottom-cta-height)
            + var(--space-sm)
        );
    }
}

@media (max-height: 47.9375rem) {
    :root {
        --products-stage-padding: clamp(0.75rem, 4svh, 1.5rem);
        --products-track-gap: clamp(0.75rem, 3svh, 1.25rem);
        --products-media-size: clamp(8rem, 45svh, 22rem);
    }
}

@media (max-width: 47.9375rem) and (max-height: 47.9375rem) {
    :root {
        --products-media-size: clamp(4rem, 24svh, 12rem);
        --products-track-gap: 0.75rem;
    }
}

@media (max-width: 47.9375rem) and (max-height: 23.4375rem) {
    :root {
        --products-stage-padding: 0.5rem;
        --products-track-gap: 0.5rem;
        --products-media-size: clamp(5rem, 30svh, 8rem);
    }
}

@media (min-width: 23.5rem) and (max-width: 47.9375rem) and (max-height: 23.4375rem) {
    :root {
        --products-copy-max: 100%;
        --products-grid-columns: minmax(0, 1fr) auto;
        --products-copy-lane-height: auto;
        --products-copy-align: start;
        --products-media-align: end;
        --products-copy-text-align: left;
    }
}

@media (max-width: 39.9375rem) {
    :root {
        --section-space-block: 4.5rem;
        --section-heading-gap: var(--space-md);
        --section-copy-gap: var(--space-md);
        --hero-background-position: 68% center;
        --text-reading: 0.9375rem;
        --text-section-title: clamp(1.625rem, 7vw, 2rem);
        --text-project-cta: clamp(1.625rem, 7.5vw, 2.25rem);
        --project-cta-title-line-height: 1.1;
        --stack-icon-size: 2rem;
        --stack-marquee-gap: 0rem;
    }
}

@media (max-width: 22.5rem) {
    :root {
        --site-nav-column-gap: 0.5rem;
        --site-nav-link-padding: 0.375rem;
        --site-nav-brand-logo-width: 5.25rem;
        --primary-action-padding: 0.5rem;
        --primary-action-icon-gap: 0.25rem;
        --products-copy-flow-gap: 0.5rem;
    }
}

@media (max-height: 25rem) {
    :root {
        --products-copy-flow-gap: 0.375rem;
    }
}

@media (max-height: 25rem) {
    :root {
        --floating-ui-clearance: 0rem;
    }
}

@media (min-width: 48rem) and (max-height: 33.5rem) {
    :root {
        --products-stage-padding: 0.5rem;
        --products-copy-flow-gap: 0.375rem;
    }
}

@media (min-width: 48rem) and (min-height: 25.0625rem) and (max-height: 33.5rem) {
    :root {
        --floating-ui-clearance: calc(
            var(--bottom-cta-height)
            + var(--bottom-cta-bottom)
            + var(--space-sm)
        );
    }
}

@media (max-width: 23.4375rem) and (max-height: 23.4375rem) {
    :root {
        --section-heading-gap: 0.375rem;
        --section-copy-gap: 0.375rem;
        --section-copy-line-height: 1.25;
        --floating-ui-clearance: 0rem;
        --text-section-title: clamp(1.375rem, 7vmin, 1.875rem);
        --text-reading: clamp(0.75rem, 3.4vmin, 0.875rem);
        --text-ui: clamp(0.6875rem, 3vmin, 0.8125rem);
        --text-eyebrow: clamp(0.5625rem, 2.5vmin, 0.6875rem);
    }
}
