/* ===== Base Animations ===== */
.fade-in-up {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.fade-in-up.visible { opacity: 1; transform: translateY(0); }
.fade-in-left {
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.fade-in-left.visible { opacity: 1; transform: translateX(0); }
.fade-in-right {
    opacity: 0;
    transform: translateX(28px);
    transition: opacity 0.7s cubic-bezier(0.22,1,0.36,1), transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.fade-in-right.visible { opacity: 1; transform: translateX(0); }

.stagger-1 { transition-delay: 80ms; }
.stagger-2 { transition-delay: 160ms; }
.stagger-3 { transition-delay: 240ms; }
.stagger-4 { transition-delay: 320ms; }
.stagger-5 { transition-delay: 400ms; }
.stagger-6 { transition-delay: 480ms; }

/* ===== Hero dot pattern ===== */
.hero-pattern {
    background-image: radial-gradient(circle at 2px 2px, rgba(160,34,30,0.06) 1px, transparent 0);
    background-size: 24px 24px;
}

/* ===== Shape blob for hero image ===== */
.shape-blob {
    clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 25%);
    border-radius: 60px 200px 60px 180px;
}

/* ===== Glass effect ===== */
.glass-nav { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }

/* ===== Navigation Drawer ===== */
#nav-drawer { transition: transform 0.32s cubic-bezier(0.4,0,0.2,1); }
#drawer-overlay { transition: opacity 0.32s ease; }

/* ===== Counter animation ===== */
.stat-counter { font-variant-numeric: tabular-nums; }

/* ===== Accordion ===== */
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.32s ease-out; }
.accordion-open .accordion-content { max-height: 300px; }

/* ===== Line clamp ===== */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ===== WordPress admin bar compensation ===== */
.admin-bar header { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar header { top: 46px; }
}

/* ===== Scrollbar styling ===== */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ===== Material symbols inline ===== */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

/* ===== Asymmetric accent border ===== */
.accent-border-left { border-left: 3px solid #a0221e; }

/* ===== WordPress content styles ===== */
.wp-content h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1rem; }
.wp-content h3 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.75rem; }
.wp-content p { margin-bottom: 1.25rem; line-height: 1.6; color: #5f5e5e; }
.wp-content ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25rem; }
.wp-content ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1.25rem; }
.wp-content a { color: #a0221e; text-decoration: underline; }
.wp-content img { max-width: 100%; height: auto; border-radius: 0.5rem; margin: 1.5rem 0; }
.wp-content blockquote { border-left: 4px solid #c23b33; padding-left: 1rem; font-style: italic; color: #5f5e5e; }
