.hero-v28-block {
    max-width: 42rem;
}

/* -- 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);
}
.stats__icon-dim--lg {
  width: 5rem;
  height: 5rem;
}

.stats-card-hover {
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.stats-card-hover:hover {
  box-shadow:
    0 20px 25px -5px rgb(0 0 0 / 0.1),
    0 8px 10px -6px rgb(0 0 0 / 0.1);
  transform: translateY(-0.5rem) scale(1.05);
}


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

.services-timeline__body {
    min-width: 0;
}
.services-timeline__row:last-child .services-timeline__body {
    padding-bottom: 0;
}

.services-timeline__ghost {
    line-height: 1;
}

/* Bootstrap: сетка как Tailwind grid md:2 lg:4 + gap-lg */
.values-number-card__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
}

@media (min-width: 768px) {
    .values-number-card__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .values-number-card__bs-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.values-number-card__subtitle-max {
    max-width: 42rem;
}

.values-number-card__thumb {
    width: 4rem;
    height: 4rem;
}

.values-number-card__badge {
    top: -0.5rem;
    right: -0.5rem;
    width: 1.5rem;
    height: 1.5rem;
}


.bodycopy-storyblock__icon-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__title-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__lead-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__wrapper-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-heading-gap {
    margin-bottom: 2rem;
}


@keyframes agenda-sessions-star-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.agenda-sessions__star-lg {
    position: absolute;
    top: 3rem;
    left: 2.5rem;
    width: 1.5rem;
    height: 1.5rem;
    animation: agenda-sessions-star-pulse 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes agenda-sessions-star-bounce {
    0%, 100% { transform: translateY(0); animation-timing-function: cubic-bezier(.8,0,1,1); }
    50%       { transform: translateY(-25%); animation-timing-function: cubic-bezier(0,0,.2,1); }
}
.agenda-sessions__star-sm {
    position: absolute;
    top: 6rem;
    right: 3rem;
    left: auto;
    width: 1rem;
    height: 1rem;
    animation: agenda-sessions-star-bounce 1s infinite;
    animation-delay: 0.5s;
}

@keyframes agenda-sessions-ring-ping {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.agenda-sessions__ring-lg {
    position: absolute;
    bottom: 6rem;
    left: 4rem;
    top: auto;
    width: 2rem;
    height: 2rem;
    box-sizing: border-box;
    border-width: 2px;
    animation: agenda-sessions-ring-ping 1s cubic-bezier(0,0,.2,1) infinite;
    animation-delay: 0.3s;
}
.agenda-sessions__ring-sm {
    position: absolute;
    bottom: 3rem;
    right: 6rem;
    left: auto;
    top: auto;
    width: 1.5rem;
    height: 1.5rem;
    box-sizing: border-box;
    border-width: 2px;
    animation: agenda-sessions-ring-ping 1s cubic-bezier(0,0,.2,1) infinite;
    animation-delay: 0.8s;
}

.agenda-sessions__blob { width: 5rem; height: 5rem; }
.agenda-sessions__accent { height: 0.25rem; }

/* BS: два стовпці з проміжком між рамками карток (аналог Tailwind gap-lg + md:w-[48%]) */
.agenda-sessions__pair-cell {
    width: 100%;
}
@media (min-width: 768px) {
    .agenda-sessions__pair-cell {
        flex: 0 1 calc(50% - 0.75rem);
        max-width: calc(50% - 0.75rem);
        width: auto;
    }
}

.agenda-sessions__story--glow:hover { transform: scale(1.05); transition: transform .2s ease; }
.agenda-sessions__slot--glow:hover { transform: scale(1.05); transition: transform .2s ease; }
.agenda-sessions__prompt--glow:hover { transform: scale(1.05); transition: transform .2s ease; }


.writeup-document__accent-trail {
    margin-bottom: 2rem;
    width: 4rem;
    height: 0.25rem;
}

.writeup-document__title-trail { margin-bottom: 2rem; }

.writeup-document__hull-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-heading-gap {
    margin-bottom: 2rem;
}


.copy-document__decor-1 {
    position: absolute;
    top: 1rem;
    left: 2rem;
    width: 1.5rem;
    height: 1.5rem;
    transform: rotate(45deg);
    z-index: 0;
    pointer-events: none;
}

.copy-document__decor-2 {
    position: absolute;
    top: 2rem;
    right: 1rem;
    width: 1rem;
    height: 1rem;
    transform: rotate(12deg);
    z-index: 0;
    pointer-events: none;
}

.copy-document__decor-3 {
    position: absolute;
    bottom: 1.5rem;
    left: 1rem;
    width: 2rem;
    height: 2rem;
    transform: rotate(45deg);
    z-index: 0;
    pointer-events: none;
}

.copy-document__decor-4 {
    position: absolute;
    bottom: 1rem;
    right: 2rem;
    width: 1.25rem;
    height: 1.25rem;
    transform: rotate(-12deg);
    z-index: 0;
    pointer-events: none;
}

.copy-document__heading-row-trail { margin-bottom: 2rem; }

.copy-document__frame-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-heading-gap {
    margin-bottom: 2rem;
}

/* pricing-editorial — display-size price number */
.pricing-editorial__price {
    font-size: clamp(3.5rem, 8vw, 6rem);
    line-height: 1;
    display: block;
    margin-bottom: 0.25rem;
}

/* pricing-editorial — section mark decorative size */
.pricing-editorial__section-mark {
    line-height: 1;
    user-select: none;
}

/* pricing-editorial — UA reset ul */
.pricing-editorial__feat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* pricing-editorial — CTA border transition */
.pricing-editorial__cta {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    letter-spacing: 0.1em;
}

/* v21 editorial — vertical sidebar title */
.perks-editorial-aside__sidebar {
    width: 3rem;
    flex-shrink: 0;
}

.perks-editorial-aside__title-wrap {
    position: sticky;
    top: 6rem;
    height: calc(100vh - 8rem);
    max-height: 32rem;
}

.perks-editorial-aside__h2 {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    white-space: nowrap;
}

.perks-editorial-aside__rule {
    min-height: 2rem;
    flex: 1 1 auto;
    width: 1px;
}

/* numbered item — prevent selection */
.perks-editorial-aside__num {
    user-select: none;
    -webkit-user-select: none;
    min-width: 3.5rem;
}

/* mobile: stack layout, show h2 horizontally */
@media (max-width: 767px) {
    .perks-editorial-aside__sidebar {
        width: 100%;
    }

    .perks-editorial-aside__title-wrap {
        position: static;
        height: auto;
        flex-direction: row !important;
        align-items: center;
        justify-content: flex-start;
    }

    .perks-editorial-aside__h2 {
        writing-mode: horizontal-tb;
        transform: none;
        white-space: normal;
    }

    .perks-editorial-aside__rule {
        display: none;
    }
}

/* glossary steps — oversized counter ring (layout only) */
.glossary-steps__num {
    width: 3.75rem;
    height: 3.75rem;
    min-width: 3.75rem;
}

/* v28 timeline — connector line width (no BS analog for a fixed-width vertical rule) */
.mailing-timeline__line {
    width: 2px;
}

/* v28 timeline — per-step dot size */
.mailing-timeline__dot {
    width: 0.625rem;
    height: 0.625rem;
}

/* v28 frequency toggle — inactive/active states are handled purely via
   Tailwind utility classes toggled in script.js; nothing color-related lives here. */
.mailing-timeline__toggle-btn {
    cursor: pointer;
    border: 0;
}

