/* intro v23 — BAPE grunge wizard: film strip, giant numbers, clip-path wipe hover, height-expand step */

/* Full-width step photo — cinematic banner, object-fit has no BS utility */
.intro-grit__photo {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
}

/* Progress track height (no BS h-N utility) */
.intro-grit__track { height: 0.25rem; }

/* Clip-path reveal on hover: primary wipe grows from the corner */
.intro-grit__wipe {
    clip-path: circle(0% at 90% 10%);
    opacity: 0.12;
    transition: clip-path 420ms ease;
}
.intro-grit__card:hover .intro-grit__wipe {
    clip-path: circle(150% at 90% 10%);
}

/* Height-expand accordion-style step entrance */
.intro-grit__step {
    animation: intro-grit-expand 420ms ease;
    transform-origin: top;
}
@keyframes intro-grit-expand {
    from { opacity: 0; transform: scaleY(0.96) translateY(-0.5rem); }
    to   { opacity: 1; transform: scaleY(1) translateY(0); }
}

/* Progress bar transition */
.intro-grit__bar { transition: width 360ms ease; width: 0; }

/* Stepper dots — state via opacity, colour stays a Tailwind class */
.intro-grit__dot {
    width: 0.625rem;
    height: 0.625rem;
    opacity: 0.35;
    transition: opacity 200ms ease, transform 200ms ease;
}
.intro-grit__dot.is-active {
    opacity: 1;
    transform: scale(1.35);
}

@media (prefers-reduced-motion: reduce) {
    .intro-grit__step { animation: none; }
    .intro-grit__wipe { transition: none; }
}

.about-overview-v4__media {
    min-width: 0;
    overflow: hidden;
}

.overview-image-hover {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    transition: transform 0.3s ease;
}

.overview-image-hover:hover {
    transform: scale(1.05);
}

@keyframes pull-quote-monocle-timeline__fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.pull-quote-monocle-timeline__visible {
    animation: pull-quote-monocle-timeline__fade-up 0.7s ease forwards;
}

.pull-quote-monocle-timeline__quote-decor {
    font-size: 160px;
    line-height: 1;
    opacity: 0.3;
    font-family: Georgia, serif;
}

.pull-quote-monocle-timeline__quote-decor--left {
    top: 6rem;
    left: 2rem;
}

.pull-quote-monocle-timeline__quote-decor--right {
    bottom: 6rem;
    right: 2rem;
}

.pull-quote-monocle-timeline__title-size {
    font-size: clamp(1.5rem, 4vw, 3rem);
    letter-spacing: 0.15em;
}

.pull-quote-monocle-timeline__media-width {
    width: 12rem;
}

.pull-quote-monocle-timeline__thumb-square {
    aspect-ratio: 1;
}

.pull-quote-monocle-timeline__serif-font {
    font-family: Georgia, 'Times New Roman', serif;
}

.pull-quote-monocle-timeline__media-sm {
    max-width: 10rem;
}

.pull-quote-monocle-timeline__min-shrink {
  min-width: 0;
}

@media (min-width: 768px) {
    .pull-quote-monocle-timeline__item--split {
        display: flex;
        flex-direction: row-reverse;
        flex-wrap: wrap;
        gap: 3rem;
    }
}

#scroll-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* #scroll-container::-webkit-scrollbar {
  display: none;
} */
/* 
#scroll-container {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
} */

/* @media (pointer: fine) {
  #scroll-container {
    scroll-snap-type: x proximity;
  }
} */

.values-scroll-deck__hint-right {
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    right: 1rem;
}

.values-scroll-deck__hint-left {
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    left: 1rem;
}

.values-scroll-deck__item {
    scroll-snap-align: center;
    width: 90%;
    min-width: 280px;
}

@media (min-width: 768px) {
    .values-scroll-deck__item {
        width: 70%;
    }
}

@media (min-width: 992px) {
    .values-scroll-deck__item {
        width: 55%;
    }
}

.values-scroll-deck__card {
    min-height: 380px;
}

.values-scroll-deck__thumb {
    width: 6rem;
    height: 6rem;
}

.values-scroll-deck__overlay {
    height: 6rem;
}

.squad-row-tiles__cover {
    height: 16rem;
}

.squad-row-tiles__min-shrink {
  min-width: 0;
}

/* quote v11 — constellation layout, LED-style cards, CRT phosphor background */
/* All color values below are `currentColor` (inherited from the Tailwind/Bootstrap
   text-color utility on the same element) or plain theme-token utilities set in the
   template — no hex/rgb/hsl literals live here. */

.constellation-quote__phosphor {
    background-image: radial-gradient(circle at 50% 20%, currentColor, transparent 70%);
}

.constellation-quote__scanlines {
    background-image: repeating-linear-gradient(
        to bottom,
        currentColor 0,
        currentColor 1px,
        transparent 1px,
        transparent 4px
    );
    background-size: 100% 4px;
}

/* drifting noise-field blobs — layout/animation only, tint comes from the tw/bs bg utility */
.constellation-quote__blob {
    width: 18rem;
    height: 18rem;
    filter: blur(48px);
    animation: constellation-quote-drift 18s ease-in-out infinite;
}

.constellation-quote__blob--a {
    top: -4rem;
    left: -3rem;
    animation-delay: 0s;
}

.constellation-quote__blob--b {
    right: -3rem;
    bottom: -5rem;
    animation-delay: 6s;
}

.constellation-quote__blob--c {
    top: 38%;
    left: 55%;
    width: 14rem;
    height: 14rem;
    animation-delay: 12s;
}

@keyframes constellation-quote-drift {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: .55;
    }
    50% {
        transform: translate(2rem, -1.5rem) scale(1.12);
        opacity: .9;
    }
}

/* geometric constellation accents (pentagon / octagon) */
.constellation-quote__shape {
    width: 3rem;
    height: 3rem;
}

.constellation-quote__shape--pentagon {
    top: 1.5rem;
    right: 8%;
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}

.constellation-quote__shape--octagon {
    bottom: 2rem;
    left: 6%;
    width: 2.5rem;
    height: 2.5rem;
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

/* thin connecting lines between constellation nodes */
.constellation-quote__line {
    height: 1px;
}

.constellation-quote__line--a {
    top: 46%;
    left: 8%;
    width: 34%;
    transform: rotate(6deg);
}

.constellation-quote__line--b {
    top: 58%;
    right: 8%;
    width: 34%;
    transform: rotate(-8deg);
}

/* staggered node offsets for the constellation feel — margin (not transform) so grid gap stays intact */
.constellation-quote__col--2 {
    margin-top: 1.75rem;
}

.constellation-quote__col--3 {
    margin-top: 2.25rem;
}

.constellation-quote__col--4 {
    margin-top: 0.25rem;
}

.constellation-quote__card {
    min-height: 15rem;
    letter-spacing: .04em;
    transition: transform 200ms ease, box-shadow 200ms ease;
}

/* drag-to-reorder visual feedback — opacity only, no color change */
.constellation-quote__col.is-dragging {
    opacity: .4;
}

.constellation-quote__col.is-drop-target .constellation-quote__card {
    transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
    .constellation-quote__blob {
        animation: none;
    }
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .constellation-quote-root [role="listitem"]:hover,
    .constellation-quote-root article:hover,
    .constellation-quote-root [class*="constellation-quote__card"]:hover,
    .constellation-quote-root .constellation-quote__book:hover,
    .constellation-quote-root .constellation-quote__step:hover,
    .constellation-quote-root .constellation-quote__index-card:hover,
    .constellation-quote-root .constellation-quote__pill:hover,
    .constellation-quote-root .constellation-quote__item:hover {
        transform: translateY(-0.125rem);
    }
}

.constellation-quote-root [role="listitem"],
.constellation-quote-root article,
.constellation-quote-root [class*="constellation-quote__card"],
.constellation-quote-root .constellation-quote__book,
.constellation-quote-root .constellation-quote__step,
.constellation-quote-root .constellation-quote__index-card,
.constellation-quote-root .constellation-quote__pill {
    transition: transform 200ms ease;
}

.constellation-quote-root a:focus-visible,
.constellation-quote-root button:focus-visible,
.constellation-quote-root [tabindex="0"]:focus-visible,
.constellation-quote-root input:focus-visible,
.constellation-quote-root summary:focus-visible,
.constellation-quote-root [role="slider"]:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

@media (hover: hover) {
    .constellation-quote-root button:hover,
    .constellation-quote-root a:hover,
    .constellation-quote-root summary:hover {
        opacity: 0.92;
    }
}

