.intro-centered-simple__content-area {
    max-width: 48rem;
}

.intro-centered-simple__text-block {
    max-width: 42rem;
}

@keyframes floatParticle1 {
    0% { 
        transform: translate(-20px, -20px) scale(0.8);
        opacity: 0.3;
    }
    25% { 
        transform: translate(20px, -30px) scale(1.2);
        opacity: 0.8;
    }
    50% { 
        transform: translate(30px, 20px) scale(0.9);
        opacity: 0.5;
    }
    75% { 
        transform: translate(-10px, 30px) scale(1.1);
        opacity: 0.7;
    }
    100% { 
        transform: translate(-20px, -20px) scale(0.8);
        opacity: 0.3;
    }
}

@keyframes floatParticle2 {
    0% { 
        transform: translate(15px, 15px) scale(1.1);
        opacity: 0.4;
    }
    30% { 
        transform: translate(-25px, 10px) scale(0.7);
        opacity: 0.8;
    }
    60% { 
        transform: translate(-15px, -25px) scale(1.3);
        opacity: 0.3;
    }
    90% { 
        transform: translate(20px, -15px) scale(0.9);
        opacity: 0.6;
    }
    100% { 
        transform: translate(15px, 15px) scale(1.1);
        opacity: 0.4;
    }
}

@keyframes floatParticle3 {
    0% { 
        transform: translate(0px, 0px) scale(0.8);
        opacity: 0.2;
    }
    25% { 
        transform: translate(30px, -20px) scale(1.2);
        opacity: 0.6;
    }
    50% { 
        transform: translate(-20px, 30px) scale(0.9);
        opacity: 0.4;
    }
    75% { 
        transform: translate(-30px, -10px) scale(1.1);
        opacity: 0.7;
    }
    100% { 
        transform: translate(0px, 0px) scale(0.8);
        opacity: 0.2;
    }
}

@keyframes floatParticle4 {
    0% { 
        transform: translate(-10px, -10px) scale(1.3);
        opacity: 0.5;
    }
    40% { 
        transform: translate(25px, 15px) scale(0.6);
        opacity: 0.8;
    }
    80% { 
        transform: translate(-15px, 25px) scale(1.4);
        opacity: 0.3;
    }
    100% { 
        transform: translate(-10px, -10px) scale(1.3);
        opacity: 0.5;
    }
}

@keyframes floatParticle5 {
    0% { 
        transform: translate(20px, 20px) scale(0.9);
        opacity: 0.3;
    }
    35% { 
        transform: translate(-30px, 20px) scale(1.3);
        opacity: 0.7;
    }
    70% { 
        transform: translate(20px, -30px) scale(0.7);
        opacity: 0.4;
    }
    100% { 
        transform: translate(20px, 20px) scale(0.9);
        opacity: 0.3;
    }
}

@keyframes floatParticle6 {
    0% { 
        transform: translate(-15px, -15px) scale(1.0);
        opacity: 0.4;
    }
    50% { 
        transform: translate(20px, -25px) scale(0.8);
        opacity: 0.8;
    }
    100% { 
        transform: translate(-15px, -15px) scale(1.0);
        opacity: 0.4;
    }
}

.profile-float-icon {
    top: -3rem;
    right: -2rem;
}

@keyframes bounce-kf {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-25%); }
}

.profile-bounce {
    animation: bounce-kf 1s infinite;
}

.profile-card-hover,
.profile-icon-hover,
.profile-copy-hover,
.profile-underline,
.profile-cta-hover {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.profile-feature-group:hover .profile-card-hover {
    transform: scale(1.05);
}

.profile-feature-group:hover .profile-overlay-hover {
    opacity: 0.2 !important;
}

.profile-feature-group:hover .profile-icon-hover {
    transform: scale(1.1);
}

.profile-feature-group:hover .profile-copy-hover {
    transform: translateY(0.25rem);
}

.profile-underline {
    height: 0.25rem;
    transform: scaleX(0);
    transform-origin: center;
}

.profile-description-group:hover .profile-underline {
    transform: scaleX(1);
}

@keyframes ping-kf {
    75%, 100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

.profile-ping {
    animation: ping-kf 1.2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.profile-cta-hover:hover {
    transform: scale(1.05);
}

.profile-particle-1 {
    top: 10%;
    left: 15%;
    animation: floatParticle1 8s ease-in-out infinite;
}

.profile-particle-2 {
    top: 20%;
    right: 20%;
    animation: floatParticle2 10s ease-in-out infinite;
    animation-delay: 1s;
}

.profile-particle-3 {
    top: 60%;
    left: 10%;
    animation: floatParticle3 12s ease-in-out infinite;
    animation-delay: 3s;
}

.profile-particle-4 {
    top: 80%;
    right: 15%;
    animation: floatParticle4 7s ease-in-out infinite;
    animation-delay: 2s;
}

.profile-particle-5 {
    top: 40%;
    left: 80%;
    animation: floatParticle5 9s ease-in-out infinite;
    animation-delay: 4s;
}

.profile-particle-6 {
    top: 70%;
    left: 60%;
    animation: floatParticle6 11s ease-in-out infinite;
    animation-delay: 1.5s;
}

.profile-sq-16 { width: 4rem;    height: 4rem;    flex-shrink: 0; }
.profile-sq-12 { width: 3rem;    height: 3rem;    flex-shrink: 0; }

/* team v23 — bento tiles */
.team-bento__item {
  position: relative;
  min-height: 15.625rem;
  height: 100%;
}

.team-bento__item--large {
  min-height: 21.875rem;
}

.team-bento__img {
  object-fit: cover;
  object-position: center;
}

.team-bento__shade {
  pointer-events: none;
}

.team-bento__blob {
  position: absolute;
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}

.team-bento__blob--1 {
  width: 18rem;
  height: 18rem;
  top: -4rem;
  left: -4rem;
  background: var(--bs-primary);
  animation: team-bento-blob-morph 8s infinite;
}

.team-bento__blob--2 {
  width: 14rem;
  height: 14rem;
  bottom: -3rem;
  right: -3rem;
  background: var(--bs-primary);
  animation: team-bento-blob-morph 10s infinite 2s;
}

@keyframes team-bento-blob-morph {
  0%, 100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
  50% { border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%; }
}

@media (min-width: 992px) {
  .team-bento__item--large {
    min-height: 21.875rem;
  }
}

.timeline-emblem {
    width: 5rem;
    height: 5rem;
}

.timeline-spark {
    width: 0.75rem;
    height: 0.75rem;
}

.timeline-cloud-left {
    width: 16rem;
    height: 16rem;
}

.timeline-cloud-right {
    width: 20rem;
    height: 20rem;
    animation-delay: 1s;
}

.timeline-cloud-center {
    width: 24rem;
    height: 24rem;
    animation-delay: 2s;
}

.timeline-outline-square {
    width: 5rem;
    height: 5rem;
    animation-duration: 3s;
}

.timeline-outline-orb {
    width: 4rem;
    height: 4rem;
    animation-duration: 4s;
    animation-delay: 1s;
}

.timeline-halo-start {
    width: 8rem;
    height: 8rem;
    animation-duration: 20s;
}

.timeline-halo-end {
    width: 10rem;
    height: 10rem;
    animation-duration: 25s;
    animation-direction: reverse;
}

.timeline-spark-side {
    animation-delay: 0.5s;
}

.timeline-spark-center {
    animation-delay: 1s;
}

.timeline-cloud-left,
.timeline-cloud-right,
.timeline-cloud-center {
    animation-name: timeline-cloud__pulse;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.timeline-outline-square,
.timeline-outline-orb {
    animation-name: timeline-outline__bounce;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.timeline-halo-start,
.timeline-halo-end {
    animation-name: timeline-halo__spin;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.timeline-spark-top,
.timeline-spark-side,
.timeline-spark-center {
    animation-name: timeline-spark__ping;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    animation-iteration-count: infinite;
}

@keyframes timeline-cloud__pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes timeline-outline__bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-25%); }
}

@keyframes timeline-halo__spin {
    to { transform: rotate(360deg); }
}

@keyframes timeline-spark__ping {
    0% { transform: scale(1); opacity: 1; }
    75%, 100% { transform: scale(2); opacity: 0; }
}

/* quote v12 — bookshelf shelf, velvet (SVG in template), smoke rise, extrude title, blur icon, clip reveal, gradient border spin */

.quote-shelf__velvet {
    animation: quoteShelfVelvetShimmer 8s ease-in-out infinite alternate;
}
@keyframes quoteShelfVelvetShimmer {
    0% { opacity: 0.35; }
    100% { opacity: 0.55; }
}

.quote-shelf__extrude {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    line-height: 1.2;
}

.quote-shelf__extrude--back {
    transform: translate(3px, 3px);
}
.quote-shelf__extrude--mid {
    transform: translate(6px, 6px);
}

.quote-shelf__smoke {
    position: absolute;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    bottom: 10%;
    animation: quoteShelfSmokeRise 5s ease-out infinite;
}
.quote-shelf__smoke--a { left: 12%; animation-delay: 0s; }
.quote-shelf__smoke--b { left: 28%; animation-delay: 1.1s; width: 0.375rem; height: 0.375rem; }
.quote-shelf__smoke--c { left: 52%; animation-delay: 2.4s; }
.quote-shelf__smoke--d { left: 71%; animation-delay: 0.7s; width: 0.625rem; height: 0.625rem; }
.quote-shelf__smoke--e { left: 88%; animation-delay: 3.2s; }
@keyframes quoteShelfSmokeRise {
    0% { transform: translateY(0) scale(0.6); opacity: 0; }
    12% { opacity: 0.75; }
    100% { transform: translateY(-9rem) scale(1.5); opacity: 0; }
}

.quote-shelf__pair {
    margin-left: -1rem;
    margin-right: -1rem;
}
@media (min-width: 768px) {
    .quote-shelf__pair {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }
}

.quote-shelf__stage {
    perspective: 900px;
}

.quote-shelf__book-inner {
    height: 100%;
}
.quote-shelf__book-inner > article,
.quote-shelf__book-inner > div {
    height: 100%;
}

.quote-shelf__book:nth-child(odd) .quote-shelf__book-inner {
    transform: rotateY(-2deg);
}
.quote-shelf__book:nth-child(even) .quote-shelf__book-inner {
    transform: rotateY(2deg);
}
.quote-shelf__book-inner {
    transition: transform 250ms ease;
}
.quote-shelf__book-inner:hover,
.quote-shelf__book-inner:focus-within {
    transform: rotateY(0deg) translateY(-0.35rem);
}

.quote-shelf__border-wrap {
    position: relative;
    padding: 2px;
}
.quote-shelf__border-spin {
    position: absolute;
    inset: -1px;
    animation: quoteShelfBorderPulse 3.5s ease-in-out infinite;
}
@keyframes quoteShelfBorderPulse {
    0%, 100% { transform: scale(1); opacity: 0.45; }
    50% { transform: scale(1.015); opacity: 1; }
}

.quote-shelf__icon-stage {
    width: 5.5rem;
    height: 5.5rem;
    overflow: hidden;
}
.quote-shelf__icon-blur {
    position: absolute;
    top: 50%;
    left: 50%;
    filter: blur(10px);
    opacity: 0.55;
    transform: translate(-50%, -50%) scale(1.35);
    line-height: 1;
}
.quote-shelf__icon-sharp {
    line-height: 1;
}

.quote-shelf__reveal {
    clip-path: inset(0 0 100% 0);
    max-height: 0;
    overflow: hidden;
    transition: clip-path 280ms ease, max-height 280ms ease;
}
.quote-shelf__book-inner:hover .quote-shelf__reveal,
.quote-shelf__book-inner:focus-within .quote-shelf__reveal {
    clip-path: inset(0 0 0 0);
    max-height: 5rem;
}

.quote-shelf__rail {
    height: 0.5rem;
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .quote-shelf-root [role="listitem"]:hover,
    .quote-shelf-root article:hover,
    .quote-shelf-root [class*="quote-shelf__card"]:hover,
    .quote-shelf-root .quote-shelf__book:hover,
    .quote-shelf-root .quote-shelf__step:hover,
    .quote-shelf-root .quote-shelf__index-card:hover,
    .quote-shelf-root .quote-shelf__pill:hover,
    .quote-shelf-root .quote-shelf__item:hover {
        transform: translateY(-0.125rem);
    }
}

.quote-shelf-root [role="listitem"],
.quote-shelf-root article,
.quote-shelf-root [class*="quote-shelf__card"],
.quote-shelf-root .quote-shelf__book,
.quote-shelf-root .quote-shelf__step,
.quote-shelf-root .quote-shelf__index-card,
.quote-shelf-root .quote-shelf__pill {
    transition: transform 200ms ease;
}

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

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

