.intro-bg-overlay__media {
    min-height: 100%;
}

.intro-bg-overlay__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.intro-bg-overlay__scrim {
    pointer-events: none;
}

.intro-bg-overlay__content-box {
    max-width: 48rem;
}

.intro-bg-overlay__decor-top {
    width: 6rem;
    height: 6rem;
    top: 5rem;
    left: 2.5rem;
}

.intro-bg-overlay__decor-bottom {
    width: 8rem;
    height: 8rem;
    bottom: 5rem;
    right: 2.5rem;
}

.intro-bg-overlay__decor-mid {
    width: 4rem;
    height: 4rem;
    top: 33%;
    right: 25%;
}

.intro-bg-overlay__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.intro-bg-overlay__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.backdrop-grid-min-h { min-height: 30vh; }

.backdrop-sq-12 { width: 3rem; height: 3rem; flex-shrink: 0; }

.backdrop-card-hover {
    transition: transform 0.3s ease;
}

.backdrop-card-hover:hover {
    transform: scale(1.05);
}


.bodycopy-storyblock__cabin-stack-gap {
    gap: 4rem;
}

.bodycopy-storyblock__rail-stack-gap {
    gap: 4rem;
}

.content-flow-gap {
    gap: 4rem;
}

.content-grid-gap {
    gap: 2rem;
}

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

.content-wide-frame {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-cta__lift { transition: transform 150ms ease; }
.content-cta__lift:hover { transform: translateY(-2px); }

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-medium {
    display: block;
    width: 100%;
    height: 18rem;
    min-height: 18rem;
    flex-shrink: 0;
    object-fit: cover;
}
@media (min-width: 768px) {
    .content-img-medium {
        height: 20rem;
        min-height: 20rem;
    }
}

.content-small-height {
    display: block;
    width: 100%;
    height: 12rem;
    min-height: 12rem;
    flex-shrink: 0;
    object-fit: cover;
}

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-fill {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 12rem;
    min-width: 0;
    object-fit: cover;
    flex-shrink: 0;
}

.content-min-small {
    min-height: 12rem;
}

.storyblock-chapter__column-inset {
    padding: 4rem;
}

.watermark-number__tile {
  min-width: 260px;
  max-width: 380px;
  min-height: 300px;
}

.watermark-number__bg {
  z-index: 0;
}

.watermark-number__tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.watermark-number__tile--0::before {
  background-image: radial-gradient(
    circle at 20% 15%,
    rgba(var(--bs-primary-rgb), 0.16) 0,
    transparent 45%
  );
}

.watermark-number__tile--1::before {
  background-image: repeating-linear-gradient(
    -40deg,
    transparent,
    transparent 12px,
    rgba(var(--bs-primary-rgb), 0.06) 12px,
    rgba(var(--bs-primary-rgb), 0.06) 13px
  );
}

.watermark-number__tile--2::before {
  background-image: radial-gradient(
    rgba(var(--bs-primary-rgb), 0.12) 1.5px,
    transparent 1.5px
  );
  background-size: 16px 16px;
  mask-image: radial-gradient(circle at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(circle at center, black 30%, transparent 75%);
}

.watermark-number__glyph {
  font-size: clamp(6rem, 14vw, 9rem);
  opacity: 0.35;
}

.watermark-number__mark {
  z-index: 2;
}

.watermark-number__body {
  min-height: 300px;
  z-index: 3;
}

.perks-alternate-rows__thumb {
    width: 6rem;
    height: 6rem;
    transition: transform 0.2s ease;
}

.perks-alternate-rows__cta {
    transition: transform 0.2s ease;
}

@media (min-width: 640px) {
    .perks-alternate-rows__thumb:hover {
        transform: scale(1.05);
    }

    .perks-alternate-rows__cta:hover {
        transform: scale(1.05);
    }
}

/* subscribe v27 — gradient-mesh hero: geometry shared by both CSS frameworks, no colors */
.mailing-hero-mesh__section--py-4xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mxw-3xl {
    max-width: 48rem !important;
}

.mxw-xl {
    max-width: 36rem !important;
}

.mxw-md {
    max-width: 28rem !important;
}

@keyframes mailing-hero-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-0.5rem);
    }
}

.mailing-hero-mesh__blob {
    filter: blur(64px);
    will-change: transform;
}

.mailing-hero-mesh__blob--one {
    top: -2.5rem;
    inset-inline-start: -2.5rem;
    width: 18rem;
    height: 18rem;
}

.mailing-hero-mesh__blob--two {
    bottom: -4rem;
    inset-inline-end: -2.5rem;
    width: 20rem;
    height: 20rem;
}

.mailing-hero-mesh__blob--three {
    top: 33.333333%;
    inset-inline-end: 25%;
    width: 14rem;
    height: 14rem;
}

.mailing-hero-mesh__dot {
    width: 0.75rem;
    height: 0.75rem;
    animation: mailing-hero-float 4s ease-in-out infinite;
}

.mailing-hero-mesh__dot--a {
    top: 2.5rem;
    inset-inline-start: 25%;
    animation-delay: 0s;
}

.mailing-hero-mesh__dot--b {
    bottom: 6rem;
    inset-inline-start: 33.333333%;
    animation-delay: 1.3s;
}

.mailing-hero-mesh__dot--c {
    top: 50%;
    inset-inline-end: 20%;
    animation-delay: 2.6s;
}

.mailing-hero-mesh__title {
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1;
}

.mailing-hero-mesh__subtitle {
    font-size: 1.125rem;
    margin-bottom: 2.5rem;
}

.mailing-hero-mesh__row {
    flex-direction: column;
    gap: 0.75rem;
}

.mailing-hero-mesh__input,
.mailing-hero-mesh__cta {
    padding: 0.75rem 1rem;
}

.mailing-hero-mesh__cta {
    padding-inline: 1.5rem;
}

.mailing-hero-mesh__thanks {
    margin-top: 2rem;
}

@media (min-width: 640px) {
    .mailing-hero-mesh__row {
        flex-direction: row;
    }
}

@media (min-width: 768px) {
    .mailing-hero-mesh__title {
        font-size: 4.5rem;
    }

    .mailing-hero-mesh__subtitle {
        font-size: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mailing-hero-mesh__dot {
        animation: none;
    }
}

.google-map__iframe {
    width: 100%;
    min-height: 440px;
}

@media (min-width: 768px) {
    .google-map__iframe {
        min-height: 600px;
    }
}

/* iframe-normalized */
.google-map__iframe {
    width: 100%;
    max-width: 100%;
    height: 440px;
    min-height: 440px;
    display: block;
    border: 0;
    box-sizing: border-box;
    vertical-align: bottom;
}

@media (min-width: 768px) {
    .google-map__iframe {
        height: 600px;
        min-height: 600px;
    }
}


