.hero-v18-line-a {
    width: 200%;
    transform: rotate(12deg);
    transform-origin: left;
}

.hero-v18-line-b {
    width: 200%;
    transform: rotate(-12deg);
    transform-origin: right;
}

.hero-v18-col-left {
    transform-origin: top left;
}

.hero-v18-dot {
    width: 0.5rem;
    height: 0.5rem;
}

.hero-v18-icon-box {
    width: 2rem;
    height: 2rem;
}

.hero-v18-col-right {
    transform-origin: top right;
}

.hero-v18-decor-tr {
    top: -1rem;
    right: -1rem;
    width: 6rem;
    height: 6rem;
}

.hero-v18-decor-bl {
    bottom: -1rem;
    left: -1rem;
    width: 5rem;
    height: 5rem;
}

/* -- Button hover states -- */
.hero-btn-primary {
    transition: filter 0.2s ease, transform 0.15s ease;
}
.hero-btn-primary:hover,
.hero-btn-primary:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.hero-btn-outline-secondary {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-secondary:hover,
.hero-btn-outline-secondary:focus {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
    transform: translateY(-1px);
}

.hero-btn-outline-primary-light {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-primary-light:hover,
.hero-btn-outline-primary-light:focus {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    border-color: var(--bs-primary) !important;
    transform: translateY(-1px);
}
.services-grid-dense__serif,
[data-serif] {
    font-family: Georgia, "Times New Roman", Times, serif;
}

.services-grid-dense__dots {
    background-image: radial-gradient(currentColor 1px, transparent 1px);
    background-size: 18px 18px;
    pointer-events: none;
}

.dark .services-grid-dense__dots,
[data-bs-theme="dark"] .services-grid-dense__dots {
    color: var(--bs-primary);
}

/* Bootstrap: горизонтальные/вертикальные промежутки (row+row-cols без col даёт слипание) */
.reasons-icon-grid__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    width: 100%;
}

@media (min-width: 768px) {
    .reasons-icon-grid__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }
}

@media (min-width: 992px) {
    .reasons-icon-grid__bs-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.reasons-icon-grid__subtitle-max {
    max-width: 42rem;
}

/* v10 - Diagonal Skewed Timeline with Brutalist Borders (no BS analog for skew transform) */
.steps-brutal-skew__row {
    opacity: 0;
    transform: translateX(-1.5rem) skewX(-2deg);
    transition: opacity 500ms ease, transform 500ms ease;
}

.steps-brutal-skew__row.is-visible {
    opacity: 1;
    transform: skewX(-2deg);
}

.steps-brutal-skew__row:nth-child(even) {
    transform: translateX(1.5rem) skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even).is-visible {
    transform: skewX(2deg);
}

.steps-brutal-skew__panel {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__panel {
    transform: skewX(-2deg);
}

.steps-brutal-skew__num {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__num {
    transform: skewX(-2deg);
}


.pulse-boost__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.pulse-boost__inner {
    max-width: 72rem;
    width: 100%;
    box-sizing: border-box;
}

/* Bootstrap: col-* внутри d-flex без .row даёт неверную ширину и обрезание справа */
.pulse-boost__split-row-bs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .pulse-boost__split-row-bs {
        flex-direction: row;
        align-items: center;
    }

    .pulse-boost__split-row-bs > * {
        flex: 1 1 0;
        min-width: 0;
        max-width: 50%;
        box-sizing: border-box;
    }
}

.pulse-boost__vessel--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

@keyframes pulse-boost-highlight-throb-track {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.pulse-boost__highlight--throb {
    animation: pulse-boost-highlight-throb-track 2s cubic-bezier(.4,0,.6,1) infinite;
}

.pulse-boost__jump--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

.pulse-boost__control--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

