/* intro v26 — Dieter Rams node: hex grid, bottom band, blurred ghost image, serif, typewriter */

/* Hexagon-ish grid (minimal, colour from Tailwind text-*, lines via currentColor) */
.intro-node__hex {
    background-image:
        repeating-linear-gradient(60deg, currentColor 0 1px, transparent 1px 26px),
        repeating-linear-gradient(-60deg, currentColor 0 1px, transparent 1px 26px);
    opacity: 0.1;
}

.intro-node__band { height: 10rem; opacity: 0.7; }

/* Blurred background photo behind the spotlight node */
.intro-node__ghost { height: 14rem; }
.intro-node__img {
    object-fit: cover;
    filter: blur(10px);
    opacity: 0.35;
    transform: scale(1.08);
}

/* Serif heading */
.intro-node__serif {
    font-family: ui-serif, Georgia, "Times New Roman", serif;
}

/* Org-chart stem connector */
.intro-node__stem {
    width: 1px;
    height: 2rem;
}

/* Typewriter caret */
.intro-node__type .is-typing {
    border-right: 2px solid currentColor;
    animation: intro-node-caret 800ms step-end infinite;
}
@keyframes intro-node-caret {
    50% { border-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .intro-node__type .is-typing { animation: none; }
}

.services-tabs__serif,
[data-serif] {
    font-family: Georgia, "Times New Roman", Times, serif;
}

.services-tabs__btn {
    background-color: transparent;
}
.services-tabs__btn:hover {
    background-color: color-mix(in srgb, var(--bs-secondary-color) 6%, transparent);
}
.services-tabs__btn.is-active {
    border-color: var(--bs-primary) !important;
    background-color: color-mix(in srgb, var(--bs-primary) 8%, transparent) !important;
}

/* process editorial — full-bleed banner, serif display, step list */
.process-editorial__banner {
    aspect-ratio: 21 / 5;
    max-height: 16rem;
}

.process-editorial__banner-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.process-editorial__headline {
    font-family: Georgia, "Times New Roman", Times, serif;
}

.process-editorial__intro {
    max-width: 42rem;
}

.process-editorial__pill {
    letter-spacing: 0.02em;
}

.process-editorial__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.process-editorial__step-num {
    display: inline-block;
    min-width: 1.75rem;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.process-editorial__step:last-child {
    border-bottom: 0;
}

@media (min-width: 768px) {
    .process-editorial__banner {
        aspect-ratio: 21 / 4;
        max-height: 18rem;
    }
}

@media (min-width: 992px) {
    .process-editorial__nav {
        border-top: 0;
        padding-top: 0.5rem;
    }
}

@media (max-width: 991px) {
    .process-editorial__banner {
        aspect-ratio: 16 / 6;
        max-height: 14rem;
    }
}

/* Block: advantages-accordion-numbered — panel collapse (JS sets max-height) */
.advantages-accordion-numbered__panel-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.quad-reviews-quote__track {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    row-gap: 2rem;
}

@media (min-width: 768px) {
    .quad-reviews-quote__track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2.25rem;
    }
}

@media (min-width: 1024px) {
    .quad-reviews-quote__track {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 2.5rem;
    }
}

.quad-reviews-quote__col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

@media (min-width: 768px) {
    .quad-reviews-quote__col {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

.quad-reviews-quote__surface {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 0;
    flex: 1 1 auto;
}

@media (min-width: 768px) {
    .quad-reviews-quote__surface {
        gap: 1.25rem;
    }
}

/* cta split screen — full-height cover image */
.cta-split-screen__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 100vh;
}

@media (min-width: 1024px) {
  .cta-split-screen__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .cta-split-screen__grid {
    min-height: auto;
  }
}

.cta-split-screen__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

