:root {
    --home2-bg: #0d0e11;
    --home2-bg-soft: #15171d;
    --home2-panel: rgba(255, 255, 255, 0.06);
    --home2-panel-strong: rgba(255, 255, 255, 0.1);
    --home2-line: rgba(255, 255, 255, 0.12);
    --home2-text: #f5efe8;
    --home2-muted: rgba(245, 239, 232, 0.72);
    --home2-dark-text: #191714;
    --home2-stone: #e9dfd1;
    --home2-stone-soft: #f5eee5;
    --home2-accent: #ff2020;
    --home2-accent-soft: #ff665c;
    --home2-shadow: 0 28px 80px rgba(0, 0, 0, 0.32);
    --home2-radius-xl: 34px;
    --home2-radius-lg: 24px;
    --home2-radius-md: 18px;
    --home2-shell: min(1180px, calc(100vw - 40px));
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html.home2-is-loading,
html.home2-is-loading body {
    overflow: hidden;
}

body.home2-page {
    --home2-positionnement-progress: 0;
    --home2-header-offset: clamp(88px, 8vw, 110px);
    margin: 0;
    padding-top: var(--home2-header-offset);
    font-family: "Manrope", sans-serif;
    color: var(--home2-text);
    background:
        linear-gradient(135deg,
            rgba(7, 8, 12, calc(0.06 + (0.2 * var(--home2-positionnement-progress)))) 0%,
            rgba(24, 10, 14, calc(0.02 + (0.28 * var(--home2-positionnement-progress)))) 38%,
            rgba(63, 16, 16, calc(0.02 + (0.34 * var(--home2-positionnement-progress)))) 100%
        ),
        radial-gradient(circle at top left, rgba(255, 32, 32, calc(0.18 - (0.05 * var(--home2-positionnement-progress)))), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(255, 102, 92, calc(0.16 - (0.03 * var(--home2-positionnement-progress)))), transparent 22%),
        radial-gradient(circle at 14% 24%, rgba(255, 58, 58, calc(0.22 * var(--home2-positionnement-progress))), transparent 30%),
        radial-gradient(circle at 82% 20%, rgba(255, 136, 92, calc(0.16 * var(--home2-positionnement-progress))), transparent 22%),
        radial-gradient(circle at 50% 100%, rgba(255, 42, 42, calc(0.12 * var(--home2-positionnement-progress))), transparent 30%),
        linear-gradient(180deg, #090a0d 0%, #101217 58%, #0d0e11 100%);
    overflow-x: hidden;
}

body.home2-page > :not(.home2-loader) {
    transition: opacity 320ms ease;
}

html.home2-is-loading body.home2-page > :not(.home2-loader) {
    opacity: 0;
}

img {
    display: block;
    width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

.home2-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 50% 45%, rgba(255, 42, 42, 0.12), transparent 24%),
        radial-gradient(circle at top left, rgba(255, 32, 32, 0.18), transparent 28%),
        radial-gradient(circle at 85% 15%, rgba(255, 102, 92, 0.16), transparent 22%),
        linear-gradient(180deg, rgba(9, 10, 13, 0.98) 0%, rgba(16, 18, 23, 0.99) 58%, rgba(13, 14, 17, 0.99) 100%);
    opacity: 1;
    visibility: visible;
    transition: opacity 420ms ease, visibility 420ms ease;
}

.home2-loader.is-leaving {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.home2-loader__diamond {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(118px, 14vw, 168px);
    aspect-ratio: 1;
    border-radius: 34px;
    transform: rotate(45deg);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 32, 32, 0.14));
    box-shadow:
        0 24px 90px rgba(0, 0, 0, 0.44),
        0 0 45px rgba(255, 32, 32, 0.18);
    animation: home2-loader-float 1.8s ease-in-out infinite;
}

.home2-loader__diamond::before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 26px;
    border: 1px solid rgba(255, 102, 92, 0.22);
}

.home2-loader__visual {
    position: relative;
    top: -5px;
    left: 4px;
    width: 72%;
    transform: rotate(-45deg) scale(1.02);
    filter: drop-shadow(0 0 18px rgba(255, 52, 52, 0.32));
}

.home2-loader__visual img {
    width: 100%;
    height: auto;
}

@keyframes home2-loader-float {
    0%,
    100% {
        transform: rotate(45deg) scale(1);
    }

    50% {
        transform: rotate(45deg) scale(1.035);
    }
}

.home2-noise {
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.14;
    mix-blend-mode: screen;
    background-image:
        linear-gradient(transparent 0, rgba(255, 255, 255, 0.02) 50%, transparent 100%),
        url("../img/homepage2024/pexels-adrien-olichon-1257089-2387793.jpg");
    background-size: cover;
    background-position: center;
}

.home2-device-card {
    position: fixed;
    left: clamp(12px, 2vw, 22px);
    bottom: clamp(12px, 2vw, 22px);
    z-index: 55;
    width: min(326px, calc(100vw - 24px));
    padding: 14px;
    color: var(--home2-text);
    font-size: 0.76rem;
    line-height: 1.35;
    background: rgba(9, 10, 13, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.home2-device-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.home2-device-card__kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: var(--home2-muted);
    font-size: 0.68rem;
    white-space: nowrap;
}

.home2-device-card__dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--home2-accent);
    box-shadow: 0 0 16px rgba(255, 32, 32, 0.85);
}

.home2-device-card__title {
    margin: 0;
    color: #ffffff;
    font-family: "Space Grotesk", sans-serif;
    font-size: 0.88rem;
    font-weight: 700;
    white-space: nowrap;
}

.home2-device-card__grid {
    display: grid;
    gap: 7px;
    margin: 0;
}

.home2-device-card__row {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 10px;
    align-items: baseline;
}

.home2-device-card__label {
    margin: 0;
    color: rgba(245, 239, 232, 0.58);
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
}

.home2-device-card__value {
    min-width: 0;
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    overflow: hidden;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home2-device-card__note {
    margin: 10px 0 0;
    color: rgba(245, 239, 232, 0.56);
    font-size: 0.68rem;
}

.home2-shell {
    width: var(--home2-shell);
    margin: 0 auto;
}

.home2-header {
    --home2-scroll-progress: 0;
    --home2-scroll-progress-soft: 0;
    --home2-nav-max-expand: max(0px, calc(100vw - var(--home2-shell)));
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 40;
    padding: 0;
    transition: padding 220ms ease;
}

.home2-nav {
    --home2-nav-expand: calc(var(--home2-nav-max-expand) * var(--home2-scroll-progress-soft));
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    position: relative;
    left: calc(var(--home2-nav-expand) * -0.5);
    width: calc(100% + var(--home2-nav-expand));
    padding:
        calc(12px - (5px * var(--home2-scroll-progress)))
        14px
        calc(12px - (5px * var(--home2-scroll-progress)))
        10px;
    border: 1px solid rgba(255, 255, 255, calc(0.02 + (0.07 * var(--home2-scroll-progress-soft))));
    border-radius: 0 0 24px 24px;
    background: rgba(13, 14, 17, calc(0.18 + (0.64 * var(--home2-scroll-progress-soft))));
    box-shadow: 0 18px 50px rgba(0, 0, 0, calc(0.04 + (0.14 * var(--home2-scroll-progress-soft))));
    backdrop-filter: blur(18px);
    transition:
        background 260ms ease,
        border-radius 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease,
        padding 260ms ease,
        width 260ms ease,
        left 260ms ease,
        gap 260ms ease;
}

.home2-header.is-scrolled .home2-nav {
    border-radius: 0;
}

.home2-brand {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    line-height: 0;
}

.home2-brand__logo {
    width: min(255px, 32vw);
    height: auto;
    object-fit: contain;
    object-position: left center;
}

.home2-menu {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 26px;
    min-width: 0;
    font-size: 0.96rem;
}

.home2-menu__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    min-width: 0;
}

.home2-menu a {
    color: var(--home2-muted);
    transition: color 180ms ease;
}

.home2-menu a:hover,
.home2-menu a:focus-visible {
    color: var(--home2-accent-soft);
}

.home2-service-nav {
    position: relative;
    display: flex;
    align-items: center;
}

.home2-service-nav__trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--home2-muted);
    font: inherit;
    cursor: pointer;
    transition: color 180ms ease;
}

.home2-service-nav__trigger:hover,
.home2-service-nav__trigger:focus-visible,
.home2-service-nav.is-open .home2-service-nav__trigger {
    color: var(--home2-accent-soft);
}

.home2-service-panel {
    position: absolute;
    top: calc(100% + 40px);
    left: 50%;
    z-index: 60;
    width: min(1180px, calc(100vw - 56px));
    padding: 0 0 22px;
    border: 1px solid rgba(255, 102, 92, 0.18);
    border-radius: 32px;
    background:
        radial-gradient(circle at top left, rgba(255, 32, 32, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(26, 18, 22, 0.96) 0%, rgba(15, 14, 18, 0.98) 100%);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(18px);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(4px);
    transform-origin: top center;
}

.home2-service-panel::before {
    content: none;
}

.home2-service-nav.is-open .home2-service-panel {
    visibility: visible;
    pointer-events: auto;
}

.home2-service-panel__head,
.home2-service-panel__panes {
    position: relative;
    z-index: 1;
}

.home2-service-panel__head {
    display: grid;
    gap: 0;
    margin: 0;
}

.home2-service-panel__intro {
    display: grid;
    gap: 12px;
    padding: 8px 8px 0;
}

.home2-service-panel__eyebrow,
.home2-service-panel__label,
.home2-service-panel__preview-copy span {
    margin: 0;
    color: var(--home2-accent-soft);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home2-service-panel__intro h2 {
    margin: 0;
    max-width: 15ch;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2rem, 2vw, 2.6rem);
    letter-spacing: -0.05em;
    line-height: 0.98;
}

.home2-service-panel__intro p {
    margin: 0;
    max-width: 64ch;
    color: rgba(245, 239, 232, 0.76);
    line-height: 1.7;
}

.home2-service-panel__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(24, 24, 24, 0.94) 0%, rgba(16, 16, 16, 0.98) 100%);
    box-shadow:
        inset 0 -1px 0 rgba(255, 255, 255, 0.05);
    overflow: hidden;
}

.home2-service-panel__tab {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    width: 100%;
    min-height: 124px;
    padding: 20px 24px 22px;
    font: inherit;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.015) 100%);
    color: var(--home2-text);
    text-align: left;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px transparent;
    overflow: hidden;
    transition: background 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.home2-service-panel__tab::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), transparent 42%);
    opacity: 0.78;
    pointer-events: none;
}

.home2-service-panel__tab::after {
    content: "+";
    position: absolute;
    top: 18px;
    right: 20px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.55rem;
    line-height: 1;
    transition: transform 180ms ease, color 180ms ease;
}

.home2-service-panel__tab span {
    color: rgba(255, 255, 255, 0.56);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home2-service-panel__tab strong {
    display: block;
    max-width: none;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.34rem, 1.5vw, 1.78rem);
    line-height: 1;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

.home2-service-panel__tab:hover,
.home2-service-panel__tab:focus-visible {
    transform: none;
    box-shadow:
        inset 0 0 0 1px rgba(255, 126, 112, 0.16),
        0 0 0 rgba(0, 0, 0, 0);
    outline: none;
}

.home2-service-panel__tab.is-active {
    background:
        linear-gradient(180deg, rgba(238, 49, 49, 0.96) 0%, rgba(187, 26, 26, 0.96) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.08),
        0 10px 22px rgba(92, 12, 12, 0.18);
}

.home2-service-panel__tab.is-active span,
.home2-service-panel__tab.is-active strong,
.home2-service-panel__tab.is-active::after {
    color: #ffffff;
}

.home2-service-panel__tab.is-active::before {
    opacity: 1;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.18), transparent 46%);
}

.home2-service-panel__tab.is-active::after {
    transform: rotate(90deg);
}

.home2-service-panel__panes {
    margin-top: 0;
    padding: 18px 18px 0 0;
}

.home2-service-panel__pane {
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(320px, 0.82fr);
    gap: 28px;
    align-items: start;
}

.home2-service-panel__pane[hidden] {
    display: none !important;
}

.home2-service-panel__pane-copy {
    display: grid;
    gap: 0;
}

.home2-service-panel__pane-copy h3 {
    margin: 0;
    max-width: 16ch;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2rem, 2.3vw, 3rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
}

.home2-service-panel__pane-copy > p:last-of-type {
    margin: 0;
    max-width: 58ch;
    color: rgba(245, 239, 232, 0.74);
    line-height: 1.72;
}

.home2-service-panel__links {
    position: relative;
    display: grid;
    gap: 0;
    margin-top: 0;
    padding-left: 0;
}

.home2-service-panel__links::before {
    content: none;
}

.home2-service-panel__link {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    min-height: 100px;
    padding: 20px 18px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: inherit;
    box-shadow: none;
    opacity: 0.72;
    transition: transform 180ms ease, opacity 180ms ease, color 180ms ease;
}

.home2-service-panel__link::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 3px;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    transition: background 180ms ease, box-shadow 180ms ease;
}

.home2-service-panel__link:last-child {
    border-bottom: 0;
}

.home2-service-panel__link:hover,
.home2-service-panel__link:focus-visible,
.home2-service-panel__link.is-active {
    transform: translateX(6px);
    opacity: 1;
    outline: none;
}

.home2-service-panel__link:hover::before,
.home2-service-panel__link:focus-visible::before,
.home2-service-panel__link.is-active::before {
    background: linear-gradient(180deg, #ff6666 0%, #d01111 100%);
    box-shadow: 0 0 24px rgba(208, 17, 17, 0.34);
}

.home2-service-panel__link-body {
    display: grid;
    gap: 6px;
    align-content: center;
}

.home2-service-panel__link-share {
    align-self: center;
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0;
    transform: scale(0.86);
    transform-origin: center;
    transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.home2-service-panel__link:hover .home2-service-panel__link-share,
.home2-service-panel__link:focus-visible .home2-service-panel__link-share,
.home2-service-panel__link.is-active .home2-service-panel__link-share {
    opacity: 1;
    transform: scale(1);
}

.home2-service-panel__link strong {
    color: var(--home2-text);
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.15rem, 1.65vw, 1.42rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.home2-service-panel__link-desc {
    color: rgba(245, 239, 232, 0.68);
    font-size: 0.92rem;
    line-height: 1.58;
}

.home2-service-panel__preview {
    display: grid;
    justify-items: center;
    gap: 18px;
}

.home2-service-panel__preview-shell {
    position: relative;
    display: grid;
    place-items: center;
    width: min(100%, 390px);
    aspect-ratio: 1;
}

.home2-service-panel__preview-shell::before {
    content: "";
    position: absolute;
    width: 72%;
    height: 72%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(238, 49, 49, 0.22) 0%, rgba(238, 49, 49, 0.02) 58%, transparent 74%);
    filter: blur(18px);
    transform: scale(1.08);
}

.home2-service-panel__preview-rotor {
    --service-menu-turn: 0deg;
    position: relative;
    width: 74%;
    aspect-ratio: 1;
    transform: rotate(calc(45deg + var(--service-menu-turn)));
    transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.home2-service-panel__preview-surface {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 38px;
    border: 1px solid rgba(255, 126, 112, 0.22);
    background:
        radial-gradient(circle at top, rgba(255, 98, 98, 0.16) 0%, rgba(255, 98, 98, 0) 34%),
        linear-gradient(180deg, rgba(18, 10, 12, 0.94) 0%, rgba(12, 7, 9, 0.98) 100%);
    box-shadow: 0 30px 72px rgba(0, 0, 0, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.home2-service-panel__preview-surface::before {
    content: "";
    position: absolute;
    inset: 16px;
    z-index: 2;
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    pointer-events: none;
}

.home2-service-panel__preview-media {
    position: absolute;
    inset: 0;
    transform: rotate(calc(-45deg - var(--service-menu-turn))) scale(1.42);
    transform-origin: center;
    transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.home2-service-panel__preview-asset {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    filter: saturate(1) contrast(1.03) brightness(0.92);
    transition: opacity 260ms ease, visibility 260ms ease;
}

.home2-service-panel__preview-asset.is-active {
    opacity: 1;
    visibility: visible;
}

.home2-service-panel__preview-copy {
    display: grid;
    gap: 10px;
    width: min(100%, 320px);
    text-align: center;
}

.home2-service-panel__preview-copy strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.24rem, 1.3vw, 1.56rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.home2-service-panel__preview-copy p {
    margin: 0;
    color: rgba(245, 239, 232, 0.7);
    font-size: 0.94rem;
    line-height: 1.62;
}

.home2-nav__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: calc(44px - (2px * var(--home2-scroll-progress)));
    padding: 0 20px;
    border-radius: 999px;
    color: #fff !important;
    background: linear-gradient(135deg, #ff4343 0%, #d01111 100%);
    box-shadow: 0 12px 30px rgba(208, 17, 17, 0.28);
    font-weight: 700;
    white-space: nowrap;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, min-height 220ms ease, padding 220ms ease, font-size 220ms ease;
}

.home2-menu-toggle {
    display: none;
    border: 0;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--home2-text);
    font: inherit;
}

.home2-hero {
    position: relative;
    padding: 44px 0 28px;
}

.home2-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(560px, 1.06fr);
    gap: 24px;
    align-items: center;
    position: relative;
    overflow: visible;
}

.home2-overline,
.home2-section-head__label,
.home2-service-card__content > span,
.home2-step > span {
    margin: 0 0 18px;
    color: var(--home2-accent-soft);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.home2-hero h1,
.home2-section-head h2,
.home2-method__intro h2,
.home2-cta__copy h2 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(3.1rem, 6vw, 5.6rem);
    line-height: 0.97;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.home2-hero h1 {
    max-width: 12ch;
}

.home2-accent-text {
    color: var(--home2-accent-soft);
}

.home2-lead,
.home2-section-head,
.home2-method__intro p,
.home2-service-card__content p,
.home2-step p,
.home2-cta__copy p,
.home2-footer p {
    color: var(--home2-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.home2-hero__copy {
    position: relative;
    z-index: 3;
    max-width: 34rem;
}

.home2-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.home2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    font-weight: 800;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.home2-button:hover,
.home2-button:focus-visible {
    transform: translateY(-2px);
}

.home2-button--primary {
    color: #fff;
    background: linear-gradient(135deg, #ff4343 0%, #cf1111 100%);
    box-shadow: 0 18px 40px rgba(208, 17, 17, 0.24);
}

.home2-button--secondary {
    border: 1px solid rgba(255, 102, 92, 0.32);
    background: rgba(255, 255, 255, 0.03);
}

.home2-hero__visual {
    position: relative;
    justify-self: end;
    z-index: 0;
    width: clamp(720px, 56vw, 860px);
    max-width: none;
    min-height: 748px;
    pointer-events: none;
    transform: translateX(24px);
}

.home2-hero__visual::before,
.home2-hero__visual::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.home2-hero__visual::before {
    inset: 48px 30px 90px 18px;
    border-radius: 42px;
    background:
        radial-gradient(circle at top right, rgba(255, 92, 78, 0.16), transparent 38%),
        radial-gradient(circle at bottom left, rgba(115, 32, 32, 0.22), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.home2-hero__visual::after {
    width: 220px;
    height: 220px;
    right: -10px;
    top: 18px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 66, 66, 0.18) 0%, rgba(255, 66, 66, 0.03) 56%, transparent 76%);
    filter: blur(22px);
}

.home2-hero-layer {
    position: absolute;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--home2-radius-xl);
    box-shadow: var(--home2-shadow);
}

.home2-hero-surface {
    inset: 20px -16px 116px -64px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0)),
        linear-gradient(160deg, #101217 0%, #171a23 100%);
    z-index: 1;
}

.home2-hero-surface::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(140deg, rgba(6, 9, 14, 0.08) 12%, transparent 38%),
        linear-gradient(180deg, rgba(7, 9, 14, 0.04), rgba(7, 9, 14, 0.26));
}

.home2-hero-surface::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(90deg,
        rgba(13, 14, 17, 0.5) 0%,
        rgba(13, 14, 17, 0.48) 26%,
        rgba(13, 14, 17, 0.41) 42%,
        rgba(13, 14, 17, 0.19) 58%,
        rgba(13, 14, 17, 0.04) 72%,
        rgba(13, 14, 17, 0) 82%
    );
}

.home2-hero-callout {
    right: -20px;
    top: 82px;
    width: min(356px, calc(100% - 364px));
    height: 268px;
    padding: 0;
    border-color: rgba(140, 140, 140, 0.28);
    border-radius: 8px;
    background: #0c0c0c;
    box-shadow:
        0 24px 44px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
    z-index: 3;
}

.home2-hero-callout::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 18%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02), transparent 16%, transparent 84%, rgba(255, 255, 255, 0.02));
    pointer-events: none;
    opacity: 0.42;
}

.home2-hero-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: inherit;
    background: #0c0c0c;
    --home2-hero-shell-text-size: 11px;
}

.home2-hero-shell__chrome {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    align-items: center;
    min-height: 38px;
    padding-left: 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    background: #2b2b2b;
    font-family: "Segoe UI", "IBM Plex Sans", sans-serif;
}

.home2-hero-shell__chrome-left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.home2-hero-shell__tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 168px;
    height: 34px;
    padding: 0 14px 0 10px;
    border-radius: 7px 7px 0 0;
    background: #111111;
}

.home2-hero-shell__tab-close {
    position: relative;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-left: auto;
    border-radius: 4px;
}

.home2-hero-shell__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 16px;
    padding: 0 3px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 2px;
    color: rgba(255, 255, 255, 0.88);
    font-family: "IBM Plex Mono", "Consolas", monospace;
    font-size: 0.46rem;
    font-weight: 600;
    line-height: 1;
}

.home2-hero-shell__chrome-tools {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.home2-hero-shell__tab-close,
.home2-hero-shell__chrome-tools span,
.home2-hero-shell__actions span {
    position: relative;
}

.home2-hero-shell__chrome-tools span {
    width: 24px;
    height: 24px;
    border-radius: 4px;
}

.home2-hero-shell__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
}

.home2-hero-shell__actions span {
    width: 40px;
    height: 38px;
}

.home2-hero-shell__tab-close::before,
.home2-hero-shell__tab-close::after,
.home2-hero-shell__chrome-tools span::before,
.home2-hero-shell__chrome-tools span::after,
.home2-hero-shell__actions span::before,
.home2-hero-shell__actions span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.home2-hero-shell__tab-close::before,
.home2-hero-shell__tab-close::after {
    width: 7px;
    border-top: 1px solid rgba(255, 255, 255, 0.78);
}

.home2-hero-shell__tab-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.home2-hero-shell__tab-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.home2-hero-shell__chrome-tools span::before,
.home2-hero-shell__chrome-tools span::after {
    width: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.78);
}

.home2-hero-shell__chrome-tools span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.home2-hero-shell__actions span:first-child::before {
    width: 9px;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
}

.home2-hero-shell__actions span:nth-child(2)::before {
    width: 9px;
    height: 7px;
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.home2-hero-shell__actions span:last-child::before,
.home2-hero-shell__actions span:last-child::after {
    width: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.62);
}

.home2-hero-shell__actions span:last-child::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.home2-hero-shell__actions span:last-child::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.home2-hero-shell__actions span:last-child:hover {
    background: rgba(196, 43, 28, 0.82);
}

.home2-hero-shell__system,
.home2-hero-shell__path,
.home2-hero-shell__stream {
    font-family: "IBM Plex Mono", "Consolas", monospace;
}

.home2-hero-shell__title {
    min-width: 0;
    color: rgba(255, 255, 255, 0.96);
    font-size: var(--home2-hero-shell-text-size);
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home2-hero-shell__body {
    position: relative;
    min-height: 0;
    padding: 12px;
    overflow: hidden;
    background: #0c0c0c;
}

.home2-hero-shell__viewport {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.home2-hero-shell__track {
    box-sizing: border-box;
    display: grid;
    align-content: start;
    gap: 3px;
    min-height: 100%;
    padding-bottom: 8px;
}

.home2-hero-shell__line {
    display: block;
    color: rgba(244, 244, 244, 0.72);
    font-family: "IBM Plex Mono", "Consolas", monospace;
    font-size: var(--home2-hero-shell-text-size);
    line-height: 1.28;
    white-space: nowrap;
}

.home2-hero-shell__line.is-entering {
    animation: home2-shell-line-enter 140ms ease-out both;
}

.home2-hero-shell__line.is-head,
.home2-hero-shell__line.is-command,
.home2-hero-shell__line.is-loading {
    color: rgba(244, 244, 244, 0.96);
}

.home2-hero-shell__line.is-warning {
    color: rgba(255, 206, 120, 0.94);
}

.home2-hero-shell__line.is-muted {
    color: rgba(244, 244, 244, 0.68);
}

.home2-hero-shell__line.is-success {
    color: rgba(124, 224, 142, 0.96);
}

.home2-hero-shell__line.is-error {
    color: rgba(255, 113, 113, 0.96);
}

.home2-hero-shell__line.is-spacer {
    height: 8px;
    color: transparent;
}

.home2-hero-shell__line.is-command {
    display: flex;
    align-items: center;
    gap: 2px;
}

.home2-hero-shell__line.is-loading {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    color: rgba(244, 244, 244, 0.88);
}

.home2-hero-shell__loading-label {
    white-space: nowrap;
}

.home2-hero-shell__loading-bar {
    position: relative;
    display: block;
    height: 7px;
    border: 1px solid rgba(244, 244, 244, 0.28);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.04);
}

.home2-hero-shell__loading-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.08));
    transform-origin: left center;
    transform: scaleX(0);
}

.home2-hero-shell__loading-state {
    color: rgba(244, 244, 244, 0.96);
    white-space: nowrap;
}

.home2-hero-shell__prompt {
    flex: 0 0 auto;
    color: rgba(244, 244, 244, 0.96);
}

.home2-hero-shell__typing {
    min-width: 0;
    color: rgba(244, 244, 244, 0.96);
}

.home2-hero-shell__cursor {
    flex: 0 0 auto;
    width: 7px;
    height: 1.05em;
    background: rgba(244, 244, 244, 0.96);
    animation: home2-shell-cursor-blink 1s steps(1) infinite;
}

@keyframes home2-shell-cursor-blink {
    0%,
    48% {
        opacity: 1;
    }

    49%,
    100% {
        opacity: 0;
    }
}

@keyframes home2-shell-line-enter {
    0% {
        opacity: 0;
        transform: translateY(4px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.home2-product {
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
    color: #f5efe8;
}

.home2-product__topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.02);
}

.home2-product__traffic {
    display: flex;
    align-items: center;
    gap: 7px;
}

.home2-product__traffic span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
}

.home2-product__traffic span:first-child {
    background: #ff6558;
}

.home2-product__traffic span:nth-child(2) {
    background: #f3b249;
}

.home2-product__traffic span:last-child {
    background: #43d17c;
}

.home2-product__search {
    min-width: 0;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 999px;
    color: rgba(245, 239, 232, 0.46);
    font-size: 0.86rem;
}

.home2-product__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 96, 80, 0.94), rgba(207, 17, 17, 0.94));
    color: #fff;
    font-size: 0.8rem;
    font-weight: 800;
}

.home2-product__body {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    min-height: 0;
}

.home2-product__sidebar {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 18px;
    padding: 18px 14px;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.018);
}

.home2-product__brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 96, 80, 0.22), rgba(255, 255, 255, 0.05));
    color: var(--home2-accent-soft);
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
}

.home2-product__nav {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home2-product__nav li {
    justify-self: start;
    width: calc(100% - 8px);
    padding: 8px 10px;
    border-radius: 14px;
    color: rgba(245, 239, 232, 0.56);
    font-size: 0.72rem;
    line-height: 1.25;
}

.home2-product__nav li.is-active {
    background: rgba(255, 96, 80, 0.14);
    color: #fff;
}

.home2-product__content {
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 18px;
    padding: 20px;
    min-width: 0;
}

.home2-product__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.home2-product__header p,
.home2-product__header span {
    margin: 0;
}

.home2-product__header p {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.02rem;
    font-weight: 700;
    color: #fff;
}

.home2-product__header span {
    color: rgba(245, 239, 232, 0.5);
    font-size: 0.78rem;
}

.home2-product__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.home2-product__stat {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
}

.home2-product__stat span,
.home2-product__stat em {
    font-size: 0.72rem;
    font-style: normal;
}

.home2-product__stat span {
    color: rgba(245, 239, 232, 0.54);
}

.home2-product__stat strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.38rem;
    line-height: 1;
    color: #fff;
}

.home2-product__stat em {
    color: #ff8b7e;
}

.home2-product__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(220px, 0.78fr);
    gap: 14px;
    min-height: 0;
}

.home2-product__panel {
    display: grid;
    gap: 12px;
    min-height: 0;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0)),
        rgba(255, 255, 255, 0.018);
}

.home2-product__panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.home2-product__panel-head strong,
.home2-product__panel-head span {
    font-size: 0.76rem;
}

.home2-product__panel-head strong {
    color: #fff;
    font-weight: 700;
}

.home2-product__panel-head span {
    color: rgba(245, 239, 232, 0.46);
}

.home2-product__code {
    display: grid;
    gap: 6px;
    min-height: 0;
    color: rgba(245, 239, 232, 0.74);
    font-family: "IBM Plex Mono", "Consolas", monospace;
    font-size: 0.72rem;
    line-height: 1.45;
}

.home2-product__code span {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 10px;
}

.home2-product__code i {
    color: rgba(245, 239, 232, 0.28);
    font-style: normal;
}

.home2-product__activity {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home2-product__activity li {
    display: grid;
    gap: 4px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
}

.home2-product__activity b,
.home2-product__activity span,
.home2-product__activity em {
    font-size: 0.73rem;
    font-style: normal;
}

.home2-product__activity b {
    color: #fff;
}

.home2-product__activity span {
    color: rgba(245, 239, 232, 0.5);
}

.home2-product__activity em {
    color: #ff9d91;
}

.home2-product__activity em.is-success {
    color: #58db8f;
}

.home2-product__schedule {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home2-product__schedule span {
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(245, 239, 232, 0.72);
    font-size: 0.72rem;
}

.home2-product__schedule span.is-accent {
    background: rgba(255, 96, 80, 0.16);
    color: #fff;
}

.home2-product__schedule span.is-outline {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
}

.home2-product__analytics {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 16px;
}

.home2-product__bars {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: end;
    gap: 8px;
    height: 110px;
}

.home2-product__bars span {
    display: block;
    border-radius: 999px 999px 10px 10px;
    background: linear-gradient(180deg, rgba(255, 110, 96, 0.92), rgba(255, 110, 96, 0.18));
}

.home2-product__bars span:nth-child(1) { height: 44%; }
.home2-product__bars span:nth-child(2) { height: 58%; }
.home2-product__bars span:nth-child(3) { height: 36%; }
.home2-product__bars span:nth-child(4) { height: 84%; }
.home2-product__bars span:nth-child(5) { height: 64%; }
.home2-product__bars span:nth-child(6) { height: 48%; }

.home2-product__bars span.is-peak {
    box-shadow: 0 14px 28px rgba(255, 96, 80, 0.24);
}

.home2-product__gauge {
    display: grid;
    place-items: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, #12161f 59%, transparent 60%),
        conic-gradient(from 220deg, #ff6658, #ff8d74 72%, rgba(255, 255, 255, 0.09) 72%);
}

.home2-product__gauge strong,
.home2-product__gauge span {
    grid-area: 1 / 1;
}

.home2-product__gauge strong {
    margin-top: -8px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1rem;
    color: #fff;
}

.home2-product__gauge span {
    margin-top: 26px;
    color: rgba(245, 239, 232, 0.52);
    font-size: 0.64rem;
}

.home2-terminal {
    display: grid;
    gap: 14px;
    height: 100%;
    padding: 18px 20px 20px;
    color: #f5efe8;
}

.home2-terminal__prompt {
    margin: 0;
    color: #ff9383;
    font-family: "IBM Plex Mono", "Consolas", monospace;
    font-size: 0.72rem;
}

.home2-terminal__steps {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home2-terminal__steps li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: rgba(245, 239, 232, 0.72);
    font-size: 0.72rem;
}

.home2-terminal__steps b {
    color: rgba(245, 239, 232, 0.46);
    font-weight: 600;
}

.home2-terminal strong {
    color: #58db8f;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1rem;
    line-height: 1.15;
}

@media (max-width: 1360px) {
    .home2-hero__grid {
        grid-template-columns: minmax(0, 0.98fr) minmax(520px, 1fr);
        gap: 18px;
    }

    .home2-hero__copy {
        max-width: 31rem;
    }

    .home2-hero__visual {
        width: clamp(650px, 54vw, 780px);
        min-height: 700px;
        transform: translateX(-18px);
    }

    .home2-hero-surface {
        inset: 18px 0 108px -32px;
    }

    .home2-hero-callout {
        right: -14px;
        width: min(252px, calc(100% - 360px));
    }

}

.home2-logo-lab {
    padding: 92px 0 56px;
}

.home2-logo-lab__grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: 44px;
    align-items: center;
}

.home2-logo-lab__stage {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 360px;
}

.home2-logo-lab__copy {
    max-width: 42rem;
}

.home2-logo-lab__copy h2 {
    margin: 0 0 18px;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.home2-logo-lab__copy p:last-of-type {
    margin: 0;
    color: var(--home2-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.home2-logo3d {
    --logo-tilt-x: 0deg;
    --logo-tilt-y: 0deg;
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    align-content: center;
    width: min(100%, 540px);
    min-height: 360px;
    padding: 0;
    outline: none;
}

.home2-logo3d__viewport {
    position: relative;
    display: grid;
    place-items: center;
    width: min(100%, 500px);
    aspect-ratio: 1.58;
    perspective: 1800px;
}

.home2-logo3d__viewport::before {
    content: "";
    position: absolute;
    pointer-events: none;
}

.home2-logo3d__viewport::before {
    width: 72%;
    height: 26%;
    bottom: 8%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 42, 42, 0.34) 0%, rgba(255, 42, 42, 0.06) 48%, transparent 72%);
    filter: blur(16px);
    transform: scaleX(1.18);
}

.home2-logo3d__orbit {
    position: relative;
    width: 88%;
    aspect-ratio: 2.18;
    transform-style: preserve-3d;
    will-change: transform;
}

.home2-logo3d__stack {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transform-origin: center center;
    transition: transform 220ms ease-out;
}

.home2-logo3d__layer {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    transform:
        translateZ(calc((var(--logo-layer) - 8) * -6px))
        translateX(calc((8 - var(--logo-layer)) * -0.45px))
        translateY(calc((8 - var(--logo-layer)) * 0.65px));
    opacity: calc(0.22 + (var(--logo-layer) * 0.09));
    filter:
        saturate(calc(0.72 + (var(--logo-layer) * 0.05)))
        brightness(calc(0.42 + (var(--logo-layer) * 0.07)));
}

.home2-logo3d__layer img {
    width: 100%;
    height: auto;
    user-select: none;
    pointer-events: none;
}

.home2-logo3d__layer:last-child {
    filter:
        saturate(1.08)
        brightness(1.04)
        drop-shadow(0 0 14px rgba(255, 58, 58, 0.26))
        drop-shadow(0 18px 22px rgba(0, 0, 0, 0.28));
}

.home2-logo3d[data-rotation-mode="mode-a"] .home2-logo3d__orbit {
    animation: home2-logo3d-axis-a 8.2s cubic-bezier(0.4, 0.08, 0.2, 1) infinite;
}

.home2-logo3d[data-rotation-mode="mode-a"] .home2-logo3d__stack {
    transform: rotateX(calc(22deg + var(--logo-tilt-x))) rotateY(calc(-8deg + var(--logo-tilt-y))) rotateZ(-4deg);
}

.home2-logo3d[data-rotation-mode="mode-b"] .home2-logo3d__orbit {
    animation: home2-logo3d-axis-b 6.6s cubic-bezier(0.46, 0.03, 0.24, 1) infinite;
}

.home2-logo3d[data-rotation-mode="mode-b"] .home2-logo3d__stack {
    transform: rotateX(calc(18deg + var(--logo-tilt-x))) rotateY(calc(6deg + var(--logo-tilt-y))) rotateZ(3deg);
}

.home2-logo3d[data-rotation-mode="mode-c"] .home2-logo3d__orbit {
    animation: home2-logo3d-axis-c 7.4s cubic-bezier(0.42, 0.06, 0.24, 1) infinite;
}

.home2-logo3d[data-rotation-mode="mode-c"] .home2-logo3d__stack {
    transform: rotateX(calc(14deg + var(--logo-tilt-x))) rotateY(calc(-2deg + var(--logo-tilt-y))) rotateZ(11deg);
}

.home2-logo3d[data-rotation-mode="mode-d"] .home2-logo3d__orbit {
    animation: home2-logo3d-axis-d 5.8s cubic-bezier(0.48, 0.04, 0.22, 1) infinite;
}

.home2-logo3d[data-rotation-mode="mode-d"] .home2-logo3d__stack {
    transform: rotateX(calc(26deg + var(--logo-tilt-x))) rotateY(calc(0deg + var(--logo-tilt-y))) rotateZ(-10deg);
}

.home2-logo3d.is-hovered .home2-logo3d__viewport::before,
.home2-logo3d:focus-visible .home2-logo3d__viewport::before {
    background: radial-gradient(circle, rgba(255, 68, 68, 0.44) 0%, rgba(255, 68, 68, 0.1) 52%, transparent 76%);
}

.home2-logo3d.is-hovered .home2-logo3d__layer:last-child,
.home2-logo3d:focus-visible .home2-logo3d__layer:last-child {
    filter:
        saturate(1.14)
        brightness(1.08)
        drop-shadow(0 0 16px rgba(255, 58, 58, 0.3))
        drop-shadow(0 20px 24px rgba(0, 0, 0, 0.3));
}

@keyframes home2-logo3d-axis-a {
    0%,
    100% {
        transform: rotateX(4deg) rotateY(-10deg) rotateZ(-2deg) translateY(0);
    }

    33% {
        transform: rotateX(1deg) rotateY(10deg) rotateZ(1deg) translateY(-5px);
    }

    66% {
        transform: rotateX(8deg) rotateY(18deg) rotateZ(3deg) translateY(3px);
    }
}

@keyframes home2-logo3d-axis-b {
    0%,
    100% {
        transform: rotateX(8deg) rotateY(0deg) rotateZ(0deg) translateY(0);
    }

    25% {
        transform: rotateX(16deg) rotateY(68deg) rotateZ(5deg) translateY(-4px);
    }

    50% {
        transform: rotateX(6deg) rotateY(136deg) rotateZ(0deg) translateY(1px);
    }

    75% {
        transform: rotateX(-4deg) rotateY(204deg) rotateZ(-5deg) translateY(4px);
    }
}

@keyframes home2-logo3d-axis-c {
    0%,
    100% {
        transform: rotateX(2deg) rotateY(-18deg) rotateZ(-10deg) translateY(0);
    }

    30% {
        transform: rotateX(10deg) rotateY(-2deg) rotateZ(6deg) translateY(-6px);
    }

    60% {
        transform: rotateX(4deg) rotateY(12deg) rotateZ(12deg) translateY(2px);
    }
}

@keyframes home2-logo3d-axis-d {
    0%,
    100% {
        transform: rotateX(12deg) rotateY(-24deg) rotateZ(-6deg) translateY(0) scale(1);
    }

    25% {
        transform: rotateX(20deg) rotateY(-6deg) rotateZ(-2deg) translateY(-4px) scale(1.015);
    }

    50% {
        transform: rotateX(12deg) rotateY(18deg) rotateZ(4deg) translateY(2px) scale(1);
    }

    75% {
        transform: rotateX(0deg) rotateY(34deg) rotateZ(10deg) translateY(5px) scale(0.992);
    }
}

.home2-marquee {
    overflow: hidden;
    border-top: 1px solid var(--home2-line);
    border-bottom: 1px solid var(--home2-line);
    background: rgba(255, 255, 255, 0.02);
}

.home2-marquee__track {
    display: flex;
    width: max-content;
}

.home2-marquee__group {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 18px 0;
    white-space: nowrap;
}

.home2-marquee__group span {
    color: rgba(245, 239, 232, 0.84);
    font-family: "Space Grotesk", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.home2-marquee__group span::after {
    content: "•";
    margin-left: 28px;
    color: rgba(245, 239, 232, 0.3);
}

.home2-expertise-band {
    position: relative;
    border-top: 1px solid var(--home2-line);
    border-bottom: 1px solid var(--home2-line);
    background:
        linear-gradient(90deg, rgba(255, 39, 39, 0.08) 0%, rgba(255, 39, 39, 0) 24%),
        rgba(255, 255, 255, 0.02);
}

.home2-expertise-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 14%, rgba(255, 255, 255, 0) 86%, rgba(255, 255, 255, 0.03) 100%);
    pointer-events: none;
}

.home2-expertise-band__inner {
    position: relative;
    z-index: 1;
    padding: 18px 0;
}

.home2-expertise-band__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    min-width: 0;
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.home2-expertise-band__track {
    display: flex;
    align-items: center;
    width: max-content;
    will-change: transform;
}

.home2-expertise-band__list {
    display: flex;
    flex: none;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0 22px 0 0;
    list-style: none;
}

.home2-expertise-band__list::after {
    content: "/";
    margin: 0 16px;
    color: rgba(255, 102, 92, 0.58);
    font-size: 0.82rem;
    font-weight: 700;
}

.home2-expertise-band__list li {
    display: inline-flex;
    align-items: center;
    color: rgba(245, 239, 232, 0.86);
    font-family: "Space Grotesk", sans-serif;
    font-size: 0.96rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.home2-expertise-band__list li + li::before {
    content: "/";
    margin: 0 16px;
    color: rgba(255, 102, 92, 0.58);
    font-size: 0.82rem;
    font-weight: 700;
}

.home2-services,
.home2-method,
.home2-cta {
    padding: 110px 0;
}

.home2-duality {
    padding: 0;
    --home2-duality-accent: #ff3b30;
    --home2-duality-accent-strong: #ff2020;
    --home2-duality-accent-soft: #ff7a70;
    --home2-duality-accent-line: rgba(255, 72, 72, 0.6);
    --home2-duality-accent-glow: rgba(255, 59, 48, 0.24);
    --home2-duality-board-surface:
        linear-gradient(180deg, rgba(47, 26, 30, 0.94) 0%, rgba(33, 18, 22, 0.98) 100%);
}

.home2-duality__shell {
    width: min(100%, 1536px);
    margin: 0 auto;
    padding: 80px 16px;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .home2-duality__shell {
        padding: 96px 80px;
    }
}

.home2-duality__intro {
    max-width: 860px;
    margin: 0 auto 54px;
    text-align: center;
}

.home2-duality__ribbon {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-bottom: 24px;
}

.home2-duality__ribbon-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    padding: 16px 34px 20px;
    border-radius: 28px;
    background: linear-gradient(180deg, #ff6b61 0%, #ff2f2f 100%);
    color: #fff5f1;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2rem, 4vw, 3.8rem);
    font-weight: 700;
    line-height: 0.88;
    letter-spacing: -0.06em;
    text-transform: uppercase;
    box-shadow: 0 18px 40px rgba(137, 16, 16, 0.26);
}

.home2-duality__ribbon-pill--brand {
    min-width: min(100%, 220px);
    padding-inline: 42px;
    background: linear-gradient(180deg, #ff8a7c 0%, #ff4747 100%);
}

.home2-duality__lead {
    max-width: 740px;
    margin: 0 auto;
    color: var(--home2-muted);
    font-size: clamp(1.02rem, 1.5vw, 1.26rem);
    line-height: 1.65;
}

.home2-section-head {
    max-width: 850px;
    margin-bottom: 42px;
}

.home2-duality__intro h2,
.home2-section-head h2,
.home2-method__intro h2,
.home2-cta__copy h2 {
    font-size: clamp(2.3rem, 4vw, 4.3rem);
    margin-bottom: 18px;
}

.home2-method__intro h2 {
    font-size: clamp(2.5rem, 3.8vw, 4.1rem);
}

.home2-cta__addon-shell {
    --cta-shell-accent: rgba(238, 49, 49, 0.12);
    --cta-shell-accent-strong: rgba(238, 49, 49, 0.2);
    padding-top: 0;
}

.home2-cta__addon-shell[data-cta-diamond-state="overview"] {
    --cta-shell-accent: rgba(238, 49, 49, 0.12);
    --cta-shell-accent-strong: rgba(238, 49, 49, 0.2);
}

.home2-cta__addon-shell[data-cta-diamond-state="walk"] {
    --cta-shell-accent: rgba(22, 199, 154, 0.12);
    --cta-shell-accent-strong: rgba(22, 199, 154, 0.22);
}

.home2-cta__addon-shell[data-cta-diamond-state="control"] {
    --cta-shell-accent: rgba(255, 139, 61, 0.12);
    --cta-shell-accent-strong: rgba(255, 139, 61, 0.22);
}

.home2-cta__addon-shell[data-cta-diamond-state="stat"] {
    --cta-shell-accent: rgba(78, 164, 255, 0.12);
    --cta-shell-accent-strong: rgba(78, 164, 255, 0.22);
}

.home2-cta__addon {
    margin-top: 34px;
    padding: clamp(24px, 2.2vw, 34px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home2-cta__addon-layout {
    --cta-side-min: 210px;
    --cta-center-min: 340px;
    --cta-center-max: 560px;
    --cta-layout-gap: clamp(18px, 2vw, 28px);
    --cta-diamond-size: clamp(360px, 24vw, 470px);
    --cta-panel-min-height: clamp(128px, 8.5vw, 164px);
    --cta-panel-padding-y: clamp(18px, 1.4vw, 24px);
    --cta-panel-padding-x: clamp(20px, 1.5vw, 26px);
    --cta-panel-overlap: clamp(96px, 9vw, 168px);
    --cta-accent: #ee3131;
    --cta-accent-rgb: 238, 49, 49;
    display: grid;
    grid-template-columns:
        minmax(var(--cta-side-min), 0.86fr)
        minmax(var(--cta-center-min), var(--cta-center-max))
        minmax(var(--cta-side-min), 0.86fr);
    grid-template-rows: auto minmax(clamp(420px, 36vw, 520px), 44vw) auto;
    gap: 0 var(--cta-layout-gap);
    align-items: center;
    justify-content: center;
}

.home2-cta__addon-layout[data-cta-diamond-state="overview"] {
    --cta-accent: #ee3131;
    --cta-accent-rgb: 238, 49, 49;
}

.home2-cta__addon-layout[data-cta-diamond-state="walk"] {
    --cta-accent: #16c79a;
    --cta-accent-rgb: 22, 199, 154;
}

.home2-cta__addon-layout[data-cta-diamond-state="control"] {
    --cta-accent: #ff8b3d;
    --cta-accent-rgb: 255, 139, 61;
}

.home2-cta__addon-layout[data-cta-diamond-state="stat"] {
    --cta-accent: #4ea4ff;
    --cta-accent-rgb: 78, 164, 255;
}

.home2-cta__addon-board.home2-duality__board {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    contain: layout paint;
}

.home2-cta__addon-board.home2-duality__board::before {
    content: none;
}

.home2-cta__diamond-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    overflow: visible;
}

.home2-cta__diamond-orbit {
    position: absolute;
    inset: 50% auto auto 50%;
    border: 1px solid rgba(var(--cta-accent-rgb), 0.14);
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
    transition: border-color 240ms ease;
}

.home2-cta__diamond-orbit--one {
    width: min(82%, 520px);
    aspect-ratio: 1;
    border-radius: 42px;
}

.home2-cta__diamond-orbit--two {
    width: min(62%, 380px);
    aspect-ratio: 1;
    border-radius: 34px;
    border-color: rgba(var(--cta-accent-rgb), 0.22);
}

.home2-cta__diamond-rotor {
    --cta-diamond-turn: 0deg;
    position: relative;
    width: min(78%, var(--cta-diamond-size));
    aspect-ratio: 1;
    transform: rotate(calc(45deg + var(--cta-diamond-turn)));
    transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.home2-cta__diamond-surface {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 42px;
    border: 1px solid rgba(var(--cta-accent-rgb), 0.26);
    background:
        radial-gradient(circle at top, rgba(var(--cta-accent-rgb), 0.18) 0%, rgba(var(--cta-accent-rgb), 0) 34%),
        linear-gradient(180deg, rgba(18, 10, 12, 0.94) 0%, rgba(12, 7, 9, 0.98) 100%);
    box-shadow:
        0 32px 80px rgba(0, 0, 0, 0.34),
        0 0 40px rgba(var(--cta-accent-rgb), 0.12),
        inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    transition: border-color 240ms ease, background 240ms ease, box-shadow 240ms ease;
}

.home2-cta__diamond-media {
    --cta-diamond-media-scale: 1.42;
    position: absolute;
    inset: 0;
    transform: rotate(calc(-45deg - var(--cta-diamond-turn))) scale(var(--cta-diamond-media-scale));
    transform-origin: center;
    transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

.home2-cta__diamond-surface::before {
    content: "";
    position: absolute;
    inset: 18px;
    z-index: 2;
    border-radius: 28px;
    border: 1px solid rgba(var(--cta-accent-rgb), 0.18);
    pointer-events: none;
    transition: border-color 240ms ease;
}

.home2-cta__diamond-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    filter: saturate(0.96) contrast(1.04) brightness(0.9);
    transition: opacity 260ms ease, visibility 260ms ease, transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home2-cta__diamond-video.is-active {
    opacity: 1;
    visibility: visible;
}

.home2-cta__addon-layout > .home2-duality__panel {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    height: auto;
    width: auto;
    min-height: var(--cta-panel-min-height);
    padding: var(--cta-panel-padding-y) var(--cta-panel-padding-x);
    border: 1px solid #313131;
    border-radius: 28px;
    background: #1b1b1b;
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.18);
    display: grid;
    align-content: center;
    gap: 10px;
    overflow: hidden;
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, color 220ms ease;
    contain: paint;
}

.home2-cta__addon-layout > .home2-duality__panel::after {
    top: 18px;
    right: 20px;
    font-size: 1.8rem;
}

.home2-cta__addon-layout > .home2-duality__panel h3 {
    max-width: 10ch;
    font-size: clamp(1.2rem, 1.55vw, 1.72rem);
}

.home2-cta__addon-layout > .home2-duality__panel p {
    max-width: 24ch;
    font-size: 0.94rem;
    color: #c9c9c9;
}

.home2-cta__addon-layout > .home2-duality__panel.is-active {
    border-color: var(--cta-accent);
    background: var(--cta-accent);
    color: #ffffff;
    box-shadow: 0 22px 52px rgba(var(--cta-accent-rgb), 0.24);
}

.home2-cta__addon-layout > .home2-duality__panel.is-active p,
.home2-cta__addon-layout > .home2-duality__panel.is-active::after {
    color: #ffffff;
}

.home2-cta__addon-layout > .home2-duality__panel:hover,
.home2-cta__addon-layout > .home2-duality__panel:focus-visible {
    transform: translateY(-4px);
    border-color: #585858;
    outline: none;
}

.home2-cta__addon-layout > .home2-duality__panel:hover::after,
.home2-cta__addon-layout > .home2-duality__panel:focus-visible::after,
.home2-cta__addon-layout > .home2-duality__panel.is-active::after {
    transform: rotate(90deg);
}

.home2-cta__addon-board.home2-duality__board.is-switching .home2-cta__diamond-video.is-active {
    transform: none;
}

.home2-cta__addon-board.home2-duality__board.is-switching .home2-cta__diamond-media {
    --cta-diamond-media-scale: 1.46;
}

.home2-cta__addon-panel--top {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin-bottom: calc(var(--cta-panel-overlap) * -1);
}

.home2-cta__addon-panel--left {
    grid-column: 1;
    grid-row: 2;
}

.home2-cta__addon-panel--right {
    grid-column: 3;
    grid-row: 2;
}

.home2-cta__addon-panel--bottom {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    margin-top: calc(var(--cta-panel-overlap) * -1);
}

@media (max-width: 2000px) {
    .home2-cta__addon-layout {
        --cta-side-min: 180px;
        --cta-center-min: 280px;
        --cta-center-max: 420px;
        --cta-layout-gap: clamp(12px, 1.4vw, 20px);
        --cta-diamond-size: clamp(250px, 18vw, 340px);
        --cta-panel-overlap: 0px;
        grid-template-rows: auto minmax(clamp(300px, 24vw, 400px), 30vw) auto;
    }

    .home2-cta__diamond-stage {
        padding: clamp(8px, 0.8vw, 14px);
        box-sizing: border-box;
    }

    .home2-cta__diamond-rotor {
        width: min(68%, var(--cta-diamond-size));
    }
}

@media (max-width: 1700px) {
    .home2-cta__addon-layout {
        --cta-center-min: 270px;
        --cta-center-max: 390px;
        --cta-diamond-size: clamp(240px, 17vw, 320px);
    }
}

@media (max-width: 1600px) {
    .home2-cta__addon-layout {
        --cta-side-min: 172px;
        --cta-center-min: 252px;
        --cta-center-max: 364px;
        --cta-diamond-size: clamp(226px, 16vw, 298px);
    }
}

@media (max-width: 1500px) {
    .home2-cta__addon-layout {
        --cta-side-min: 164px;
        --cta-center-min: 236px;
        --cta-center-max: 338px;
        --cta-diamond-size: clamp(214px, 15vw, 276px);
        --cta-layout-gap: clamp(10px, 1.2vw, 16px);
    }
}

@media (max-width: 1300px) {
    .home2-cta__addon-layout {
        --cta-side-min: 156px;
        --cta-center-min: 220px;
        --cta-center-max: 300px;
        --cta-diamond-size: clamp(198px, 14vw, 244px);
        --cta-panel-min-height: clamp(112px, 8.2vw, 136px);
        --cta-panel-padding-y: 16px;
        --cta-panel-padding-x: 18px;
        --cta-layout-gap: clamp(8px, 0.9vw, 12px);
    }
}

@media (max-width: 1100px) {
    .home2-cta__addon-layout {
        --cta-side-min: 148px;
        --cta-center-min: 208px;
        --cta-center-max: 268px;
        --cta-diamond-size: clamp(186px, 13vw, 220px);
        --cta-panel-min-height: clamp(108px, 8.2vw, 132px);
        --cta-layout-gap: clamp(8px, 0.8vw, 10px);
    }
}

@media (max-width: 1080px) {
    .home2-cta__addon-layout {
        --cta-diamond-size: min(78vw, 420px);
        --cta-panel-min-height: 150px;
        --cta-panel-padding-y: 22px;
        --cta-panel-padding-x: 22px;
        --cta-panel-overlap: 0px;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 1.12fr) minmax(0, 1fr);
        grid-template-areas:
            "top top top"
            "left board right"
            "left board right"
            "bottom bottom bottom";
        grid-template-rows: auto minmax(260px, 1fr) minmax(260px, 1fr) auto;
        gap: 18px clamp(16px, 2vw, 22px);
    }

    .home2-cta__addon-layout > .home2-duality__panel h3 {
        max-width: 100%;
    }

    .home2-cta__addon-panel--top {
        grid-area: top;
        align-self: stretch;
        margin-bottom: 0;
    }

    .home2-cta__addon-board.home2-duality__board {
        grid-area: board;
        max-width: min(100%, 460px);
        width: 100%;
        justify-self: center;
        align-self: center;
    }

    .home2-cta__addon-panel--left {
        grid-area: left;
        align-self: stretch;
    }

    .home2-cta__addon-panel--right {
        grid-area: right;
        align-self: stretch;
    }

    .home2-cta__addon-panel--bottom {
        grid-area: bottom;
        margin-top: 0;
    }
}

@media (max-width: 860px) {
    .home2-cta__addon-layout {
        --cta-diamond-size: min(76vw, 390px);
        --cta-panel-min-height: 136px;
        --cta-panel-padding-y: 20px;
        --cta-panel-padding-x: 20px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "board board"
            "top top"
            "left right"
            "bottom bottom";
        grid-template-rows: auto auto auto auto;
        gap: 16px;
    }

    .home2-cta__addon-layout > .home2-duality__panel {
        min-height: var(--cta-panel-min-height);
        border-radius: 24px;
        gap: 8px;
    }

    .home2-cta__addon-layout > .home2-duality__panel p {
        max-width: none;
    }

    .home2-cta__addon-board.home2-duality__board {
        max-width: min(100%, 420px);
    }

    .home2-cta__diamond-stage {
        min-height: 0;
    }

    .home2-cta__diamond-rotor {
        width: min(100%, 360px);
    }

    .home2-cta__diamond-media {
        --cta-diamond-media-scale: 1.48;
    }
}

@media (max-width: 640px) {
    .home2-cta__addon-layout {
        --cta-diamond-size: min(82vw, 340px);
        --cta-panel-min-height: 0;
        --cta-panel-padding-y: 18px;
        --cta-panel-padding-x: 18px;
        grid-template-columns: 1fr;
        grid-template-areas:
            "board"
            "top"
            "left"
            "right"
            "bottom";
        gap: 14px;
    }

    .home2-cta__addon-layout > .home2-duality__panel {
        padding-right: 54px;
    }

    .home2-cta__addon-layout > .home2-duality__panel h3 {
        font-size: 1.12rem;
    }

    .home2-cta__addon-layout > .home2-duality__panel p {
        font-size: 0.9rem;
    }

    .home2-cta__addon-board.home2-duality__board {
        max-width: 100%;
    }

    .home2-cta__diamond-rotor {
        width: min(100%, 320px);
    }

    .home2-cta__diamond-media {
        --cta-diamond-media-scale: 1.54;
    }
}

.home2-cta__funding-shell {
    padding-top: 0;
    margin-bottom: 46px;
}

.home2-cta__funding {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 28px clamp(28px, 4.6vw, 64px);
    margin-top: 40px;
    padding: 18px 0 56px;
}

.home2-cta__funding::before {
    content: "";
    position: absolute;
    inset: 14% auto 22% 0;
    width: min(42vw, 420px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(238, 49, 49, 0.2) 0%, rgba(238, 49, 49, 0.05) 44%, rgba(238, 49, 49, 0) 76%);
    filter: blur(24px);
    pointer-events: none;
}

.home2-cta__funding-copy {
    display: grid;
    align-content: center;
    gap: 16px;
    max-width: 640px;
    justify-self: end;
}

.home2-cta__funding-eyebrow {
    margin: 0;
    color: var(--home2-accent-soft);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home2-cta__funding-copy h3 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    line-height: 0.97;
    letter-spacing: -0.055em;
    color: #ffffff;
    text-wrap: balance;
}

.home2-cta__funding-copy p {
    max-width: 56ch;
    margin: 0;
    color: var(--home2-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.home2-cta__funding-link {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 14px 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
    transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.home2-cta__funding-link::after {
    content: "+";
    font-size: 1.4rem;
    line-height: 1;
    transition: transform 220ms ease;
}

.home2-cta__funding-link:hover::after,
.home2-cta__funding-link:focus-visible::after {
    transform: rotate(90deg);
}

.home2-cta__funding-link:hover,
.home2-cta__funding-link:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(238, 49, 49, 0.36);
    background: rgba(255, 255, 255, 0.07);
}

.home2-cta__funding-visual {
    position: relative;
    display: grid;
    align-items: center;
    justify-items: center;
    min-height: clamp(360px, 36vw, 520px);
    overflow: visible;
}

.home2-cta__funding-visual img {
    display: block;
    width: min(100%, 560px);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 28px 54px rgba(0, 0, 0, 0.26));
}

.home2-cta__tiles-shell {
    padding-top: 0;
}

.home2-cta__tiles {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: 22px;
    min-height: 392px;
    margin-top: 44px;
    padding: 18px 0 0;
    overflow: visible;
}

.home2-cta__tiles::before {
    content: none;
}

.home2-cta__tile {
    --cta-tile-grow: 0px;
    --cta-tile-pad-x: 30px;
    --cta-tile-pad-top: 30px;
    --cta-tile-pad-bottom: 34px;
    --cta-tile-pad-grow: 0px;
    --cta-tile-node-y: 0px;
    --cta-tile-node-scale: 1;
    --cta-tile-plus-rotation: 0deg;
    --cta-tile-plus-scale: 1;
    position: relative;
    display: grid;
    align-content: start;
    gap: 14px;
    align-self: end;
    height: auto;
    min-height: calc(238px + var(--cta-tile-grow));
    padding: var(--cta-tile-pad-top) var(--cta-tile-pad-x) calc(var(--cta-tile-pad-bottom) + var(--cta-tile-pad-grow));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(31, 31, 31, 0.98) 0%, rgba(17, 17, 17, 0.98) 100%);
    color: #f4f4f4;
    text-decoration: none;
    overflow: visible;
    transform-origin: center bottom;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
    will-change: transform;
    z-index: 1;
}

.home2-cta__tile::before {
    content: none;
}

.home2-cta__tile::after {
    content: "+";
    position: absolute;
    top: 22px;
    right: 24px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.9rem;
    line-height: 1;
    transform: rotate(var(--cta-tile-plus-rotation)) scale(var(--cta-tile-plus-scale));
}

.home2-cta__tile span {
    position: relative;
    z-index: 1;
    font-size: 0.82rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.56);
}

.home2-cta__tile strong {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 12ch;
    font-size: clamp(1.55rem, 1.95vw, 2.12rem);
    line-height: 1.02;
    color: #ffffff;
}

.home2-cta__tile p {
    position: relative;
    z-index: 1;
    max-width: 30ch;
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
    color: #c9c9c9;
}

.home2-cta__tile.is-cta-tile-active {
    z-index: 3;
}

.home2-cta__tile.is-cta-tile-dimmed {
    opacity: 0.82;
    filter: saturate(0.82);
}

.home2-cta__tile--contact {
    background:
        linear-gradient(180deg, rgba(33, 33, 33, 0.98) 0%, rgba(20, 20, 20, 0.98) 100%);
}

.home2-cta__tile--quote {
    background:
        linear-gradient(180deg, rgba(238, 49, 49, 0.98) 0%, rgba(199, 28, 28, 0.98) 100%);
    border-color: rgba(255, 255, 255, 0.14);
}

.home2-cta__tile--quote span {
    color: rgba(255, 255, 255, 0.92);
}

.home2-cta__tile--quote strong {
    color: #ffffff;
}

.home2-cta__tile--quote p,
.home2-cta__tile--quote::after {
    color: rgba(255, 255, 255, 0.92);
}

.home2-cta__tile--studio {
    background:
        linear-gradient(180deg, rgba(27, 27, 27, 0.98) 0%, rgba(12, 12, 12, 0.98) 100%);
}

@media (max-width: 1080px) {
    .home2-cta__funding {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-bottom: 40px;
    }

    .home2-cta__funding::before {
        inset: 2% 0 auto 50%;
        width: min(68vw, 420px);
        transform: translateX(-50%);
    }

    .home2-cta__funding-copy {
        max-width: none;
        justify-self: stretch;
        order: 2;
    }

    .home2-cta__funding-visual {
        min-height: clamp(280px, 46vw, 420px);
        order: 1;
    }

    .home2-cta__tiles {
        grid-template-columns: 1fr 1fr;
        min-height: 0;
        padding: 18px 0 0;
    }

    .home2-cta__tile--studio {
        grid-column: 1 / -1;
    }
}

@media (max-width: 860px) {
    .home2-cta__funding-shell {
        margin-bottom: 28px;
    }

    .home2-cta__funding {
        padding-bottom: 28px;
    }

    .home2-cta__funding-copy h3 {
        font-size: clamp(1.75rem, 6vw, 2.4rem);
    }

    .home2-cta__funding-copy p {
        font-size: 1rem;
    }

    .home2-cta__funding-link {
        width: 100%;
        justify-content: center;
    }

    .home2-cta__funding-visual {
        min-height: clamp(220px, 54vw, 320px);
    }

    .home2-cta__funding-visual img {
        width: min(100%, 420px);
    }

    .home2-cta__tiles {
        grid-template-columns: 1fr;
        padding: 18px 0 0;
    }

    .home2-cta__tiles::before {
        display: none;
    }

    .home2-cta__tile,
    .home2-cta__tile--studio {
        grid-column: auto;
        min-height: 0;
        height: auto;
    }

    .home2-cta__tile::before {
        top: 20px;
        left: auto;
        right: 60px;
        width: 18px;
        height: 18px;
        background:
            radial-gradient(circle,
                rgba(255, 255, 255, 0.96) 0 2px,
                rgba(238, 49, 49, 0.96) 2px 6px,
                rgba(255, 255, 255, 0.14) 6px 9px,
                transparent 10px);
    }

    .home2-cta__tile.is-cta-tile-dimmed {
        opacity: 1;
        filter: none;
    }
}

.home2-duality__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.82fr);
    gap: 26px;
    align-items: stretch;
}

.home2-duality__board {
    position: relative;
    min-height: 640px;
    padding: 18px;
    border: 1px solid rgba(255, 78, 78, 0.48);
    border-radius: 44px;
    overflow: hidden;
    background: var(--home2-duality-board-surface);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(255, 59, 48, 0.06) inset;
    transition: border-color 280ms ease, box-shadow 280ms ease;
}

.home2-duality__board::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 0;
    border-radius: inherit;
    padding: 2px;
    background:
        conic-gradient(
            from 0deg,
            rgba(255, 59, 48, 0) 0deg,
            rgba(255, 59, 48, 0) 290deg,
            rgba(255, 102, 102, 0.12) 312deg,
            rgba(255, 59, 48, 0.96) 334deg,
            rgba(255, 150, 150, 0.5) 348deg,
            rgba(255, 59, 48, 0) 360deg
        );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: home2DualityBorderOrbit 4.2s linear infinite;
    pointer-events: none;
}

.home2-duality__board-shell {
    position: relative;
    min-height: 602px;
    border-radius: 40px;
    overflow: hidden;
    background: var(--home2-duality-board-surface);
    z-index: 1;
}

.home2-duality__lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.home2-duality__lines path {
    fill: none;
    stroke: var(--home2-duality-accent-line);
    stroke-width: 2.2;
    stroke-linecap: round;
    opacity: 0.9;
}

.home2-duality__node {
    position: absolute;
    z-index: 2;
    overflow: hidden;
    border-radius: 30px;
    background: rgba(0, 0, 0, 0.24);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.24);
    transition: transform 280ms ease, box-shadow 280ms ease, border-radius 280ms ease;
}

.home2-duality__node img,
.home2-service-card__media img,
.home2-cta__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms ease, filter 280ms ease, opacity 280ms ease;
}

.home2-duality__node--left {
    left: 9%;
    top: 34%;
    width: min(19vw, 176px);
    min-width: 156px;
    aspect-ratio: 0.82;
}

.home2-duality__node--top {
    left: 42%;
    top: 12%;
    width: min(18vw, 168px);
    min-width: 150px;
    aspect-ratio: 0.92;
}

.home2-duality__node--top img {
    filter: grayscale(1) contrast(1.08) brightness(0.66);
}

.home2-duality__node--bottom {
    left: 42%;
    top: 57%;
    width: min(19vw, 180px);
    min-width: 160px;
    aspect-ratio: 0.82;
}

.home2-duality__node--bottom img {
    filter: saturate(0.76) brightness(0.84);
}

.home2-duality__node--main {
    right: 10%;
    top: 20%;
    width: min(30vw, 292px);
    min-width: 240px;
    aspect-ratio: 0.86;
    border-radius: 36px;
}

.home2-duality__tag {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid rgba(255, 94, 94, 0.28);
    border-radius: 999px;
    background: rgba(42, 17, 22, 0.92);
    color: var(--home2-text);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
    transition: transform 280ms ease, opacity 280ms ease, background 280ms ease, border-color 280ms ease;
}

.home2-duality__tag--one {
    right: 24%;
    top: 20%;
}

.home2-duality__tag--two {
    right: 26%;
    top: 29%;
}

.home2-duality__board-copy {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 32px;
    z-index: 3;
    display: grid;
    gap: 10px;
    max-width: 360px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 94, 94, 0.16);
    border-radius: 26px;
    background: rgba(24, 11, 15, 0.76);
    backdrop-filter: blur(12px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
    transition: transform 280ms ease, opacity 280ms ease, border-color 280ms ease;
}

.home2-duality__board-copy strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.2rem, 1.8vw, 1.58rem);
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.home2-duality__board-copy p {
    margin: 0;
    color: rgba(245, 239, 232, 0.78);
    line-height: 1.55;
}

.home2-duality__stack {
    display: grid;
    gap: 18px;
}

.home2-duality__panel,
.home2-service-card,
.home2-step,
.home2-cta__visual {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--home2-radius-xl);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.04);
}

.home2-duality__panel {
    position: relative;
    display: grid;
    gap: 14px;
    min-height: 180px;
    padding: 30px 30px 32px;
    border-radius: 36px;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
    cursor: pointer;
    transition: transform 240ms ease, border-color 240ms ease, background 240ms ease, box-shadow 240ms ease, color 240ms ease;
}

.home2-duality__panel::after {
    content: "+";
    position: absolute;
    top: 24px;
    right: 24px;
    color: rgba(245, 239, 232, 0.9);
    font-size: 2.1rem;
    line-height: 1;
    transition: transform 220ms ease, color 220ms ease;
}

.home2-duality__panel > span {
    color: var(--home2-accent-soft);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home2-duality__panel h3,
.home2-service-card__content h3,
.home2-step h3 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.7rem, 2.3vw, 2.5rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.home2-duality__panel h3 {
    max-width: 18ch;
}

.home2-duality__panel p {
    margin: 0;
    color: var(--home2-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.home2-duality__panel:hover,
.home2-duality__panel:focus-visible {
    transform: translateY(-6px);
    border-color: rgba(255, 87, 87, 0.4);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(255, 59, 48, 0.1) inset;
}

.home2-duality__panel:hover::after,
.home2-duality__panel:focus-visible::after {
    transform: rotate(90deg);
}

.home2-duality__panel[data-duality-active="true"] {
    background: linear-gradient(180deg, rgba(255, 91, 91, 0.2) 0%, rgba(255, 44, 44, 0.18) 100%);
    border-color: rgba(255, 88, 88, 0.58);
    box-shadow: 0 26px 58px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 59, 48, 0.18) inset;
    transform: translateY(-4px);
}

.home2-duality__panel[data-duality-active="true"]::after,
.home2-duality__panel[data-duality-active="true"] > span {
    color: var(--home2-duality-accent-soft);
}

.home2-duality[data-duality-state="software"] {
    --home2-duality-board-surface:
        linear-gradient(180deg, rgba(47, 26, 30, 0.94) 0%, rgba(33, 18, 22, 0.98) 100%);
}

.home2-duality[data-duality-state="web"] {
    --home2-duality-board-surface:
        linear-gradient(180deg, rgba(53, 21, 32, 0.94) 0%, rgba(36, 14, 25, 0.98) 100%);
}

.home2-duality[data-duality-state="delivery"] {
    --home2-duality-board-surface:
        linear-gradient(180deg, rgba(42, 18, 25, 0.94) 0%, rgba(28, 11, 17, 0.98) 100%);
}

.home2-duality__board.is-switching .home2-duality__node img,
.home2-duality__board.is-switching .home2-duality__tag,
.home2-duality__board.is-switching .home2-duality__board-copy {
    animation: home2DualitySwap 540ms ease;
}

.home2-duality__panel--list {
    min-height: 208px;
}

.home2-duality__mini-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
    color: var(--home2-text);
    line-height: 1.6;
}

@keyframes home2DualitySwap {
    0% {
        opacity: 0.32;
        transform: translateY(10px) scale(0.97);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes home2DualityBorderOrbit {
    to {
        transform: rotate(360deg);
    }
}

.home2-service-card__content {
    padding: 30px;
}

@media (max-width: 1180px) {
    .home2-duality__layout {
        grid-template-columns: 1fr;
    }

    .home2-duality__board {
        min-height: 560px;
    }

    .home2-duality__board-shell {
        min-height: 520px;
    }

    .home2-duality__stack {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home2-duality__panel h3 {
        max-width: none;
    }
}

@media (max-width: 860px) {
    .home2-duality__ribbon-pill {
        min-height: 78px;
        padding: 14px 24px 16px;
        border-radius: 24px;
    }

    .home2-duality__board {
        min-height: 500px;
        padding: 14px;
    }

    .home2-duality__board-shell {
        min-height: 468px;
    }

    .home2-duality__board-copy {
        left: 18px;
        right: 18px;
        bottom: 18px;
        max-width: none;
    }

    .home2-duality__stack {
        grid-template-columns: 1fr;
    }

    .home2-duality__node--left {
        left: 5%;
        top: 36%;
        min-width: 118px;
        width: 23vw;
    }

    .home2-duality__node--top,
    .home2-duality__node--bottom {
        left: 38%;
        min-width: 118px;
        width: 24vw;
    }

    .home2-duality__node--main {
        right: 4%;
        min-width: 176px;
        width: 34vw;
    }

    .home2-duality__tag--one {
        right: 16%;
        top: 18%;
    }

    .home2-duality__tag--two {
        right: 18%;
        top: 29%;
    }
}

@media (max-width: 640px) {
    .home2-duality__intro {
        margin-bottom: 32px;
    }

    .home2-duality__ribbon {
        gap: 10px;
        margin-bottom: 18px;
    }

    .home2-duality__ribbon-pill {
        min-height: 58px;
        padding: 10px 18px 12px;
        font-size: clamp(1.35rem, 8vw, 2rem);
    }

    .home2-duality__board {
        min-height: 430px;
    }

    .home2-duality__board-shell {
        min-height: 398px;
    }

    .home2-duality__board-copy {
        gap: 8px;
        padding: 16px 16px 18px;
        border-radius: 20px;
    }

    .home2-duality__node {
        border-radius: 22px;
    }

    .home2-duality__node--left {
        left: 4%;
        top: 34%;
        min-width: 92px;
    }

    .home2-duality__node--top {
        top: 12%;
        left: 36%;
        min-width: 92px;
    }

    .home2-duality__node--bottom {
        top: 58%;
        left: 36%;
        min-width: 92px;
    }

    .home2-duality__node--main {
        right: 4%;
        top: 22%;
        min-width: 142px;
        border-radius: 24px;
    }

    .home2-duality__tag {
        padding: 8px 10px;
        font-size: 0.62rem;
        letter-spacing: 0.06em;
    }

    .home2-duality__tag--one {
        right: 10%;
        top: 14%;
    }

    .home2-duality__tag--two {
        right: 11%;
        top: 27%;
    }

    .home2-duality__panel {
        min-height: 0;
        padding: 24px 22px 26px;
        border-radius: 24px;
    }
}

.home2-services__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 24px;
}

.home2-services {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    --service-left-shape: inset(0 0 0 0 round 0 56% 50% 0 / 0 44% 40% 0);
    --service-right-shape: inset(0 0 0 0 round 56% 0 0 50% / 22% 0 0 36%);
    --service-left-scale: 1.05;
    --service-right-scale: 1.08;
    --service-left-shift-x: -8px;
    --service-right-shift-x: 12px;
    --service-left-shift-y: -2px;
    --service-right-shift-y: 4px;
    --service-wave-fill: linear-gradient(180deg, rgba(13, 14, 17, 0.99) 0%, rgba(18, 20, 25, 0.97) 100%);
    --service-left-wave-1-top: 14%;
    --service-left-wave-1-x: -68px;
    --service-left-wave-1-width: 176px;
    --service-left-wave-1-height: 124px;
    --service-left-wave-2-top: 46%;
    --service-left-wave-2-x: -42px;
    --service-left-wave-2-width: 120px;
    --service-left-wave-2-height: 92px;
    --service-left-wave-3-top: 79%;
    --service-left-wave-3-x: -62px;
    --service-left-wave-3-width: 164px;
    --service-left-wave-3-height: 118px;
    --service-right-wave-1-top: 17%;
    --service-right-wave-1-x: -64px;
    --service-right-wave-1-width: 166px;
    --service-right-wave-1-height: 116px;
    --service-right-wave-2-top: 52%;
    --service-right-wave-2-x: -34px;
    --service-right-wave-2-width: 112px;
    --service-right-wave-2-height: 84px;
    --service-right-wave-3-top: 84%;
    --service-right-wave-3-x: -70px;
    --service-right-wave-3-width: 176px;
    --service-right-wave-3-height: 126px;
}

.home2-services[data-service-shape="commerce"],
.home2-services:has([data-service-shape="commerce"]:hover),
.home2-services:has([data-service-shape="commerce"]:focus),
.home2-services:has([data-service-shape="commerce"]:focus-visible) {
    --service-left-shape: inset(0 0 0 0 round 0 60% 54% 0 / 0 46% 42% 0);
    --service-right-shape: inset(0 0 0 0 round 60% 0 0 54% / 24% 0 0 40%);
    --service-left-scale: 1.08;
    --service-right-scale: 1.1;
    --service-left-shift-y: -6px;
    --service-right-shift-y: 5px;
}

.home2-services[data-service-shape="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:hover),
.home2-services:has([data-service-shape="logiciels"]:focus),
.home2-services:has([data-service-shape="logiciels"]:focus-visible) {
    --service-left-shape: inset(0 0 0 0 round 0 50% 46% 0 / 0 38% 34% 0);
    --service-right-shape: inset(0 0 0 0 round 52% 0 0 44% / 28% 0 0 30%);
    --service-left-scale: 1.09;
    --service-right-scale: 1.06;
    --service-left-shift-y: 6px;
    --service-right-shift-y: -6px;
}

.home2-services[data-service-shape="ads"],
.home2-services:has([data-service-shape="ads"]:hover),
.home2-services:has([data-service-shape="ads"]:focus),
.home2-services:has([data-service-shape="ads"]:focus-visible) {
    --service-left-shape: inset(0 0 0 0 round 0 58% 60% 0 / 0 40% 46% 0);
    --service-right-shape: inset(0 0 0 0 round 62% 0 0 58% / 18% 0 0 42%);
    --service-left-scale: 1.08;
    --service-right-scale: 1.09;
    --service-left-shift-y: -3px;
    --service-right-shift-y: 3px;
}

.home2-services[data-service-shape="mailing"],
.home2-services:has([data-service-shape="mailing"]:hover),
.home2-services:has([data-service-shape="mailing"]:focus),
.home2-services:has([data-service-shape="mailing"]:focus-visible) {
    --service-left-shape: inset(0 0 0 0 round 0 62% 48% 0 / 0 48% 36% 0);
    --service-right-shape: inset(0 0 0 0 round 58% 0 0 48% / 26% 0 0 34%);
    --service-left-scale: 1.06;
    --service-right-scale: 1.1;
    --service-left-shift-y: 7px;
    --service-right-shift-y: -6px;
}

.home2-services[data-service-shape="hosting"],
.home2-services:has([data-service-shape="hosting"]:hover),
.home2-services:has([data-service-shape="hosting"]:focus),
.home2-services:has([data-service-shape="hosting"]:focus-visible) {
    --service-left-shape: inset(0 0 0 0 round 0 52% 56% 0 / 0 34% 44% 0);
    --service-right-shape: inset(0 0 0 0 round 54% 0 0 52% / 20% 0 0 38%);
    --service-left-scale: 1.09;
    --service-right-scale: 1.07;
    --service-left-shift-y: -8px;
    --service-right-shift-y: 6px;
}

.home2-services .home2-shell {
    position: relative;
    z-index: 1;
}

.home2-services__layout {
    position: relative;
    display: grid;
    grid-template-columns: minmax(360px, 1.28fr) minmax(260px, 420px) minmax(360px, 1.28fr);
    gap: clamp(10px, 1.6vw, 26px);
    align-items: center;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.home2-services__visual {
    margin: 0;
    position: relative;
    min-width: 0;
    min-height: clamp(620px, 56vw, 780px);
    border: 0;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
    transition: clip-path 920ms cubic-bezier(0.18, 0.92, 0.24, 1), transform 980ms cubic-bezier(0.18, 0.92, 0.24, 1);
}

.home2-services__visual::before,
.home2-services__visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    transition: clip-path 920ms cubic-bezier(0.18, 0.92, 0.24, 1);
}

.home2-services__visual::before {
    background:
        linear-gradient(180deg, rgba(7, 8, 12, 0.02) 0%, rgba(7, 8, 12, 0.34) 100%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 45%);
    mix-blend-mode: screen;
}

.home2-services__visual::after {
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.home2-services__wave {
    display: none;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border-radius: 999px;
    background: var(--service-wave-fill);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.02);
    transition:
        top 760ms cubic-bezier(0.22, 1, 0.36, 1),
        left 760ms cubic-bezier(0.22, 1, 0.36, 1),
        right 760ms cubic-bezier(0.22, 1, 0.36, 1),
        width 760ms cubic-bezier(0.22, 1, 0.36, 1),
        height 760ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.home2-services__visual--left .home2-services__wave--one {
    top: var(--service-left-wave-1-top);
    left: var(--service-left-wave-1-x);
    width: var(--service-left-wave-1-width);
    height: var(--service-left-wave-1-height);
    transform: translate(-50%, -50%) rotate(-10deg);
}

.home2-services__visual--left .home2-services__wave--two {
    top: var(--service-left-wave-2-top);
    left: var(--service-left-wave-2-x);
    width: var(--service-left-wave-2-width);
    height: var(--service-left-wave-2-height);
    transform: translate(-50%, -50%) rotate(8deg);
}

.home2-services__visual--left .home2-services__wave--three {
    top: var(--service-left-wave-3-top);
    left: var(--service-left-wave-3-x);
    width: var(--service-left-wave-3-width);
    height: var(--service-left-wave-3-height);
    transform: translate(-50%, -50%) rotate(-8deg);
}

.home2-services__visual--right .home2-services__wave--one {
    top: var(--service-right-wave-1-top);
    right: var(--service-right-wave-1-x);
    width: var(--service-right-wave-1-width);
    height: var(--service-right-wave-1-height);
    transform: translate(50%, -50%) rotate(10deg);
}

.home2-services__visual--right .home2-services__wave--two {
    top: var(--service-right-wave-2-top);
    right: var(--service-right-wave-2-x);
    width: var(--service-right-wave-2-width);
    height: var(--service-right-wave-2-height);
    transform: translate(50%, -50%) rotate(-8deg);
}

.home2-services__visual--right .home2-services__wave--three {
    top: var(--service-right-wave-3-top);
    right: var(--service-right-wave-3-x);
    width: var(--service-right-wave-3-width);
    height: var(--service-right-wave-3-height);
    transform: translate(50%, -50%) rotate(8deg);
}

.home2-services__visual img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    transition: transform 980ms cubic-bezier(0.18, 0.92, 0.24, 1), filter 620ms ease, opacity 220ms ease, visibility 220ms ease;
    filter: saturate(0.92) contrast(1.04);
}

.home2-services__visual img[data-service-image="commerce"] {
    opacity: 1;
    visibility: visible;
}

.home2-services__visual .home2-services__video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    pointer-events: none;
    transition: transform 980ms cubic-bezier(0.18, 0.92, 0.24, 1), filter 620ms ease, opacity 220ms ease, visibility 220ms ease;
    filter: saturate(0.92) contrast(1.04);
}

.home2-services__visual--left {
    align-self: end;
    justify-self: stretch;
    min-height: clamp(680px, 60vw, 820px);
    border-radius: 0 56% 50% 0 / 0 44% 40% 0;
    clip-path: var(--service-left-shape);
}

.home2-services__visual--right {
    align-self: start;
    justify-self: stretch;
    min-height: clamp(640px, 56vw, 780px);
    margin-top: clamp(10px, 2vw, 30px);
    border-radius: 56% 0 0 50% / 22% 0 0 36%;
    clip-path: var(--service-right-shape);
}

.home2-services__visual--left::after {
    clip-path: var(--service-left-shape);
}

.home2-services__visual--right::after {
    clip-path: var(--service-right-shape);
}

.home2-services__visual--left::before {
    clip-path: var(--service-left-shape);
}

.home2-services__visual--right::before {
    clip-path: var(--service-right-shape);
}

.home2-services__visual--left .home2-services__video {
    transform-origin: left center;
    transform: scale(var(--service-left-scale)) translate3d(var(--service-left-shift-x), var(--service-left-shift-y), 0);
}

.home2-services__visual--right .home2-services__video {
    transform-origin: right center;
    transform: scale(var(--service-right-scale)) translate3d(var(--service-right-shift-x), var(--service-right-shift-y), 0);
}

.home2-services__visual--right img {
    transform-origin: right center;
    transform: scale(var(--service-right-scale)) translate3d(var(--service-right-shift-x), var(--service-right-shift-y), 0);
}

.home2-services:not([data-service-shape]) .home2-services__visual--left img[data-service-image="commerce"],
.home2-services[data-service-shape="commerce"] .home2-services__visual--left img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:hover) .home2-services__visual--left img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus) .home2-services__visual--left img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus-visible) .home2-services__visual--left img[data-service-image="commerce"],
.home2-services:not([data-service-shape]) .home2-services__visual--right img[data-service-image="commerce"],
.home2-services[data-service-shape="commerce"] .home2-services__visual--right img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:hover) .home2-services__visual--right img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus) .home2-services__visual--right img[data-service-image="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus-visible) .home2-services__visual--right img[data-service-image="commerce"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services:not([data-service-shape]) .home2-services__visual .home2-services__video[data-service-video="commerce"],
.home2-services[data-service-shape="commerce"] .home2-services__visual .home2-services__video[data-service-video="commerce"],
.home2-services:has([data-service-shape="commerce"]:hover) .home2-services__visual .home2-services__video[data-service-video="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus) .home2-services__visual .home2-services__video[data-service-video="commerce"],
.home2-services:has([data-service-shape="commerce"]:focus-visible) .home2-services__visual .home2-services__video[data-service-video="commerce"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="logiciels"] .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="logiciels"]:hover) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="logiciels"]:focus) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="logiciels"]:focus-visible) .home2-services__visual img[data-service-image="commerce"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="logiciels"] .home2-services__visual img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:hover) .home2-services__visual img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus) .home2-services__visual img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus-visible) .home2-services__visual img[data-service-image="logiciels"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="logiciels"] .home2-services__visual--right img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:hover) .home2-services__visual--right img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus) .home2-services__visual--right img[data-service-image="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus-visible) .home2-services__visual--right img[data-service-image="logiciels"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="logiciels"] .home2-services__visual--right .home2-services__video[data-service-video="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:hover) .home2-services__visual--right .home2-services__video[data-service-video="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus) .home2-services__visual--right .home2-services__video[data-service-video="logiciels"],
.home2-services:has([data-service-shape="logiciels"]:focus-visible) .home2-services__visual--right .home2-services__video[data-service-video="logiciels"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="ads"] .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="ads"]:hover) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="ads"]:focus) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="ads"]:focus-visible) .home2-services__visual img[data-service-image="commerce"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="ads"] .home2-services__visual img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:hover) .home2-services__visual img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus) .home2-services__visual img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus-visible) .home2-services__visual img[data-service-image="ads"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="ads"] .home2-services__visual--left img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:hover) .home2-services__visual--left img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus) .home2-services__visual--left img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus-visible) .home2-services__visual--left img[data-service-image="ads"],
.home2-services[data-service-shape="ads"] .home2-services__visual--right img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:hover) .home2-services__visual--right img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus) .home2-services__visual--right img[data-service-image="ads"],
.home2-services:has([data-service-shape="ads"]:focus-visible) .home2-services__visual--right img[data-service-image="ads"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="ads"] .home2-services__visual .home2-services__video[data-service-video="ads"],
.home2-services:has([data-service-shape="ads"]:hover) .home2-services__visual .home2-services__video[data-service-video="ads"],
.home2-services:has([data-service-shape="ads"]:focus) .home2-services__visual .home2-services__video[data-service-video="ads"],
.home2-services:has([data-service-shape="ads"]:focus-visible) .home2-services__visual .home2-services__video[data-service-video="ads"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="mailing"] .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="mailing"]:hover) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="mailing"]:focus) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="mailing"]:focus-visible) .home2-services__visual img[data-service-image="commerce"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="mailing"] .home2-services__visual img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:hover) .home2-services__visual img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus) .home2-services__visual img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus-visible) .home2-services__visual img[data-service-image="mailing"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="mailing"] .home2-services__visual--left img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:hover) .home2-services__visual--left img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus) .home2-services__visual--left img[data-service-image="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus-visible) .home2-services__visual--left img[data-service-image="mailing"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="mailing"] .home2-services__visual--left .home2-services__video[data-service-video="mailing"],
.home2-services:has([data-service-shape="mailing"]:hover) .home2-services__visual--left .home2-services__video[data-service-video="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus) .home2-services__visual--left .home2-services__video[data-service-video="mailing"],
.home2-services:has([data-service-shape="mailing"]:focus-visible) .home2-services__visual--left .home2-services__video[data-service-video="mailing"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="hosting"] .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="hosting"]:hover) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="hosting"]:focus) .home2-services__visual img[data-service-image="commerce"],
.home2-services:has([data-service-shape="hosting"]:focus-visible) .home2-services__visual img[data-service-image="commerce"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="hosting"] .home2-services__visual img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:hover) .home2-services__visual img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus) .home2-services__visual img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus-visible) .home2-services__visual img[data-service-image="hosting"] {
    opacity: 1;
    visibility: visible;
}

.home2-services[data-service-shape="hosting"] .home2-services__visual--left img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:hover) .home2-services__visual--left img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus) .home2-services__visual--left img[data-service-image="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus-visible) .home2-services__visual--left img[data-service-image="hosting"] {
    opacity: 0;
    visibility: hidden;
}

.home2-services[data-service-shape="hosting"] .home2-services__visual--left .home2-services__video[data-service-video="hosting"],
.home2-services:has([data-service-shape="hosting"]:hover) .home2-services__visual--left .home2-services__video[data-service-video="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus) .home2-services__visual--left .home2-services__video[data-service-video="hosting"],
.home2-services:has([data-service-shape="hosting"]:focus-visible) .home2-services__visual--left .home2-services__video[data-service-video="hosting"] {
    opacity: 1;
    visibility: visible;
}

.home2-services__visual--left::before {
    background:
        linear-gradient(180deg, rgba(7, 8, 12, 0.04) 0%, rgba(7, 8, 12, 0.42) 100%),
        linear-gradient(135deg, rgba(255, 32, 32, 0.18), rgba(255, 255, 255, 0) 52%);
}

.home2-services__visual--right::before {
    background:
        linear-gradient(180deg, rgba(7, 8, 12, 0.06) 0%, rgba(7, 8, 12, 0.44) 100%),
        linear-gradient(225deg, rgba(255, 102, 92, 0.2), rgba(255, 255, 255, 0) 54%);
}

.home2-services__center {
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: 18px;
    text-align: center;
    padding: 0;
}

.home2-services__eyebrow {
    margin: 0;
    color: var(--home2-accent-soft);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.home2-services__list {
    display: grid;
    justify-items: center;
    gap: 22px;
    width: min(100%, 430px);
    margin: 0;
    padding: 0;
    list-style: none;
}

.home2-services__list li {
    justify-self: center;
    width: fit-content;
    position: relative;
    padding: 0 34px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--home2-text);
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2.16rem, 4.2vw, 4rem);
    font-weight: 300;
    letter-spacing: -0.05em;
    line-height: 0.9;
    text-align: center;
    cursor: pointer;
    transition: transform 180ms ease, color 180ms ease;
}

.home2-services__list li::before,
.home2-services__list li::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    opacity: 0.5;
    pointer-events: none;
    background:
        linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
        linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
    transition: transform 180ms ease, opacity 180ms ease;
}

.home2-services__list li::before {
    left: 6px;
    transform: translateY(-50%) rotate(45deg);
}

.home2-services__list li::after {
    right: 6px;
    transform: translateY(-50%) rotate(45deg);
}

.home2-services__list li:hover,
.home2-services__list li:focus-visible {
    transform: translateY(-2px);
    color: var(--home2-accent-soft);
}

.home2-services__list li:hover::before,
.home2-services__list li:hover::after,
.home2-services__list li:focus-visible::before,
.home2-services__list li:focus-visible::after {
    opacity: 0.9;
    transform: translateY(-50%) rotate(45deg) scale(1.08);
}

.home2-service-card {
    min-height: 320px;
}

.home2-service-card--tall {
    grid-row: span 2;
}

.home2-service-card--wide {
    grid-column: 2;
}

.home2-service-card__media {
    height: 220px;
}

.home2-service-card--tall .home2-service-card__media {
    height: 420px;
}

.home2-service-card--wide .home2-service-card__media {
    height: 240px;
}

.home2-method {
    background:
        linear-gradient(180deg, rgba(233, 223, 209, 0.96) 0%, rgba(245, 238, 229, 0.98) 100%);
    color: var(--home2-dark-text);
}

.home2-method .home2-section-head__label,
.home2-method .home2-method__intro p,
.home2-method .home2-step > span,
.home2-method .home2-step p {
    color: rgba(25, 23, 20, 0.72);
}

.home2-method__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 34px;
    align-items: start;
}

.home2-method__aside {
    display: grid;
    gap: 20px;
    min-width: 0;
}

.home2-method__cube-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(300px, 360px);
    gap: 28px;
    align-items: center;
    min-height: 500px;
    padding: 38px 40px 40px;
    overflow: hidden;
    border: 1px solid rgba(25, 23, 20, 0.09);
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(238, 49, 49, 0.18) 0%, rgba(238, 49, 49, 0) 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.76) 0%, rgba(245, 236, 227, 0.88) 100%);
    box-shadow: 0 28px 70px rgba(27, 23, 19, 0.08);
    transform-style: preserve-3d;
}

.home2-method__cube-card::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 26px;
    pointer-events: none;
}

.home2-method__cube-copy {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    max-width: 24rem;
}

.home2-method__cube-copy span {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(25, 23, 20, 0.56);
}

.home2-method__cube-copy p {
    margin: 0;
    color: rgba(25, 23, 20, 0.82);
    font-size: 1.02rem;
    line-height: 1.72;
}

.home2-method__cube-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.home2-method__cube-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform 180ms ease, opacity 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.home2-method__cube-button:hover,
.home2-method__cube-button:focus-visible {
    transform: translateY(-2px);
}

.home2-method__cube-button--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #ff4343 0%, #cf1111 100%);
    box-shadow: 0 18px 40px rgba(208, 17, 17, 0.18);
}

.home2-method__cube-button--secondary {
    color: var(--home2-dark-text);
    border: 1px solid rgba(25, 23, 20, 0.14);
    background: rgba(255, 255, 255, 0.56);
}

.home2-method__cube-button[disabled] {
    opacity: 0.42;
    cursor: progress;
    transform: none;
    box-shadow: none;
}

.home2-method__cube-status {
    min-height: 1.6em;
    color: rgba(25, 23, 20, 0.58);
    font-size: 0.92rem;
    line-height: 1.4;
}

.home2-method__cube-help {
    color: rgba(25, 23, 20, 0.6);
    font-size: 0.86rem;
    line-height: 1.45;
}

.home2-rubik {
    --rubik-size: clamp(240px, 27vw, 332px);
    --rubik-cubie-size: calc(var(--rubik-size) * 0.222);
    --rubik-cubie-half: calc(var(--rubik-cubie-size) / 2);
    --rubik-gap: clamp(10px, 1vw, 14px);
    --rubik-step: calc(var(--rubik-cubie-size) + var(--rubik-gap));
    position: relative;
    display: grid;
    place-items: center;
    justify-self: center;
    min-height: 360px;
    perspective: 1800px;
    transform-style: preserve-3d;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
    overscroll-behavior: contain;
}

.home2-rubik__glow,
.home2-rubik__shadow {
    position: absolute;
    pointer-events: none;
    will-change: transform, opacity;
}

.home2-rubik__glow {
    top: 50%;
    left: 50%;
    width: calc(var(--rubik-size) * 1.18);
    height: calc(var(--rubik-size) * 1.18);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(238, 49, 49, 0.22) 0%, rgba(238, 49, 49, 0.06) 48%, transparent 72%);
    filter: blur(18px);
    transform: translate(-50%, -50%);
    animation: home2RubikGlow 7.2s ease-in-out infinite;
}

.home2-rubik__shadow {
    left: 50%;
    width: calc(var(--rubik-size) * 0.88);
    height: calc(var(--rubik-size) * 0.18);
    bottom: 18px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(28, 17, 16, 0.28) 0%, rgba(28, 17, 16, 0.08) 56%, transparent 78%);
    filter: blur(11px);
    transform: translateX(-50%);
    animation: home2RubikShadow 7.2s ease-in-out infinite;
}

.home2-rubik__drift {
    position: relative;
    display: grid;
    place-items: center;
    width: var(--rubik-size);
    height: var(--rubik-size);
    transform-style: preserve-3d;
    transform: rotateX(-28deg) rotateY(28deg) rotateZ(-10deg);
    will-change: transform;
}

.home2-rubik__cube {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    will-change: transform;
}

.home2-rubik.is-view-ready {
    cursor: grab;
}

.home2-rubik.is-view-dragging {
    cursor: grabbing;
}

.home2-rubik.is-face-armed .home2-rubik__cubie-face.is-sticker {
    cursor: pointer;
}

.home2-rubik__cubie-face.is-armed::after {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        inset 0 -8px 10px rgba(0, 0, 0, 0.14),
        0 0 0 2px rgba(255, 255, 255, 0.92),
        0 3px 8px rgba(0, 0, 0, 0.14);
}

.home2-rubik__cubie.is-selected {
    z-index: 2;
}

.home2-rubik__cubie.is-selected .home2-rubik__cubie-face {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 0 -8px 12px rgba(0, 0, 0, 0.28),
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 14px 28px rgba(0, 0, 0, 0.22);
}

.home2-rubik__cubie.is-selected .home2-rubik__cubie-face::after {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        inset 0 -8px 10px rgba(0, 0, 0, 0.12),
        0 0 0 2px rgba(255, 255, 255, 0.88),
        0 0 22px rgba(255, 255, 255, 0.2),
        0 3px 8px rgba(0, 0, 0, 0.14);
}

.home2-rubik__cubie {
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--rubik-cubie-size);
    height: var(--rubik-cubie-size);
    transform-style: preserve-3d;
    will-change: transform;
}

.home2-rubik__layer {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    pointer-events: none;
    will-change: transform;
}

.home2-rubik__cubie-face {
    --rubik-sticker-fill: linear-gradient(180deg, #ff6f6f 0%, #d22e2e 100%);
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(23, 17, 17, 0.98) 0%, rgba(10, 8, 8, 1) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -8px 12px rgba(0, 0, 0, 0.28),
        0 8px 18px rgba(0, 0, 0, 0.16);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.home2-rubik__cubie-face::after {
    content: "";
    position: absolute;
    inset: 13%;
    border-radius: 5px;
    background: var(--rubik-sticker-fill);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        inset 0 -8px 10px rgba(0, 0, 0, 0.12),
        0 3px 8px rgba(0, 0, 0, 0.14);
    opacity: 0;
}

.home2-rubik__cubie-face.is-sticker::after {
    opacity: 1;
}

.home2-rubik__cubie-face--front {
    --rubik-sticker-fill: linear-gradient(180deg, #ff6f6f 0%, #d22e2e 100%);
    transform: translateZ(var(--rubik-cubie-half));
}

.home2-rubik__cubie-face--back {
    --rubik-sticker-fill: linear-gradient(180deg, #ef8a49 0%, #c95219 100%);
    transform: rotateY(180deg) translateZ(var(--rubik-cubie-half));
}

.home2-rubik__cubie-face--right {
    --rubik-sticker-fill: linear-gradient(180deg, #ffd47f 0%, #dc9d26 100%);
    transform: rotateY(90deg) translateZ(var(--rubik-cubie-half));
}

.home2-rubik__cubie-face--left {
    --rubik-sticker-fill: linear-gradient(180deg, #f1f0ea 0%, #d5ccb8 100%);
    transform: rotateY(-90deg) translateZ(var(--rubik-cubie-half));
}

.home2-rubik__cubie-face--top {
    --rubik-sticker-fill: linear-gradient(180deg, #9db69c 0%, #647f63 100%);
    transform: rotateX(90deg) translateZ(var(--rubik-cubie-half));
}

.home2-rubik__cubie-face--bottom {
    --rubik-sticker-fill: linear-gradient(180deg, #8cb6db 0%, #4e7ca8 100%);
    transform: rotateX(-90deg) translateZ(var(--rubik-cubie-half));
}

.home2-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.home2-step {
    min-height: 210px;
    padding: 28px;
    background: rgba(255, 255, 255, 0.54);
    border-color: rgba(25, 23, 20, 0.08);
}

@keyframes home2RubikSpin {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

@keyframes home2RubikDrift {
    0%,
    100% {
        transform: rotateX(-28deg) rotateZ(-10deg) translateY(0);
    }

    35% {
        transform: rotateX(-23deg) rotateZ(-4deg) translateY(-8px);
    }

    65% {
        transform: rotateX(-31deg) rotateZ(-14deg) translateY(4px);
    }
}

@keyframes home2RubikGlow {
    0%,
    100% {
        opacity: 0.74;
        transform: translate(-50%, -50%) scale(0.94);
    }

    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.06);
    }
}

@keyframes home2RubikShadow {
    0%,
    100% {
        opacity: 0.48;
        transform: translateX(-50%) scaleX(0.92);
    }

    50% {
        opacity: 0.68;
        transform: translateX(-50%) scaleX(1.04);
    }
}

.home2-cta__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(340px, 0.85fr);
    gap: 28px;
    align-items: center;
}

.home2-cta__visual {
    min-height: 520px;
}

.home2-footer {
    position: relative;
    margin-top: 0;
    padding: 0 0 34px;
    background:
        linear-gradient(180deg, rgba(12, 13, 17, 0.74) 0%, rgba(9, 10, 13, 0.9) 18%, rgba(7, 8, 11, 0.97) 100%),
        radial-gradient(circle at 18% -10%, rgba(238, 49, 49, 0.08) 0%, rgba(238, 49, 49, 0.02) 24%, rgba(238, 49, 49, 0) 42%),
        radial-gradient(circle at 82% 0%, rgba(255, 140, 112, 0.05) 0%, rgba(255, 140, 112, 0) 26%);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.02),
        0 -24px 60px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.home2-footer__band {
    position: absolute;
    inset: 0 0 auto;
    height: 40px;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.03) 1px, rgba(255, 255, 255, 0) 1px),
        radial-gradient(64% 100% at 50% 0%, rgba(238, 49, 49, 0.1) 0%, rgba(238, 49, 49, 0.02) 28%, rgba(238, 49, 49, 0) 100%);
    opacity: 0.34;
}

.home2-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(180px, 0.7fr) minmax(220px, 0.9fr);
    gap: 36px;
    align-items: start;
    padding-top: 54px;
    padding-bottom: 28px;
}

.home2-footer__brand-block {
    max-width: 44ch;
}

.home2-brand--footer {
    display: inline-flex;
    margin-bottom: 20px;
}

.home2-brand--footer .home2-brand__logo {
    height: 38px;
}

.home2-footer__lead {
    margin: 0;
}

.home2-footer__nav,
.home2-footer__infos {
    display: grid;
    align-content: start;
    gap: 12px;
}

.home2-footer__label {
    color: var(--home2-accent-soft);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home2-footer__nav a,
.home2-footer__infos a,
.home2-footer__infos p,
.home2-footer__bottom span {
    margin: 0;
    color: var(--home2-muted);
}

.home2-footer__nav a,
.home2-footer__infos a {
    transition: color 180ms ease, transform 180ms ease;
}

.home2-footer__nav a:hover,
.home2-footer__nav a:focus-visible,
.home2-footer__infos a:hover,
.home2-footer__infos a:focus-visible {
    color: var(--home2-text);
    transform: translateX(2px);
    outline: none;
}

.home2-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 1080px) {
    .home2-hero__grid,
    .home2-logo-lab__grid,
    .home2-method__grid,
    .home2-cta__grid,
    .home2-services__layout,
    .home2-services__grid,
    .home2-footer__inner {
        grid-template-columns: 1fr;
    }

    .home2-services__layout {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .home2-hero__visual {
        justify-self: center;
        width: min(100%, 680px);
        max-width: 100%;
        min-height: 660px;
        pointer-events: auto;
        transform: none;
    }

    .home2-hero__visual::before {
        inset: 34px 24px 84px 16px;
    }

    .home2-hero-surface {
        inset: 18px 16px 104px 0;
    }

    .home2-hero-callout {
        top: 64px;
        width: min(252px, calc(100% - 248px));
    }

    .home2-product__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home2-product__grid {
        grid-template-columns: 1fr;
    }

    .home2-product__body {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .home2-product__content {
        padding: 16px;
    }

    .home2-service-card--tall,
    .home2-service-card--wide {
        grid-row: auto;
        grid-column: auto;
    }

    .home2-footer__inner {
        gap: 28px;
        padding-top: 46px;
    }

    .home2-footer__brand-block {
        max-width: none;
    }

    .home2-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .home2-method__cube-card {
        grid-template-columns: 1fr;
        justify-items: stretch;
        min-height: 0;
        padding: 30px 30px 34px;
    }

    .home2-rubik {
        width: 100%;
        justify-self: center;
    }

    .home2-logo-lab__stage,
    .home2-logo3d {
        min-height: 320px;
    }

    .home2-logo-lab__copy {
        max-width: none;
    }

    .home2-services__visual {
        min-height: 420px;
    }

    .home2-services__visual--left,
    .home2-services__visual--right {
        align-self: stretch;
        margin-top: 0;
    }

    .home2-services__center {
        padding: 0;
    }

    .home2-service-panel__pane {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 861px) and (max-height: 920px) {
    .home2-service-panel {
        top: calc(100% + 22px);
        width: min(1140px, calc(100vw - 40px));
        max-height: calc(100vh - 108px);
        padding-bottom: 18px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    .home2-service-panel__head {
        position: sticky;
        top: 0;
        z-index: 4;
        background: linear-gradient(180deg, rgba(19, 15, 18, 0.98) 0%, rgba(19, 15, 18, 0.96) 76%, rgba(19, 15, 18, 0) 100%);
    }

    .home2-service-panel__tab {
        min-height: 96px;
        gap: 10px;
        padding: 16px 20px 18px;
    }

    .home2-service-panel__tab::after {
        top: 14px;
        right: 16px;
        font-size: 1.34rem;
    }

    .home2-service-panel__tab strong {
        font-size: clamp(1.12rem, 1.2vw, 1.46rem);
    }

    .home2-service-panel__panes {
        padding: 14px 14px 0 0;
    }

    .home2-service-panel__pane {
        grid-template-columns: minmax(0, 1fr) minmax(250px, 0.68fr);
        gap: 20px;
        align-items: start;
    }

    .home2-service-panel__pane-copy {
        gap: 0;
    }

    .home2-service-panel__links {
        padding-left: 0;
    }

    .home2-service-panel__link {
        min-height: 92px;
        padding: 18px 16px;
    }

    .home2-service-panel__link::before {
        left: 0;
        top: 16px;
        bottom: 16px;
    }

    .home2-service-panel__link strong {
        font-size: clamp(1.02rem, 1.15vw, 1.24rem);
    }

    .home2-service-panel__link-desc {
        font-size: 0.82rem;
        line-height: 1.45;
    }

    .home2-service-panel__preview {
        align-self: start;
        gap: 14px;
    }

    .home2-service-panel__preview-shell {
        width: min(100%, clamp(220px, 31vh, 300px));
    }

    .home2-service-panel__preview-copy {
        width: min(100%, 280px);
        gap: 8px;
    }

    .home2-service-panel__preview-copy strong {
        font-size: clamp(1.08rem, 1.1vw, 1.34rem);
    }

    .home2-service-panel__preview-copy p {
        font-size: 0.88rem;
        line-height: 1.5;
    }
}

@media (min-width: 861px) and (max-height: 760px) {
    .home2-service-panel {
        top: calc(100% + 16px);
        max-height: calc(100vh - 92px);
        padding-bottom: 16px;
    }

    .home2-service-panel__tab {
        min-height: 82px;
        gap: 8px;
        padding: 14px 16px 16px;
    }

    .home2-service-panel__tab span {
        font-size: 0.68rem;
        letter-spacing: 0.14em;
    }

    .home2-service-panel__tab strong {
        max-width: none;
        font-size: clamp(1rem, 1.05vw, 1.28rem);
    }

    .home2-service-panel__pane {
        grid-template-columns: minmax(0, 1fr) minmax(190px, 0.54fr);
        gap: 16px;
    }

    .home2-service-panel__link {
        min-height: 84px;
        padding: 14px;
    }

    .home2-service-panel__link-share {
        width: 16px;
        height: 16px;
    }

    .home2-service-panel__link strong {
        font-size: 0.94rem;
    }

    .home2-service-panel__link-desc {
        font-size: 0.78rem;
        line-height: 1.36;
    }

    .home2-service-panel__preview-shell {
        width: min(100%, clamp(170px, 24vh, 230px));
    }

    .home2-service-panel__preview-surface {
        border-radius: 28px;
    }

    .home2-service-panel__preview-surface::before {
        inset: 12px;
        border-radius: 18px;
    }

    .home2-service-panel__preview-copy {
        width: min(100%, 240px);
    }
}

@media (max-width: 860px) {
    body.home2-page {
        --home2-header-offset: 84px;
    }

    .home2-header {
        padding-top: 0;
    }

    .home2-header .home2-shell {
        width: 100%;
    }

    .home2-menu-toggle {
        display: inline-flex;
    }

    .home2-menu {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        display: none;
        grid-template-columns: 1fr;
        align-content: start;
        gap: 14px;
        padding: 18px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 24px;
        background: rgba(13, 14, 17, 0.96);
        box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
        max-height: calc(100vh - 92px);
        max-height: calc(100dvh - 92px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .home2-menu.is-open {
        display: grid;
    }

    .home2-nav {
        position: relative;
        grid-template-columns: minmax(0, 1fr) auto;
        left: 0;
        width: 100%;
        gap: 14px;
        padding: 12px 12px 12px 10px;
        border-radius: 0 0 20px 20px;
    }

    .home2-brand__logo {
        width: min(220px, 52vw);
    }

    .home2-loader__diamond {
        width: min(136px, 40vw);
        border-radius: 24px;
    }

    .home2-loader__diamond::before {
        inset: 12px;
        border-radius: 22px;
    }

    .home2-menu__links {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .home2-service-nav {
        width: 100%;
        display: grid;
    }

    .home2-service-nav__trigger {
        width: 100%;
        justify-content: space-between;
        padding: 0;
    }

    .home2-service-panel {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        margin-top: 12px;
        padding: 0 0 12px;
        border-radius: 20px;
        opacity: 1;
        visibility: hidden;
        transform: none;
        pointer-events: none;
        display: none;
    }

    .home2-service-nav.is-open .home2-service-panel {
        display: grid;
        visibility: visible;
        pointer-events: auto;
    }

    .home2-service-panel__head {
        gap: 12px;
    }

    .home2-service-panel__tabs {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 6px;
        border-radius: 20px;
    }

    .home2-service-panel__tab {
        min-height: 0;
        gap: 6px;
        padding: 12px 40px 12px 14px;
    }

    .home2-service-panel__tab::after {
        top: 12px;
        right: 14px;
        font-size: 1.18rem;
    }

    .home2-service-panel__tab span {
        font-size: 0.68rem;
        letter-spacing: 0.12em;
    }

    .home2-service-panel__tab strong {
        font-size: 1rem;
        line-height: 1.08;
        white-space: normal;
    }

    .home2-service-panel__pane {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home2-service-panel__links {
        padding-left: 0;
    }

    .home2-service-panel__link {
        min-height: 72px;
        gap: 12px;
        padding: 12px;
        opacity: 1;
    }

    .home2-service-panel__link::before {
        left: 0;
        width: 2px;
        top: 10px;
        bottom: 10px;
    }

    .home2-service-panel__link-body {
        gap: 4px;
    }

    .home2-service-panel__link strong {
        font-size: 0.95rem;
        line-height: 1.12;
    }

    .home2-service-panel__link-desc {
        font-size: 0.78rem;
        line-height: 1.35;
    }

    .home2-service-panel__preview {
        display: none;
    }

    .home2-service-panel__link:hover,
    .home2-service-panel__link:focus-visible,
    .home2-service-panel__link.is-active {
        transform: none;
    }

    .home2-service-panel__preview-shell {
        width: min(100%, 300px);
    }

    .home2-nav__cta {
        justify-self: stretch;
        min-height: 40px;
        padding: 0 16px;
        font-size: 0.92rem;
    }

    .home2-hero {
        padding-top: 28px;
    }

    .home2-hero__visual {
        min-height: 500px;
    }

    .home2-hero-surface {
        inset: 0 30px 90px 0;
    }

    .home2-hero-callout {
        width: 230px;
        top: 34px;
        height: 224px;
    }

    .home2-hero-shell__chrome {
        min-height: 34px;
    }

    .home2-hero-shell__body {
        padding: 10px 10px 14px;
    }

    .home2-hero-shell__title {
        font-size: var(--home2-hero-shell-text-size);
    }

    .home2-hero-shell__tab {
        max-width: 120px;
        height: 30px;
        padding: 0 10px 0 8px;
    }

    .home2-hero-shell__badge {
        min-width: 15px;
        height: 14px;
        font-size: 0.4rem;
    }

    .home2-hero-shell__chrome-tools span {
        width: 20px;
        height: 20px;
    }

    .home2-hero-shell__actions span {
        width: 30px;
        height: 34px;
    }

    .home2-hero-shell {
        --home2-hero-shell-text-size: 11px;
    }

    .home2-logo-lab {
        padding: 90px 0 64px;
    }

    .home2-logo-lab__stage,
    .home2-logo3d {
        min-height: 280px;
    }

    .home2-logo3d__viewport {
        width: min(100%, 320px);
    }

    .home2-logo-lab__copy {
        order: 2;
    }

    .home2-services__layout {
        gap: 18px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .home2-services__visual {
        min-height: 280px;
        clip-path: none;
        border-radius: var(--home2-radius-xl);
    }

    .home2-services__visual::before,
    .home2-services__visual::after {
        clip-path: none;
    }

    .home2-services__wave {
        display: none;
    }

    .home2-services__list {
        width: 100%;
    }

    .home2-method__cube-card {
        min-height: 0;
        padding: 24px;
    }

    .home2-steps {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    :root {
        --home2-shell: min(100vw - 24px, 1000px);
    }

    .home2-menu {
        gap: 8px;
        padding: 12px;
        max-height: calc(100vh - 80px);
        max-height: calc(100dvh - 80px);
    }

    .home2-menu__links {
        gap: 8px;
    }

    .home2-service-panel {
        margin-top: 10px;
        padding-bottom: 10px;
    }

    .home2-service-panel__tabs {
        gap: 4px;
        padding: 4px;
    }

    .home2-service-panel__tab {
        gap: 4px;
        padding: 11px 36px 11px 12px;
    }

    .home2-service-panel__tab::after {
        top: 11px;
        right: 12px;
        font-size: 1.08rem;
    }

    .home2-service-panel__tab span {
        font-size: 0.62rem;
    }

    .home2-service-panel__tab strong {
        font-size: 0.92rem;
    }

    .home2-service-panel__pane {
        gap: 8px;
    }

    .home2-service-panel__link {
        min-height: 0;
        padding: 11px 10px;
    }

    .home2-service-panel__link strong {
        font-size: 0.9rem;
    }

    .home2-service-panel__link-desc,
    .home2-service-panel__link-share {
        display: none;
    }

    .home2-hero h1,
    .home2-section-head h2,
    .home2-method__intro h2,
    .home2-cta__copy h2 {
        font-size: clamp(2.4rem, 12vw, 3.6rem);
    }

    .home2-method__intro h2 {
        font-size: clamp(2.2rem, 9vw, 3.1rem);
    }

    .home2-hero__visual {
        min-height: 520px;
    }

    .home2-hero__visual::before,
    .home2-hero__visual::after {
        display: none;
    }

    .home2-hero-surface {
        inset: 0 0 96px 0;
    }

    .home2-hero-callout {
        right: 12px;
        left: 12px;
        top: auto;
        bottom: 12px;
        width: auto;
        height: 212px;
    }

    .home2-hero-shell__chrome {
        min-height: 34px;
    }

    .home2-hero-shell__body {
        padding: 10px 10px 14px;
    }

    .home2-hero-shell__title {
        font-size: var(--home2-hero-shell-text-size);
    }

    .home2-hero-shell__tab {
        max-width: 124px;
        height: 30px;
        padding: 0 10px 0 8px;
    }

    .home2-hero-shell__badge {
        min-width: 15px;
        height: 14px;
        font-size: 0.4rem;
    }

    .home2-hero-shell__chrome-tools span {
        width: 20px;
        height: 20px;
    }

    .home2-hero-shell__actions span {
        width: 30px;
    }

    .home2-hero-shell {
        --home2-hero-shell-text-size: 11px;
    }

    .home2-product__topbar {
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        padding: 12px;
    }

    .home2-product__search {
        font-size: 0.72rem;
        padding: 8px 12px;
    }

    .home2-product__avatar {
        width: 28px;
        height: 28px;
        font-size: 0.7rem;
    }

    .home2-product__body {
        grid-template-columns: 1fr;
    }

    .home2-product__sidebar {
        display: none;
    }

    .home2-product__content {
        gap: 12px;
        padding: 12px;
    }

    .home2-product__header {
        align-items: start;
        flex-direction: column;
        gap: 6px;
    }

    .home2-product__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .home2-product__stat {
        padding: 10px;
    }

    .home2-product__stat strong {
        font-size: 1.08rem;
    }

    .home2-product__grid {
        grid-template-columns: 1fr;
    }

    .home2-product__panel {
        padding: 12px;
        border-radius: 18px;
    }

    .home2-product__panel--list,
    .home2-product__panel--calendar,
    .home2-product__panel--analytics {
        display: none;
    }

    .home2-product__code {
        font-size: 0.62rem;
        gap: 5px;
    }

    .home2-logo-lab__stage,
    .home2-logo3d {
        min-height: 220px;
    }

    .home2-logo3d__viewport {
        width: min(100%, 240px);
    }

    .home2-logo-lab__copy h2 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .home2-method__cube-copy p {
        font-size: 0.96rem;
        line-height: 1.62;
    }

    .home2-rubik {
        --rubik-size: min(58vw, 224px);
        min-height: 210px;
    }

    .home2-services__list li {
        font-size: 1.2rem;
        line-height: 1.02;
        padding: 0 22px;
    }

    .home2-services__list li::before,
    .home2-services__list li::after {
        width: 9px;
        height: 9px;
    }

    .home2-service-panel__intro h2 {
        font-size: 1.5rem;
    }

    .home2-services,
    .home2-method,
    .home2-cta {
        padding: 82px 0;
    }

    .home2-duality {
        padding: 0;
    }

    .home2-duality__shell {
        padding: 80px 16px;
    }

    .home2-service-card__content,
    .home2-step {
        padding: 24px;
    }

    .home2-service-card__media,
    .home2-service-card--tall .home2-service-card__media,
    .home2-service-card--wide .home2-service-card__media,
    .home2-cta__visual {
        height: 240px;
        min-height: 240px;
    }
}

/* Refonte sobre de la section home2-duality. */
.home2-duality {
    padding: 0;
    background: #111111;
    --home2-duality-red: #ee3131;
    --home2-duality-bg: #111111;
    --home2-duality-board: #171717;
    --home2-duality-board-inner: #1d1d1d;
    --home2-duality-panel: #222222;
    --home2-duality-panel-border: #343434;
    --home2-duality-muted: #b8b8b8;
    --home2-duality-text: #f4f4f4;
    --home2-duality-line: #575757;
}

.home2-duality__shell {
    width: min(100%, 1536px);
    margin: 0 auto;
    padding: 80px 16px;
    box-sizing: border-box;
}

.home2-duality__intro {
    max-width: 900px;
    margin: 0 auto 52px;
    text-align: center;
}

.home2-duality__intro h2 {
    margin: 0 0 18px;
    color: var(--home2-duality-text);
    font-size: clamp(2.2rem, 4vw, 4.2rem);
    line-height: 0.98;
    letter-spacing: -0.06em;
}

.home2-duality__lead {
    max-width: 760px;
    margin: 0 auto;
    color: var(--home2-duality-muted);
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.65;
}

.home2-duality__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) 28px minmax(300px, 0.72fr);
    gap: 0;
    align-items: stretch;
    overflow: visible;
    position: relative;
    --home2-duality-tunnel-y: 102px;
}

.home2-duality[data-duality-state="software"] .home2-duality__layout {
    --home2-duality-tunnel-y: 102px;
}

.home2-duality[data-duality-state="web"] .home2-duality__layout {
    --home2-duality-tunnel-y: 262px;
}

.home2-duality[data-duality-state="delivery"] .home2-duality__layout {
    --home2-duality-tunnel-y: 422px;
}

.home2-duality__board {
    position: relative;
    min-height: 620px;
    padding: 14px;
    border: 2px solid var(--home2-duality-red);
    border-radius: 34px;
    overflow: hidden;
    background: var(--home2-duality-board);
    box-shadow: 0 26px 70px #050505;
    contain: paint;
}

.home2-duality__board::before {
    content: none;
}

.home2-duality__board-shell {
    position: relative;
    min-height: 590px;
    border-radius: 26px;
    overflow: hidden;
    background: var(--home2-duality-board-inner);
}

.home2-duality__lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.home2-duality__lines path {
    fill: none;
    stroke: var(--home2-duality-line);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-dasharray: 920;
    stroke-dashoffset: 0;
    opacity: 1;
}

.home2-duality__node {
    position: absolute;
    z-index: 2;
    overflow: hidden;
    border: 1px solid #303030;
    border-radius: 28px;
    background: #101010;
    box-shadow: 0 18px 46px #070707;
}

.home2-duality__node img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
    transform: none;
    backface-visibility: hidden;
    transition: opacity 180ms ease;
    will-change: opacity;
}

.home2-duality__node--top img,
.home2-duality__node--bottom img {
    filter: none;
}

.home2-duality__node--left {
    left: 8%;
    top: 34%;
    width: min(18vw, 176px);
    min-width: 148px;
    aspect-ratio: 0.84;
}

.home2-duality__node--top {
    left: 41%;
    top: 12%;
    width: min(17vw, 168px);
    min-width: 140px;
    aspect-ratio: 0.94;
}

.home2-duality__node--bottom {
    left: 41%;
    top: 56%;
    width: min(18vw, 178px);
    min-width: 150px;
    aspect-ratio: 0.84;
}

.home2-duality__node--main {
    right: 9%;
    top: 20%;
    width: min(29vw, 300px);
    min-width: 236px;
    aspect-ratio: 0.9;
    border-radius: 34px;
}

.home2-duality__board-copy {
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 28px;
    z-index: 3;
    display: grid;
    gap: 12px;
    max-width: 420px;
    padding: 22px;
    border: 1px solid #333333;
    border-radius: 24px;
    background: #232323;
    box-shadow: 0 18px 42px #080808;
    backdrop-filter: none;
}

.home2-duality__board-copy strong {
    color: var(--home2-duality-text);
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.28rem, 1.8vw, 1.72rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.home2-duality__board-copy p {
    margin: 0;
    color: var(--home2-duality-muted);
    line-height: 1.55;
}

.home2-duality__board-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.home2-duality__board-tags[hidden],
.home2-duality__tag[hidden] {
    display: none !important;
}

.home2-duality__tag {
    position: static;
    z-index: auto;
    display: inline-flex;
    align-items: center;
    padding: 8px 11px;
    border: 1px solid #3b3b3b;
    border-radius: 999px;
    background: #2b2b2b;
    color: #eeeeee;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: none;
}

.home2-duality__stack {
    grid-column: 3;
    display: block;
    height: 620px;
    position: relative;
    overflow: visible;
}

.home2-duality__tunnel {
    grid-column: 2;
    align-self: start;
    position: relative;
    z-index: 4;
    width: 28px;
    height: 96px;
    margin-top: 0;
    display: block;
    object-fit: fill;
    pointer-events: none;
    transform: translateY(var(--home2-duality-tunnel-y));
    transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
    will-change: transform;
}

.home2-duality__tunnel::before,
.home2-duality__tunnel::after {
    content: none;
}

.home2-duality__panel {
    position: absolute;
    left: 0;
    right: 0;
    display: grid;
    align-content: start;
    gap: 10px;
    height: 140px;
    min-height: 0;
    padding: 24px 26px 26px;
    border: 1px solid var(--home2-duality-panel-border);
    border-radius: 28px;
    overflow: hidden;
    background: var(--home2-duality-panel);
    color: var(--home2-duality-text);
    box-shadow: none;
    contain: paint;
    cursor: pointer;
    transition: top 260ms cubic-bezier(0.2, 0.8, 0.2, 1), height 260ms cubic-bezier(0.2, 0.8, 0.2, 1), background 160ms ease, color 160ms ease, border-color 160ms ease;
    will-change: top, height;
}

.home2-duality__panel::before {
    content: none;
}

.home2-duality__panel::after {
    content: "+";
    position: absolute;
    top: 22px;
    right: 24px;
    color: #f4f4f4;
    font-size: 2rem;
    line-height: 1;
    transition: transform 220ms ease;
}

.home2-duality__panel h3 {
    max-width: 15ch;
    margin: 0;
    color: inherit;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.5rem, 2vw, 2.08rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.home2-duality__panel p {
    max-width: 30ch;
    margin: 0;
    color: #c7c7c7;
    font-size: 0.95rem;
    line-height: 1.42;
}

.home2-duality__panel-more {
    display: grid;
    gap: 7px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(8px);
    transition: max-height 220ms ease, opacity 160ms ease, transform 200ms ease;
    will-change: max-height, opacity, transform;
}

.home2-duality__panel-more span {
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home2-duality__panel-more p {
    max-width: 36ch;
    color: #ffffff;
}

.home2-duality__panel-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: opacity 180ms ease, transform 180ms ease;
}

.home2-duality__panel-link::after {
    content: "→";
    font-size: 0.92rem;
}

.home2-duality__panel-link:hover,
.home2-duality__panel-link:focus-visible {
    opacity: 0.82;
    transform: translateX(2px);
    outline: none;
}

.home2-duality__panel-link::after {
    content: none;
}

.home2-duality__panel-link-share {
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.92;
    transform: scale(0.96);
    transform-origin: center;
    transition: opacity 180ms ease, transform 180ms ease;
}

.home2-duality__panel-link:hover .home2-duality__panel-link-share,
.home2-duality__panel-link:focus-visible .home2-duality__panel-link-share {
    opacity: 1;
    transform: scale(1);
}

.home2-duality__panel:hover,
.home2-duality__panel:focus-visible {
    border-color: #555555;
    box-shadow: none;
    outline: none;
}

.home2-duality__panel:hover::after,
.home2-duality__panel:focus-visible::after {
    transform: rotate(90deg);
}

.home2-duality__panel[data-duality-active="true"] {
    height: 300px;
    min-height: 0;
    border-color: var(--home2-duality-red);
    background: var(--home2-duality-red);
    color: #ffffff;
    box-shadow: none;
    z-index: 2;
}

.home2-duality__stack > .home2-duality__panel:nth-child(1) {
    top: 0;
}

.home2-duality__stack > .home2-duality__panel:nth-child(2) {
    top: 160px;
}

.home2-duality__stack > .home2-duality__panel:nth-child(3) {
    top: 320px;
}

.home2-duality[data-duality-state="software"] .home2-duality__panel:nth-child(1) {
    top: 0;
    height: 300px;
}

.home2-duality[data-duality-state="software"] .home2-duality__panel:nth-child(2) {
    top: 320px;
    height: 140px;
}

.home2-duality[data-duality-state="software"] .home2-duality__panel:nth-child(3) {
    top: 480px;
    height: 140px;
}

.home2-duality[data-duality-state="web"] .home2-duality__panel:nth-child(1) {
    top: 0;
    height: 140px;
}

.home2-duality[data-duality-state="web"] .home2-duality__panel:nth-child(2) {
    top: 160px;
    height: 300px;
}

.home2-duality[data-duality-state="web"] .home2-duality__panel:nth-child(3) {
    top: 480px;
    height: 140px;
}

.home2-duality[data-duality-state="delivery"] .home2-duality__panel:nth-child(1) {
    top: 0;
    height: 140px;
}

.home2-duality[data-duality-state="delivery"] .home2-duality__panel:nth-child(2) {
    top: 160px;
    height: 140px;
}

.home2-duality[data-duality-state="delivery"] .home2-duality__panel:nth-child(3) {
    top: 320px;
    height: 300px;
}

.home2-duality__panel[data-duality-active="true"] p,
.home2-duality__panel[data-duality-active="true"]::after {
    color: #ffffff;
}

.home2-duality__panel[data-duality-active="true"] .home2-duality__panel-more {
    max-height: 220px;
    opacity: 1;
    transform: translateY(0);
}

.home2-duality__board.is-switching .home2-duality__node img,
.home2-duality__board.is-switching .home2-duality__tag,
.home2-duality__board.is-switching .home2-duality__board-copy {
    animation: home2DualityCleanSwap 420ms ease;
}

@keyframes home2DualityCleanSwap {
    0% {
        opacity: 0.35;
        transform: translateY(8px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 1024px) {
    .home2-duality__shell {
        padding: 96px 80px;
    }
}

@media (max-width: 1180px) {
    .home2-duality__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .home2-duality__tunnel {
        display: none;
    }

    .home2-duality__stack {
        grid-column: auto;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        height: auto;
        gap: 16px;
    }

    .home2-duality__panel,
    .home2-duality__panel[data-duality-active="true"] {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        height: auto;
        flex: none;
        min-height: 0;
    }

    .home2-duality[data-duality-state] .home2-duality__stack > .home2-duality__panel:nth-child(n) {
        top: auto;
        height: auto;
    }

    .home2-duality__panel h3,
    .home2-duality__panel p {
        max-width: none;
    }
}

@media (max-width: 860px) {
    .home2-expertise-band__inner {
        padding: 16px 0;
    }

    .home2-expertise-band__viewport {
        mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
    }

    .home2-expertise-band__list li {
        font-size: 0.9rem;
        letter-spacing: 0.03em;
    }

    .home2-duality__shell {
        padding: 80px 16px;
    }

    .home2-duality__intro {
        margin-bottom: 36px;
    }

    .home2-duality__board {
        min-height: 510px;
        border-radius: 28px;
    }

    .home2-duality__board-shell {
        min-height: 480px;
        border-radius: 20px;
    }

    .home2-duality__stack {
        grid-template-columns: 1fr;
    }

    .home2-duality__node--left {
        left: 5%;
        width: 24vw;
        min-width: 110px;
    }

    .home2-duality__node--top,
    .home2-duality__node--bottom {
        left: 38%;
        width: 24vw;
        min-width: 112px;
    }

    .home2-duality__node--main {
        right: 5%;
        width: 35vw;
        min-width: 170px;
    }

    .home2-duality__board-copy {
        left: 18px;
        right: 18px;
        bottom: 18px;
        max-width: none;
    }
}

@media (max-width: 900px) {
    .home2-device-card {
        display: none;
    }
}

@media (max-width: 640px) {
    .home2-expertise-band__list {
        gap: 0;
        padding-right: 14px;
    }

    .home2-expertise-band__list li {
        font-size: 0.82rem;
    }

    .home2-expertise-band__list::after,
    .home2-expertise-band__list li + li::before {
        margin: 0 12px;
    }

    .home2-device-card {
        bottom: 10px;
        left: 10px;
        width: min(306px, calc(100vw - 20px));
        max-height: 38vh;
        overflow: auto;
        padding: 12px;
    }

    .home2-device-card__row {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .home2-device-card__note {
        display: none;
    }

    .home2-duality__board {
        min-height: 430px;
        padding: 10px;
        border-radius: 24px;
    }

    .home2-duality__board-shell {
        min-height: 406px;
        border-radius: 18px;
    }

    .home2-duality__node {
        border-radius: 20px;
    }

    .home2-duality__node--left {
        left: 4%;
        top: 32%;
        min-width: 86px;
    }

    .home2-duality__node--top {
        left: 35%;
        top: 10%;
        min-width: 88px;
    }

    .home2-duality__node--bottom {
        left: 35%;
        top: 55%;
        min-width: 88px;
    }

    .home2-duality__node--main {
        right: 4%;
        top: 21%;
        min-width: 132px;
        border-radius: 22px;
    }

    .home2-duality__board-copy {
        gap: 8px;
        padding: 16px;
        border-radius: 18px;
    }

    .home2-duality__tag {
        font-size: 0.6rem;
    }

    .home2-duality__panel {
        padding: 24px 22px 26px;
        border-radius: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .home2-rubik__glow,
    .home2-rubik__shadow,
    .home2-rubik__drift,
    .home2-rubik__cube,
    .home2-rubik__layer {
        animation: none;
    }

    .home2-logo3d__orbit {
        animation: none;
    }

    .home2-logo3d__stack {
        transition: none;
    }

    .home2-hero-shell__cursor {
        animation: none;
        opacity: 1;
    }

    .home2-hero-shell__line.is-entering {
        animation: none;
    }

    .home2-button,
    .home2-nav,
    .home2-menu a,
    .home2-duality__panel,
    .home2-duality__node img {
        transition: none;
    }

    .home2-duality__board.is-switching .home2-duality__node img,
    .home2-duality__board.is-switching .home2-duality__tag,
    .home2-duality__board.is-switching .home2-duality__board-copy {
        animation: none;
    }
}
