.wash-dawn__ring {
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    border: 2.25rem solid currentColor;
    transform: translate(20%, -10%);
    pointer-events: none;
}

.wash-dawn__title { letter-spacing: -0.03em; text-wrap: balance; }
.wash-dawn__micro { font-size: 0.75rem; line-height: 1rem; letter-spacing: 0.14em; }
.wash-dawn__dot { width: 0.45rem; height: 0.45rem; }

.wash-dawn__stage { min-height: 22rem; }
.wash-dawn__card { position: absolute; }
.wash-dawn__card--photo { left: 0; top: 2.5rem; width: 11rem; animation: wash-dawn-bob 6s ease-in-out infinite; }
.wash-dawn__card--chart { left: 9.5rem; top: 0; width: 15rem; border-radius: 1.25rem !important; animation: wash-dawn-sway 8s ease-in-out infinite; }
.wash-dawn__card--chip { right: 0; top: 5rem; width: 11rem; animation: wash-dawn-pulse 5s ease-in-out 0.6s infinite; }

@keyframes wash-dawn-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-0.85rem); }
}

@keyframes wash-dawn-sway {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(0.7rem); }
}

@keyframes wash-dawn-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.04); }
}

.wash-dawn__img { width: 100%; height: 16rem; object-fit: cover; }
.wash-dawn__bars { height: 4rem; }
.wash-dawn__bar { height: 40%; }
.wash-dawn__bar--b2 { height: 70%; }
.wash-dawn__bar--b3 { height: 100%; }
.wash-dawn__bar--b4 { height: 55%; }

@media (prefers-reduced-motion: reduce) {
    .wash-dawn__card--photo,
    .wash-dawn__card--chart,
    .wash-dawn__card--chip { animation: none; }
}

@media (max-width: 767.98px) {
    .wash-dawn__stage { min-height: 0; display: flex; flex-direction: column; gap: 1rem; }
    .wash-dawn__card,
    .wash-dawn__card--photo,
    .wash-dawn__card--chart,
    .wash-dawn__card--chip { position: relative; left: auto; right: auto; top: auto; width: 100%; }
}

/* group-hover та картка */
.services__tile--lift {
  transition: box-shadow 0.5s ease, transform 0.5s ease;
}

.services__tile--lift:hover {
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  transform: translateY(-0.75rem);
}

@media (min-width: 640px) {
  .services__tile--lift:hover {
    transform: translateY(-0.75rem) scale(1.05);
  }
}

.services__media {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.services__row:hover .services__media {
  transform: scale(1.1);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

.services__heading {
  transition: color 0.3s ease;
}

.services__row:hover .services__heading {
  color: #2563eb;
}

.dark .services__row:hover .services__heading {
  color: #60a5fa;
}

[data-bs-theme="dark"] .services__row:hover .services__heading {
  color: var(--bs-primary, #6ea8fe);
}

.services__accent {
  transition: width 0.3s ease;
}

.services__row:hover .services__accent {
  width: 6rem;
}

.services__badge--offset {
  top: 2rem;
  inset-inline-end: 2rem;
}

.services__decor--blur {
  filter: blur(64px);
}

.services__decor-root {
  z-index: -1;
}

/* BS: розміри блобів (TW — через w-72 / w-96 у sem) */
.services__blob-a {
  width: 18rem;
  height: 18rem;
}

.services__blob-b {
  width: 24rem;
  height: 24rem;
}

/* benefits glyph — card micro-illustrations, layout/motion only (no colors) */
.benefits-glyph__seal { width: 3.5rem; height: 3.5rem; }
.benefits-glyph__chip { font-size: .75rem; line-height: 1rem; letter-spacing: .04em; }

.benefits-glyph__card {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 600ms ease, transform 300ms ease, box-shadow 300ms ease;
}
.benefits-glyph.is-visible .benefits-glyph__card { opacity: 1; transform: none; }
.benefits-glyph.is-visible .benefits-glyph__card:hover,
.benefits-glyph.is-visible .benefits-glyph__card:focus-within { transform: translateY(-.5rem); }

.benefits-glyph__stage { aspect-ratio: 4 / 3; overflow: hidden; }
.benefits-glyph__svg { width: 7.5rem; height: 7.5rem; overflow: visible; }

/* lock — shackle drops into the body, keyhole pulses */
.benefits-glyph__shackle { transform: translateY(-12px); transition: transform 600ms cubic-bezier(.5, 1.6, .5, 1); }
.benefits-glyph__keyhole { transform-box: fill-box; transform-origin: center; }
.benefits-glyph__halo { transform-box: fill-box; transform-origin: center; opacity: 0; }
.is-armed .benefits-glyph__shackle { transform: none; }
.is-armed .benefits-glyph__keyhole { animation: benefits-glyph-pulse 2.4s ease-in-out 800ms infinite; }
.is-armed .benefits-glyph__halo { animation: benefits-glyph-ripple 2.4s ease-out 700ms infinite; }

/* stroke drawing */
.benefits-glyph__draw { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1100ms ease; }
.benefits-glyph__draw--2 { transition-delay: 150ms; }
.benefits-glyph__draw--3 { transition-delay: 300ms; }
.benefits-glyph__draw--4 { transition-delay: 450ms; }
.benefits-glyph__draw--5 { transition-delay: 600ms; }
.benefits-glyph__draw--check { transition-duration: 600ms; transition-delay: 1000ms; }
.is-armed .benefits-glyph__draw { stroke-dashoffset: 0; }

/* fingerprint scan line */
.benefits-glyph__scan { opacity: 0; }
.is-armed .benefits-glyph__scan { animation: benefits-glyph-scan 2.6s ease-in-out 900ms infinite; }

/* shield ping */
.benefits-glyph__ping { transform-box: fill-box; transform-origin: center; opacity: 0; }
.is-armed .benefits-glyph__ping { animation: benefits-glyph-ripple 2.8s ease-out 1600ms infinite; }

/* vault orbit + bobbing pin */
.benefits-glyph__orbit { transform-origin: 60px 70px; }
.benefits-glyph__pin { transform: translateY(-14px); opacity: 0; transition: transform 700ms cubic-bezier(.5, 1.6, .5, 1), opacity 400ms ease; }
.is-armed .benefits-glyph__orbit { animation: benefits-glyph-spin 9s linear infinite; }
.is-armed .benefits-glyph__pin { transform: none; opacity: 1; }

.benefits-glyph__more i { transition: transform 200ms ease; }
.benefits-glyph__more:hover i { transform: translateX(.25rem); }

@keyframes benefits-glyph-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.35); } }
@keyframes benefits-glyph-ripple { 0% { transform: scale(.7); opacity: .45; } 100% { transform: scale(1.25); opacity: 0; } }
@keyframes benefits-glyph-scan { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: .9; } 85% { opacity: .9; } 100% { transform: translateY(70px); opacity: 0; } }
@keyframes benefits-glyph-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .benefits-glyph__card { opacity: 1; transform: none; transition: none; }
    .benefits-glyph__shackle, .benefits-glyph__pin { transform: none; opacity: 1; transition: none; }
    .benefits-glyph__draw { stroke-dashoffset: 0; transition: none; }
    .is-armed .benefits-glyph__keyhole, .is-armed .benefits-glyph__halo, .is-armed .benefits-glyph__scan,
    .is-armed .benefits-glyph__ping, .is-armed .benefits-glyph__orbit { animation: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.benefits-glyph[hidden], .benefits-glyph [hidden], .benefits-glyph .hidden.d-none { display: none !important; }

/* Bootstrap: explicit grid + gap (row gutters often collapse) */
.tips-grid__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
}

.tips-grid__min-shrink {
    min-width: 0;
}

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

.tips-grid__subtitle {
    max-width: 42rem;
}

.tips-grid__thumb {
    width: 3rem;
    height: 3rem;
}

/* Лише layout / рух; кольори теми — у Blade */
.socialproof-card-hover {
    transition:
        box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.socialproof__stat-value,
.socialproof__stat-label {
    transition: transform 0.3s ease, color 0.2s ease;
}

@media (hover: hover) {
    .socialproof-card-hover:hover {
        box-shadow: 0 22px 44px -18px rgba(15, 23, 42, 0.2);
    }

    .dark .socialproof-card-hover:hover {
        box-shadow: 0 22px 44px -14px rgba(0, 0, 0, 0.5);
    }

    .socialproof-card-hover:hover .socialproof__stat-value {
        transform: scale(1.08);
    }
}

@media (hover: hover) and (min-width: 640px) {
    .socialproof-card-hover--lift:hover {
        transform: translateY(-4px) scale(1.02);
    }
}

@media (prefers-reduced-motion: reduce) {
    .socialproof-card-hover,
    .socialproof__stat-value,
    .socialproof__stat-label {
        transition: none;
    }

    .socialproof-card-hover:hover,
    .socialproof-card-hover:hover .socialproof__stat-value,
    .socialproof-card-hover--lift:hover {
        transform: none;
    }
}

.socialproof__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(140px, auto);
    gap: 3px;
}

@media (max-width: 768px) {
    .socialproof__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.socialproof__cell {
    transition: transform 0.2s ease, filter 0.2s ease;
    cursor: default;
}

.socialproof__cell:hover {
    transform: scale(0.97);
    filter: brightness(0.9);
    z-index: 1;
}

.socialproof__cell:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.socialproof__cell:nth-child(4) {
    grid-column: span 2;
}

.socialproof__cell:nth-child(7) {
    grid-column: span 2;
}

.socialproof__value {
    font-size: clamp(1.5rem, 4vw, 3rem);
    font-weight: 900;
    line-height: 1;
}

.socialproof__cell:nth-child(1) .socialproof__value {
    font-size: clamp(2.5rem, 6vw, 5rem);
}

/* cta split screen — full-height cover image */
.cta-split-screen__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 100vh;
}

@media (min-width: 1024px) {
  .cta-split-screen__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .cta-split-screen__grid {
    min-height: auto;
  }
}

.cta-split-screen__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

