.border-stitched { border: 1px dashed var(--tw-colors-outline-variant); }
html { scroll-padding-top: 100px; }
.drop-cap::first-letter {
    font-family: 'Literata', serif;
    font-size: 3.5rem;
    line-height: 1;
    float: left;
    margin-right: 0.5rem;
    color: var(--tw-colors-primary);
    font-weight: 700;
}
.carousel-container { perspective: 1000px; position: relative; }
.carousel-card {
    transition: all 0.5s ease;
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: center center;
    cursor: pointer;
}
.carousel-card[data-position="left"] {
    transform: translate(-120%, -50%) scale(0.8) rotate(-5deg);
    z-index: 5;
    opacity: 0.7;
}
.carousel-card[data-position="center"] {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    z-index: 10;
    opacity: 1;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}
.carousel-card[data-position="right"] {
    transform: translate(20%, -50%) scale(0.8) rotate(5deg);
    z-index: 5;
    opacity: 0.7;
}
.carousel-card[data-position="hidden"] {
    transform: translate(-50%, -50%) scale(0.5);
    z-index: 1;
    opacity: 0;
    pointer-events: none;
}
.carousel-card[data-position="center"] .carousel-overlay,
.carousel-card[data-position="center"] .carousel-caption { opacity: 1; }
.carousel-card[data-position="center"] .carousel-label { opacity: 0; }
.carousel-card[data-position="left"] .carousel-caption,
.carousel-card[data-position="right"] .carousel-caption,
.carousel-card[data-position="left"] .carousel-overlay,
.carousel-card[data-position="right"] .carousel-overlay { opacity: 0; }
.text-shadow-strong {
    text-shadow: 0 2px 4px rgba(0,0,0,0.8), 0 4px 12px rgba(0,0,0,0.6);
}
