/* STREAMING_CHUNK: Setting up CSS variables and global Montserrat typography... */
:root {
--sh-maroon: #AE152D;
--sh-maroon-hover: #AE152D;
--sh-gold: #fff;
--sh-gold-hover: #a37912;
--sh-dark: #1f1f1f;
--sh-ash: #000;
--sh-light-bg: #f8f9fa;
--font-montserrat: 'Montserrat', sans-serif;
}

/* Base modifications for the requested larger visual scale /
html {
scroll-behavior: smooth;
font-family: var(--font-montserrat);
font-size: 16px; / Bumper default readability size */
}

@media (min-width: 640px) {
html {
font-size: 17px; /* Enlarged layout parameters for tablet displays */
}
}

@media (min-width: 1024px) {
html {
font-size: 18px; /* High legibility desktop scaling */
}
}

body {
background-color: #ffffff;
color: #2b2b2b;
overflow-x: hidden;
font-family: var(--font-montserrat);
}

/* STREAMING_CHUNK: Styling layout header elements and navigation indicators... */
.nav-link-active {
border-bottom: 3px solid var(--sh-gold);
}

/* custom grid and spacing overrides */
.h-22 {
height: 5.5rem;
}

/* Hero elements matching image_bd4522.jpg */
.hero-gradient-overlay {
background: linear-gradient(135deg, rgba(158, 27, 36, 0.08) 0%, rgba(248, 249, 250, 1) 100%);
}

.pill-badge {
background-color: #0d8ca1;
color: #ffffff;
clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%);
}

/* STREAMING_CHUNK: Setting up fade-in transition rules for scroll observer... */
.animate-trigger {
opacity: 0;
transition: all 0.9s cubic-bezier(0.25, 1, 0.5, 1);
will-change: transform, opacity;
}

/* Light scroll animations */
.fade-in-up {
transform: translateY(35px);
}
.fade-in-up.animate-active {
opacity: 1;
transform: translateY(0);
}

.fade-in-down {
transform: translateY(-35px);
}
.fade-in-down.animate-active {
opacity: 1;
transform: translateY(0);
}

.fade-in-left {
transform: translateX(-40px);
}
.fade-in-left.animate-active {
opacity: 1;
transform: translateX(0);
}

.fade-in-right {
transform: translateX(40px);
}
.fade-in-right.animate-active {
opacity: 1;
transform: translateX(0);
}
.bg-sh-maroon{
	background-color:#AE152D !important;
}
/* STREAMING_CHUNK: Styling card containers and micro-interactions... */
.category-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.category-card:hover {
transform: translateY(-6px);
box-shadow: 0 15px 30px rgba(158, 27, 36, 0.12);
}

/* Pulsing play button overlay matching image_bd455c.jpg */
.pulse-play {
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
animation: pulse 1.8s infinite;
}

@keyframes pulse {
0% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
}
70% {
transform: scale(1);
box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
}
100% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}
}

/* STREAMING_CHUNK: Creating layout structure for shifted visual details... */
.welcome-portrait-frame {
position: relative;
}
.welcome-portrait-frame::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
background-color: var(--sh-maroon);
opacity: 0.12;
border-radius: 20px;
transform: rotate(-3deg);
z-index: -1;
}

/* Custom styled scrollbars */
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
background: var(--sh-maroon);
border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--sh-maroon-hover);
}