/* intro v22 — Lavazza brutalist: blueprint grid, aurora sweep, outlined heading, progressive stagger */

/* Blueprint engineering-paper grid (colour from Tailwind text-*, lines via currentColor) */
.intro-blue__grid {
    background-image:
        repeating-linear-gradient(0deg, currentColor 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 28px);
    opacity: 0.16;
}

/* Aurora wave sweep horizontal */
.intro-blue__aurora {
    background-size: 200% 100%;
    opacity: 0.3;
    animation: intro-blue-aurora 7s ease-in-out infinite;
}
@keyframes intro-blue-aurora {
    0%, 100% { background-position: 0% 0%; }
    50%      { background-position: 100% 0%; }
}

/* Text-stroke outlined heading (hollow fill, stroke = the element's Tailwind colour) */
.intro-blue__title {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px currentColor;
    text-stroke: 2px currentColor;
    letter-spacing: -0.02em;
}

/* Progressive stagger reveal — pure CSS on the reliable [data-lane-item] attribute; always ends visible */
@keyframes intro-blue-rise {
    from { opacity: 0; transform: translateY(1.5rem); }
    to   { opacity: 1; transform: translateY(0); }
}
.intro-blue [data-lane-item] { animation: intro-blue-rise 500ms ease both; }
.intro-blue [data-lane-item]:nth-child(2) { animation-delay: 120ms; }
.intro-blue [data-lane-item]:nth-child(3) { animation-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
    .intro-blue__aurora { animation: none; }
    .intro-blue [data-lane-item] { animation: none; }
}

.snapshot-orb-one {
    top: 0;
    right: 0;
    width: 24rem;
    height: 24rem;
    filter: blur(3rem);
}

.snapshot-orb-two {
    bottom: 0;
    left: 0;
    width: 20rem;
    height: 20rem;
    filter: blur(3rem);
}

.snapshot-orb-three {
    top: 50%;
    left: 50%;
    width: 18rem;
    height: 18rem;
    transform: translate(-50%, -50%);
    filter: blur(2rem);
}


.snapshot-line-one {
    top: 25%;
}

.snapshot-line-two {
    right: 0;
    bottom: 25%;
}

.snapshot-circle-one {
    top: 5rem;
    right: 2.5rem;
    width: 5rem;
    height: 5rem;
}

.snapshot-circle-two {
    top: 10rem;
    left: 2.5rem;
    width: 3rem;
    height: 3rem;
}

.snapshot-circle-three {
    right: 5rem;
    bottom: 8rem;
    width: 4rem;
    height: 4rem;
}

.snapshot-circle-four {
    bottom: 5rem;
    left: 5rem;
    width: 6rem;
    height: 6rem;
}

.snapshot-title-line-one {
    top: -1rem;
    left: 50%;
    width: 6rem;
    transform: translateX(-50%);
}

.snapshot-title-line-two {
    top: -0.5rem;
    left: 50%;
    width: 4rem;
    transform: translateX(-50%);
}

.snapshot-title-accent {
    bottom: 0;
    left: 50%;
    width: 8rem;
    transform: translateX(-50%);
}

.snapshot-section-accent {
    bottom: -0.5rem;
    left: 50%;
    width: 5rem;
    transform: translateX(-50%);
}

.snapshot-divider-line {
    width: 1px;
}

.snapshot-icon-bs{padding: 10px;}


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

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

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

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


.briefing-chapter__bg-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.briefing-chapter__title-trail { margin-bottom: 2rem; }

.briefing-chapter__rule-trail {
    margin-bottom: 2rem;
    min-width: 6rem;
    height: 0.25rem;
}

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

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

/* 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;
  }
}

.perks-minimal-line__thumb {
    width: 3rem;
    height: 3rem;
}

.perks-minimal-line__badge {
    width: 2rem;
    height: 2rem;
}

@media (min-width: 640px) {
    .perks-minimal-line__group:hover .perks-minimal-line__card {
        transform: scale(1.02);
    }
}

.perks-minimal-line__card {
    transition: transform 0.3s ease;
}

.perks-minimal-line__rule {
    height: 2px;
    transition: opacity 0.3s ease;
}

.perks-minimal-line__group:hover .perks-minimal-line__rule {
    opacity: 1;
}

/* 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;
}

.google-map-full__iframe {
    width: 100%;
    min-height: 550px;
}

@media (min-width: 768px) {
    .google-map-full__iframe {
        min-height: 650px;
    }
}

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

@media (min-width: 768px) {
    .google-map-full__iframe {
        height: 650px;
        min-height: 650px;
    }
}


