@keyframes rotateSquare {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.intro-pattern-overlay {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, currentColor 20px, currentColor 40px);
    opacity: 0.03;
    top: -20%;
    left: -30%;
    width: 100%;
    height: 100%;
    animation: rotateSquare 20s linear infinite;
}

.intro-pattern-content {
    max-width: 56rem;
}

.tips-interactive__badge {
    z-index: 20;
}

.tips-interactive__inner {
    z-index: 10;
}

.tips-interactive__panel {
    z-index: 50;
}

.tips-interactive__thumb {
    width: 4rem;
    height: 4rem;
}

.tips-interactive__thumb--sm {
    width: 3rem;
    height: 3rem;
}

.tips-interactive__panel--collapsed {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-1rem);
}

.tips-interactive__panel--open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.content-disclaimer-logo__mark {
    width: 5rem;
    height: 5rem;
}

.content-disclaimer-logo__mark--small {
    width: 3rem;
    height: 3rem;
}

.content-disclaimer-logo__mark--large {
    width: 6rem;
    height: 6rem;
}

.content-disclaimer-logo__mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Layout only — colors stay in Blade utilities */

.borderline-editorial__kicker {
  max-width: 36rem;
}

.borderline-editorial__rule {
  width: 2.5rem;
  height: 2px;
}

.borderline-editorial__body {
  min-width: 0;
}

.borderline-editorial__stamp {
  width: 7rem;
  align-self: stretch;
  min-height: 6rem;
}

@media (min-width: 768px) {
  .borderline-editorial__stamp {
    width: 11rem;
    min-height: 8rem;
  }
}

.borderline-editorial__stamp-pattern {
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 5px,
    rgba(var(--bs-primary-rgb), 0.1) 5px,
    rgba(var(--bs-primary-rgb), 0.1) 6px
  );
}

.borderline-editorial__stamp-ring {
  width: 4.5rem;
  height: 4.5rem;
  top: 50%;
  left: 50%;
  margin-top: -2.25rem;
  margin-left: -2.25rem;
  background: conic-gradient(
    from 0deg,
    rgba(var(--bs-primary-rgb), 0.55),
    rgba(var(--bs-primary-rgb), 0.05) 120deg,
    rgba(var(--bs-primary-rgb), 0.45) 240deg,
    rgba(var(--bs-primary-rgb), 0.05)
  );
  animation: borderline-editorial-ring-spin 10s linear infinite;
  mask: radial-gradient(circle, transparent 58%, black 60%);
  -webkit-mask: radial-gradient(circle, transparent 58%, black 60%);
}

.borderline-editorial__stamp--1 .borderline-editorial__stamp-ring {
  animation-duration: 12s;
  animation-direction: reverse;
}

.borderline-editorial__stamp--2 .borderline-editorial__stamp-ring {
  animation-duration: 8s;
}

.borderline-editorial__stamp-date {
  writing-mode: horizontal-tb;
}

.borderline-editorial__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@keyframes borderline-editorial-ring-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .borderline-editorial__stamp-ring {
    animation: none;
  }
}


@keyframes knowledge-clarify-flare-throb-seq {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.knowledge-clarify__flare--throb {
    animation: knowledge-clarify-flare-throb-seq 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes knowledge-clarify-flare-rebound-seq {
    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); }
}
.knowledge-clarify__flare--rebound {
    animation: knowledge-clarify-flare-rebound-seq 1s infinite;
}

@keyframes knowledge-clarify-flare-ping-seq {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.knowledge-clarify__flare--ping {
    animation: knowledge-clarify-flare-ping-seq 1s cubic-bezier(0,0,.2,1) infinite;
}

/* Animation delays */
.knowledge-clarify__flare--delay-1 { animation-delay: 0.3s; }
.knowledge-clarify__flare--delay-2 { animation-delay: 0.5s; }
.knowledge-clarify__flare--delay-3 { animation-delay: 0.8s; }
.knowledge-clarify__flare--delay-4 { animation-delay: 1s; }
.knowledge-clarify__flare--delay-5 { animation-delay: 1.2s; }
.knowledge-clarify__flare--delay-6 { animation-delay: 1.5s; }
.knowledge-clarify__flare--delay-7 { animation-delay: 2s; }

/* Dot positions and sizes */
.knowledge-clarify__dot-a { top: 3rem; left: 2.5rem; width: 0.75rem; height: 0.75rem; }
.knowledge-clarify__dot-b { top: 5rem; right: 4rem; width: 0.5rem; height: 0.5rem; }
.knowledge-clarify__dot-c { top: 8rem; left: 25%; width: 1rem; height: 1rem; }
.knowledge-clarify__dot-d { bottom: 6rem; right: 5rem; width: 0.75rem; height: 0.75rem; }
.knowledge-clarify__dot-e { bottom: 4rem; left: 4rem; width: 0.5rem; height: 0.5rem; }
.knowledge-clarify__dot-f { top: 50%; right: 3rem; width: 1.25rem; height: 1.25rem; }

/* Line decors */
.knowledge-clarify__line-a { top: 25%; left: 33%; width: 3rem; height: 0.125rem; }
.knowledge-clarify__line-b { bottom: 33%; right: 25%; width: 4rem; height: 0.125rem; }

/* Corner blob size */
.knowledge-clarify__corner-blob { width: 4rem; height: 4rem; }

.knowledge-clarify__story--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.knowledge-clarify__flare--glow:hover { transform: scale(1.25); transition: transform .2s ease; }

/* subscribe v19 — scrapbook sticky note: geometry shared by both CSS frameworks, no colors */
.mailing-sticky-note__section--py-4xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mxw-lg {
    max-width: 32rem !important;
}

.mailing-sticky-note__card {
    padding: 2rem;
    transform: rotate(-1.5deg);
}

.mailing-sticky-note__tape {
    top: -0.75rem;
    inset-inline-start: 1.5rem;
    width: 3.5rem;
    height: 1.5rem;
    transform: rotate(6deg);
}

.mailing-sticky-note__tape--alt {
    inset-inline-start: auto;
    inset-inline-end: 2rem;
    transform: rotate(-4deg);
}

.mailing-sticky-note__title {
    font-size: 1.5rem;
}

.mailing-sticky-note__text {
    margin-bottom: 2rem;
}

.mailing-sticky-note__row {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
}

.mailing-sticky-note__cta {
    padding: 0.75rem 1.5rem;
}

@media (min-width: 640px) {
    .mailing-sticky-note__row {
        flex-direction: row;
        align-items: flex-end;
    }
}

@media (min-width: 768px) {
    .mailing-sticky-note__card {
        padding: 2.5rem;
    }

    .mailing-sticky-note__title {
        font-size: 1.875rem;
    }
}

