.gist-cta-hover {
    transition: background-color 0.2s ease;
}

.gist-cta-hover:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.gist-paper {
    border-radius: 2px;
}

.gist-sq-8  { width: 2rem;   height: 2rem;   flex-shrink: 0; }
.gist-sq-10 { width: 2.5rem; height: 2.5rem; flex-shrink: 0; }
.gist-sq-12 { width: 3rem;   height: 3rem;   flex-shrink: 0; }
.gist-sq-16 { width: 4rem;   height: 4rem;   flex-shrink: 0; }
.gist-sq-20 { width: 5rem;   height: 5rem;   flex-shrink: 0; }

.gist-corner {
    width: 1.75rem;
    height: 1.75rem;
    border-color: var(--bs-primary) !important;
}

.gist-corner--top-start {
    border-top: 2px solid var(--bs-primary);
    border-left: 2px solid var(--bs-primary);
}

.gist-corner--top-end {
    border-top: 2px solid var(--bs-primary);
    border-right: 2px solid var(--bs-primary);
}

.gist-corner--bottom-start {
    border-bottom: 2px solid var(--bs-primary);
    border-left: 2px solid var(--bs-primary);
}

.gist-corner--bottom-end {
    border-bottom: 2px solid var(--bs-primary);
    border-right: 2px solid var(--bs-primary);
}

.gist-paper-lines {
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 11px,
        rgba(255, 255, 255, 0.4) 11px,
        rgba(255, 255, 255, 0.4) 12px
    );
}

.gist-meta-header {
    font-size: 0.6rem;
    letter-spacing: 0.25em;
}

.gist-field-label {
    font-size: 0.6rem;
    letter-spacing: 0.15em;
    min-width: 7.5rem;
}

.gist-note-radius {
    border-radius: 0 6px 6px 0;
}

.gist-note-rule {
    border-bottom: 4px solid var(--bs-primary);
}

.gist-divider-rule {
    height: 0.5rem;
    background-color: rgba(var(--bs-primary-rgb), 0.06);
    border-top: 2px solid rgba(var(--bs-primary-rgb), 0.35);
    border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.35);
}

.gist-seal-text {
    font-size: 0.5rem;
    letter-spacing: 0.05em;
}

.gist-footer-meta {
    font-size: 0.55rem;
    letter-spacing: 0.1em;
}

.gist-dot {
    width: 0.25rem;
    height: 0.25rem;
}

/* values v13 — accordion chevron rotation, CSS-only via details[open] */
.values-notion-stack__chevron {
    transition: transform 200ms ease;
}

details.values-notion-stack__summary,
details > .values-notion-stack__summary {
    /* no-op selector kept for clarity; actual toggle target is the chevron below */
}

details[open] > .values-notion-stack__summary .values-notion-stack__chevron,
details[open] .values-notion-stack__chevron {
    transform: rotate(180deg);
}

.values-notion-stack__summary {
    -webkit-tap-highlight-color: transparent;
}

.values-notion-stack__summary::-webkit-details-marker {
    display: none;
}

.values-notion-stack__idx {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: 0.05em;
}

.values-notion-stack__index-num {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.modern-vertical-timeline__line {
    width: 4px;
    left: 50%;
    transform: translateX(-50%);
}

.modern-vertical-timeline__events > * + * {
    margin-top: 2rem;
}

.modern-vertical-timeline__dot {
    width: 2rem;
    height: 2rem;
    left: 50%;
    transform: translateX(-50%);
}

.modern-vertical-timeline__dot-mobile {
    width: 2rem;
    height: 2rem;
}

.modern-vertical-timeline__summary-icon {
    width: 2rem;
    height: 2rem;
}

@media (min-width: 1024px) {
    .modern-vertical-timeline__col--reverse {
        margin-right: 0;
        margin-left: auto;
        padding-right: 0;
        padding-left: 1.25rem;
    }
}

@media (min-width: 992px) {
    .modern-vertical-timeline__col--reverse {
        margin-inline-start: auto;
        margin-inline-end: 0;
        padding-inline-end: 0;
        padding-inline-start: 1.5rem;
    }
}

/* team v29 — split quote layout + floating marks & sketch-line decor */
.team-quote__scene {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.team-quote__mark {
  position: absolute;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(5rem, 18vw, 13rem);
  line-height: 1;
  font-weight: 700;
  user-select: none;
  pointer-events: none;
}

.team-quote__mark--open {
  top: 6%;
  left: 4%;
  animation: team-quote-mark-drift 14s ease-in-out infinite;
}

.team-quote__mark--close {
  right: 5%;
  bottom: 10%;
  animation: team-quote-mark-drift 16s ease-in-out infinite reverse;
  animation-delay: 2s;
}

.team-quote__sketch {
  position: absolute;
  pointer-events: none;
}

.team-quote__sketch--tl {
  top: 4rem;
  left: 0;
  width: 10rem;
  height: 10rem;
}

.team-quote__sketch--br {
  right: 0;
  bottom: 5rem;
  width: 11rem;
  height: 11rem;
}

.team-quote__dots {
  position: absolute;
  top: 42%;
  right: 12%;
  display: flex;
  gap: 0.5rem;
  pointer-events: none;
}

.team-quote__sketch-svg {
  display: block;
  width: 100%;
  height: 100%;
}

.team-quote__sketch-path {
  stroke-linecap: round;
  stroke-dasharray: 280;
  stroke-dashoffset: 280;
}

.team-quote__sketch-path--a {
  animation: team-quote-sketch-draw 9s ease-in-out infinite alternate;
}

.team-quote__sketch-path--b {
  animation: team-quote-sketch-draw 11s ease-in-out infinite alternate-reverse;
  animation-delay: 1.5s;
}

.team-quote__dot {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: currentColor;
}

.team-quote__dot--a {
  animation: team-quote-dot-orbit 4s ease-in-out infinite;
}

.team-quote__dot--b {
  animation: team-quote-dot-orbit 4s ease-in-out infinite;
  animation-delay: 0.65s;
}

.team-quote__dot--c {
  animation: team-quote-dot-orbit 4s ease-in-out infinite;
  animation-delay: 1.3s;
}

@keyframes team-quote-mark-drift {
  0%,
  100% {
    transform: translateY(0) rotate(-8deg) scale(1);
    opacity: 0.2;
  }
  50% {
    transform: translateY(-1.25rem) rotate(5deg) scale(1.06);
    opacity: 0.38;
  }
}

@keyframes team-quote-sketch-draw {
  0% {
    stroke-dashoffset: 280;
    opacity: 0.25;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.75;
  }
}

@keyframes team-quote-dot-orbit {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.35;
  }
  33% {
    transform: translate(0.35rem, -0.65rem) scale(1.4);
    opacity: 1;
  }
  66% {
    transform: translate(-0.25rem, 0.45rem) scale(0.85);
    opacity: 0.5;
  }
}

.team-quote__image-wrap {
  position: relative;
  overflow: hidden;
}

.team-quote__image-wrap img {
  transition: transform 300ms ease;
}

.team-quote__image-wrap:hover img {
  transform: translateY(-2%);
}

.team-quote__img {
  width: 100%;
  height: 24rem;
  object-fit: cover;
  object-position: center;
  display: block;
}

.team-quote__bio {
  text-align: justify;
  text-align-last: left;
}

@media (max-width: 1024px) {
  .team-quote__bio {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-quote__mark,
  .team-quote__sketch-path,
  .team-quote__dot {
    animation: none;
  }

  .team-quote__sketch-path {
    stroke-dashoffset: 0;
    opacity: 0.4;
  }
}

/* quote v19 — weirdcore single focus: progress bar, sunburst, pulsing rings, annotation panel */

.quote-weirdcore__progress-fill {
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 120ms linear;
}

.quote-weirdcore__lead {
    font-variant: small-caps;
    letter-spacing: 0.04em;
}

.quote-weirdcore__stage {
    min-height: 18rem;
}

.quote-weirdcore__rays {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.quote-weirdcore__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 9999px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.quote-weirdcore__ring--1 {
    width: 8rem;
    height: 8rem;
    animation: quoteWeirdcorePulse 3s ease-out infinite;
}
.quote-weirdcore__ring--2 {
    width: 11rem;
    height: 11rem;
    animation: quoteWeirdcorePulse 3s ease-out infinite 0.6s;
}
.quote-weirdcore__ring--3 {
    width: 14rem;
    height: 14rem;
    animation: quoteWeirdcorePulse 3s ease-out infinite 1.2s;
}
@keyframes quoteWeirdcorePulse {
    0% { transform: translate(-50%, -50%) scale(0.85); opacity: 0.7; }
    70% { opacity: 0.15; }
    100% { transform: translate(-50%, -50%) scale(1.15); opacity: 0; }
}

.quote-weirdcore__frame {
    width: min(100%, 22rem);
}
.quote-weirdcore__dot {
    width: 0.5rem;
    height: 0.5rem;
    flex: none;
}
.quote-weirdcore__panel-body {
    min-height: 14rem;
}
.quote-weirdcore__panel-grid {
    opacity: 0.55;
}
.quote-weirdcore__panel-mark {
    margin-top: 0.125rem;
}
.quote-weirdcore__panel-badge {
    letter-spacing: 0.08em;
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .quote-weirdcore-root [role="listitem"]:hover,
    .quote-weirdcore-root article:hover,
    .quote-weirdcore-root [class*="quote-weirdcore__card"]:hover,
    .quote-weirdcore-root .quote-weirdcore__book:hover,
    .quote-weirdcore-root .quote-weirdcore__step:hover,
    .quote-weirdcore-root .quote-weirdcore__index-card:hover,
    .quote-weirdcore-root .quote-weirdcore__pill:hover,
    .quote-weirdcore-root .quote-weirdcore__item:hover {
        transform: translateY(-0.125rem);
    }
}

.quote-weirdcore-root [role="listitem"],
.quote-weirdcore-root article,
.quote-weirdcore-root [class*="quote-weirdcore__card"],
.quote-weirdcore-root .quote-weirdcore__book,
.quote-weirdcore-root .quote-weirdcore__step,
.quote-weirdcore-root .quote-weirdcore__index-card,
.quote-weirdcore-root .quote-weirdcore__pill {
    transition: transform 200ms ease;
}

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

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

.whyus-icon-circle__item {
    max-width: 24rem;
}

.whyus-icon-circle__thumb {
    width: 6rem;
    height: 6rem;
}

