/* Brand Colors */
:root {
	--primary-color: #4A90E2;  /* Bright blue */
	--secondary-color: #6B4EFF;  /* Purple */
	--background-color: #041848;  /* Deep blue */
	--text-color: #FFFFFF;
	--accent-color: #3498DB;  /* Light blue */
	--accent-hover: #2980B9;  /* Darker blue for hover */
	--accent-purple: #9B59B6;  /* Purple */
	--accent-gradient: linear-gradient(135deg, #4A90E2, #6B4EFF);  /* Blue to purple gradient */
	--text-light: #ffffff;
	--text-dark: #1A2A44;
	--text-muted: #95A5A6;
	--gradient-start: #1A2A44;
	--gradient-end: #2C3E50;
	--card-bg: rgba(255, 255, 255, 0.05);
	--card-hover: rgba(255, 255, 255, 0.1);
	--transition: all 0.3s ease;
	--shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	--shadow-hover: 0 8px 15px rgba(0, 0, 0, 0.2);
	/* Modal Variables */
	--modal-bg: rgba(0, 0, 0, 0.8);
	--modal-content-bg: var(--card-bg);
	--modal-border: 1px solid rgba(255, 255, 255, 0.1);
	--modal-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
	--modal-radius: 16px;
	--modal-padding: 2rem;
	--modal-width: 90%;
	--modal-max-width: 600px;
	--bg-dark: #1A2A44;
}

/* Modal Base Styles */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8) !important;
    backdrop-filter: blur(5px);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: var(--card-bg) !important;
    border: var(--modal-border);
    border-radius: var(--modal-radius);
    padding: var(--modal-padding);
    width: var(--modal-width);
    max-width: var(--modal-max-width);
    box-shadow: var(--modal-shadow);
    position: relative;
    color: var(--text-light);
}

.modal-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.modal-header h2 {
    color: var(--text-light);
    margin-bottom: 0.5rem;
    font-size: 1.75rem;
}

.modal-subtitle {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.modal-body {
    margin-top: 1rem;
}

.form-group {
    margin-bottom: 1rem;
}

.form-group input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-light);
    font-size: 1rem;
}

.form-group input:focus {
    outline: none;
    border-color: var(--accent-color);
    background: rgba(255, 255, 255, 0.1);
}

.consent-text {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    line-height: 1.4;
}

.form-actions {
    text-align: center;
}

.btn-primary {
    background: var(--accent-color);
    color: white;
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: var(--transition);
}

.btn-primary:hover {
    background: var(--accent-hover);
}

.form-message {
    margin-top: 1rem;
    padding: 0.75rem;
    border-radius: 4px;
    text-align: center;
    font-size: 0.9rem;
    display: none;
}

.form-message.error {
    background: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    display: block;
}

.magic-link-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    text-align: center;
    color: var(--text-light);
    font-size: 1.2rem;
    animation: fadeIn 0.7s;
}

.magic-link-message h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
    color: var(--accent-color);
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 768px) {
    .modal-content {
        padding: 1.5rem;
        margin: 1rem;
    }
    
    .modal-header h2 {
        font-size: 1.5rem;
    }
    
    .modal-subtitle {
        font-size: 0.85rem;
    }
    
    .form-group input {
        padding: 0.6rem;
        font-size: 0.95rem;
    }
    
    .btn-primary {
        padding: 0.6rem 1.5rem;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .modal-content {
        padding: 1.25rem;
        margin: 0.75rem;
    }
    
    .modal-header h2 {
        font-size: 1.35rem;
    }
    
    .modal-subtitle {
        font-size: 0.8rem;
    }
    
    .form-group input {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
    
    .btn-primary {
        padding: 0.5rem 1.25rem;
        font-size: 0.9rem;
    }
    
    .consent-text {
        font-size: 0.8rem;
    }
}

/* Modal Form Styles - Enhanced for better contrast and readability */
.modal .form-group {
    margin-bottom: 1.5rem;
}

.modal label {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--text-light);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.3px;
}

.modal input,
.modal textarea,
.modal select {
    width: 100%;
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.08);
    border: 2px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    color: var(--text-light);
    font-size: 1rem;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.modal input:hover,
.modal textarea:hover,
.modal select:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.25);
}

.modal input:focus,
.modal textarea:focus,
.modal select:focus {
    outline: none;
    border-color: var(--accent-color);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.25);
}

.modal input::placeholder,
.modal textarea::placeholder {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.95rem;
}

.modal textarea {
    min-height: 120px;
    resize: vertical;
    line-height: 1.6;
}

.modal select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.25rem center;
    background-size: 1rem;
    padding-right: 3rem;
    cursor: pointer;
}

.modal select option {
    background-color: var(--bg-dark);
    color: var(--text-light);
    padding: 1rem;
}

/* Form Validation Styles - Enhanced */
.modal .error-message {
    color: #ff6b6b;
    font-size: 0.9rem;
    margin-top: 0.5rem;
    display: none;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 107, 107, 0.1);
    border-radius: 4px;
    border-left: 3px solid #ff6b6b;
}

.modal .error-message.visible {
    display: block;
}

.modal input.error,
.modal textarea.error,
.modal select.error {
    border-color: #ff6b6b;
    background: rgba(255, 107, 107, 0.05);
}

.modal .success-message {
    color: #4CAF50;
    font-size: 0.9rem;
    margin-top: 0.5rem;
    display: none;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 4px;
    border-left: 3px solid #4CAF50;
}

.modal .success-message.visible {
    display: block;
}

/* Responsive adjustments for form elements */
@media (max-width: 768px) {
    .modal input,
    .modal textarea,
    .modal select {
        padding: 0.875rem 1rem;
        font-size: 0.95rem;
    }
    
    .modal label {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }
    
    .modal textarea {
        min-height: 100px;
    }
}

@media (max-width: 480px) {
    .modal input,
    .modal textarea,
    .modal select {
        padding: 0.75rem 0.875rem;
        font-size: 0.9rem;
    }
    
    .modal label {
        font-size: 0.9rem;
    }
    
    .modal .error-message,
    .modal .success-message {
        font-size: 0.85rem;
    }
}

.modal-footer {
    padding: 1rem 2rem 1.5rem;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Modal Button: Center content and add gap for icon */
.modal .cta-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
}

.modal .cta-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(var(--accent-rgb), 0.2);
}

/* Modal Close Button */
.modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: var(--text-light);
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 2;
}

.modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: rotate(90deg);
}

/* Modal Responsive Styles */
@media (max-width: 768px) {
    .modal {
        padding: 0.5rem;
    }
    
    .modal-content {
        max-height: calc(100vh - 1rem);
        border-radius: 12px;
    }
    
    .modal-header {
        padding: 1.25rem 1.5rem 1rem;
    }
    
    .modal-header h2 {
        font-size: 1.5rem;
    }
    
    .modal-subtitle {
        font-size: 1rem;
    }
    
    .modal-body {
        padding: 1.25rem 1.5rem;
    }
    
    .modal-footer {
        padding: 1rem 1.5rem 1.25rem;
    }
    
    .modal .cta-button {
        padding: 0.875rem;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .modal {
        padding: 0;
    }
    
    .modal-content {
        max-height: 100vh;
        border-radius: 0;
        margin: 0;
    }
    
    .modal-header {
        padding: 1rem 1.25rem 0.75rem;
    }
    
    .modal-header h2 {
        font-size: 1.35rem;
    }
    
    .modal-subtitle {
        font-size: 0.95rem;
    }
    
    .modal-body {
        padding: 1rem 1.25rem;
    }
    
    .modal-footer {
        padding: 0.75rem 1.25rem 1rem;
    }
    
    .modal .form-group {
        margin-bottom: 1rem;
    }
    
    .modal input,
    .modal textarea,
    .modal select {
        padding: 0.75rem 0.875rem;
        font-size: 0.9rem;
    }
    
    .modal textarea {
        min-height: 100px;
    }
}

/* Success Modal Styles */
.modal.success-modal .modal-content {
    text-align: center;
    max-width: 400px;
    padding: 2.5rem;
    background: var(--modal-bg) !important;
    border: var(--modal-border);
    border-radius: var(--modal-radius);
    box-shadow: var(--modal-shadow);
}

.success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    color: var(--accent-color);
    animation: iconPop 0.5s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(52, 152, 219, 0.1);
    border-radius: 50%;
}

.success-content h2 {
    color: var(--text-light);
    font-size: 1.75rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.success-content p {
    color: var(--text-muted);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.success-modal .modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: var(--text-light);
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 2;
}

.success-modal .modal-close:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: rotate(90deg);
}

@keyframes iconPop {
    0% {
        transform: scale(0.5);
        opacity: 0;
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Modal Variants */
.modal.success-modal .modal-content {
	text-align: center;
	padding: 3rem var(--modal-padding);
}

/* Modal Form Styles */
.modal .form-group {
	margin-bottom: 1.5rem;
}

.modal label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--text-light);
	font-weight: 500;
}

.modal input,
.modal textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	color: var(--text-light);
	transition: var(--transition);
}

.modal input:focus,
.modal textarea:focus {
	outline: none;
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.15);
}

/* Modal Close Button */
.modal-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: none;
	border: none;
	color: var(--text-muted);
	font-size: 1.5rem;
	cursor: pointer;
	transition: var(--transition);
	padding: 0.5rem;
	line-height: 1;
}

.modal-close:hover {
	color: var(--text-light);
	transform: rotate(90deg);
}

/* Modal Animations */
@keyframes modalSlideIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Modal Responsive Styles */
@media (max-width: 768px) {
	.modal {
		padding: 1rem 0;
	}
	
	.modal-content {
		width: 95%;
		padding: 1.5rem;
		max-height: calc(100vh - 2rem);
	}

	.modal-header h2 {
		font-size: 1.5rem;
	}

	.modal-subtitle {
		font-size: 1rem;
	}

	.modal-close {
		top: 0.75rem;
		right: 0.75rem;
	}
}

@media (max-width: 480px) {
	.modal {
		padding: 0.5rem 0;
	}
	
	.modal-content {
		width: 98%;
		padding: 1.2rem;
		max-height: calc(100vh - 1rem);
		margin: 0.5rem auto;
	}
	
	.modal-header h2 {
		font-size: 1.2rem;
		margin-bottom: 0.5rem;
	}
	
	.modal-subtitle {
		font-size: 0.9rem;
		margin-bottom: 1rem;
	}
	
	.modal-close {
		top: 0.5rem;
		right: 0.5rem;
		font-size: 1.2rem;
	}
	
	.modal .form-group {
		margin-bottom: 1rem;
	}
	
	.modal input,
	.modal textarea,
	.modal select {
		padding: 0.6rem 0.8rem;
		font-size: 0.9rem;
	}
	
	.modal textarea {
		min-height: 100px;
	}
}

@media (max-width: 600px) {
	.modal {
		align-items: flex-start;
	}
	.modal-content {
		max-width: 98vw;
		width: 98vw;
		max-height: 100vh;
		overflow-y: auto;
		padding: 1.2rem 0.7rem 1.2rem 0.7rem;
		border-radius: 10px;
		margin-top: 0;
	}
	.modal-header {
		margin-top: 0;
	}
	.modal-header h2 {
		font-size: 1.2rem;
		margin-bottom: 0.3rem;
		margin-top: 0.3rem;
	}
	.modal-subtitle {
		font-size: 0.95rem;
		margin-bottom: 0.7rem;
		margin-top: 0.2rem;
	}
	.modal-close {
		top: 0.5rem;
		right: 0.5rem;
		font-size: 1.2rem;
		padding: 0.2rem;
	}
	.modal-footer {
		padding-top: 0.7rem;
	}
	.cta-button.primary {
		width: 100%;
		font-size: 1rem;
		margin: 0.5rem 0 0.5rem 0;
	}
}

@media (max-width: 480px) {
	.modal {
		align-items: flex-start;
	}
	.modal-content {
		max-width: 99vw;
		width: 99vw;
		max-height: 100vh;
		overflow-y: auto;
		padding: 0.7rem 0.2rem 0.7rem 0.2rem;
		border-radius: 8px;
		margin-top: 0;
	}
	.modal-header {
		margin-top: 0;
	}
	.modal-header h2 {
		font-size: 1rem;
		margin-top: 0.2rem;
	}
	.modal-subtitle {
		font-size: 0.85rem;
		margin-top: 0.1rem;
	}
	.modal-close {
		top: 0.3rem;
		right: 0.3rem;
		font-size: 1rem;
		padding: 0.1rem;
	}
	.cta-button.primary {
		margin-bottom: 0.7rem;
	}
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Aileron', Arial, sans-serif;
	line-height: 1.6;
	color: var(--text-color);
	background: var(--background-color);
	min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5 {
	font-family: 'Aileron', Arial, sans-serif;
	color: var(--text-color);
	font-weight: 600;
	line-height: 1.3;
}

a {
	color: var(--text-light);
	text-decoration: none;
	transition: var(--transition);
}

a:hover {
	color: var(--accent-color);
}

/* Container */
.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
}

/* Header & Navigation */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(26, 42, 68, 0.98);
	backdrop-filter: blur(10px);
	z-index: 1000;
	padding: 0.5rem 0;
	min-height: unset;
	box-shadow: var(--shadow);
}

.header-content {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.logo {
	display: flex;
	align-items: center;
	gap: 0.75rem; /* Reduced gap for tighter look */
	text-decoration: none;
}

.header-logo {
	height: 56px; /* Slightly smaller for compactness */
	width: 56px;
	display: block;
	padding: 2px; /* Add subtle padding for balance */
	background: rgba(255,255,255,0.03); /* Subtle background for contrast */
	border-radius: 8px; /* Softer corners */
}

.header-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.05;
}

.header-title .ai-in {
	color: var(--text-light);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin-bottom: 0.1rem;
}

.header-title .australia {
	color: var(--secondary-color); /* Use palette orange for consistency */
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	margin-top: -0.1rem;
}

@media (max-width: 600px) {
	.header-content {
		justify-content: flex-start;
		align-items: center;
		gap: 0.5rem;
		text-align: left;
	}
	.header-title {
		flex-direction: row;
		align-items: center;
		gap: 0.25rem;
	}
	.header-title .ai-in,
	.header-title .australia {
		font-size: 1.1rem;
	}
	.header-logo {
		height: 38px;
		width: 38px;
	}
	.site-header {
		padding: 0.5rem 0;
		height: 60px;
	}
}

/* Remove old .company-name and .gradient-text styles if not used */
.company-name, .gradient-text, .standard-text {
	display: none !important;
}

.main-nav {
    display: flex;
    align-items: center;
    margin-left: auto; /* This ensures the nav takes up remaining space */
}

.main-nav ul {
    display: flex;
    gap: 2rem;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: auto; /* This right-aligns the menu items */
}

.main-nav a {
	color: var(--text-light);
	text-decoration: none;
	font-weight: 500;
	transition: var(--transition);
	position: relative;
}

.main-nav a::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--accent-gradient);
	transition: var(--transition);
}

.main-nav a:hover::after {
	width: 100%;
}

/* Hero Section */
.hero {
	padding: 120px 0 60px;
	text-align: center;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%);
	position: relative;
	overflow: hidden;
	min-height: 50vh;
	display: flex;
	align-items: center;
}

.hero-slider {
	position: relative;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 2rem 0;
}

.hero-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out;
	text-align: center;
	padding: 2rem 1rem;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	transform: translateY(20px);
}

.hero-slide.active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
	position: relative;
	transform: translateY(0);
}

.hero-slide h1 {
	font-size: 3.5rem;
	margin-bottom: 2rem;
	color: var(--text-light);
	line-height: 1.2;
	max-width: 900px;
}

.hero-slide .cta-buttons {
	margin-top: 0;
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* Hero Controls */
.hero-controls {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	padding: 0 2rem;
	pointer-events: none;
	z-index: 2;
}

.hero-dots {
	position: absolute;
	left: 50%;
	bottom: 2rem;
	transform: translateX(-50%);
	display: flex;
	gap: 0.8rem;
	z-index: 3;
	padding: 0.5rem 1rem;
	background: rgba(26, 42, 68, 0.3);
	backdrop-filter: blur(8px);
	border-radius: 50px;
}

.hero-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid var(--text-light);
	background: transparent;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
	position: relative;
}

.hero-dot:hover {
	transform: scale(1.2);
	border-color: var(--accent-color);
}

.hero-dot.active {
	background: var(--accent-gradient);
	border: none;
	transform: scale(1.1);
}

.hero-dot:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.3);
}

.hero-dot:focus:not(:focus-visible) {
	box-shadow: none;
}

/* Add transition lock indicator */

/* Hero Controls */
.hero-controls {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	padding: 0 2rem;
	pointer-events: none;
	z-index: 2;
}

.hero-dots {
	position: absolute;
	left: 50%;
	bottom: 2rem;
	transform: translateX(-50%);
	display: flex;
	gap: 0.8rem;
	z-index: 3;
}

.hero-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid var(--text-light);
	background: transparent;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.hero-dot.active {
	background: var(--accent-gradient);
	border: none;
}

/* Responsive adjustments for hero section */
@media (max-width: 768px) {
	.hero {
		padding: 100px 0 40px;
		min-height: 45vh;
	}
	.hero-slider {
		padding: 1.5rem 0;
	}
	.hero-slide {
		min-height: 200px;
		padding: 1.5rem 1rem;
	}
	.hero-slide h1 {
		font-size: 2.5rem;
		margin-bottom: 1.5rem;
	}
	.hero-slide .cta-buttons {
		gap: 0.75rem;
	}
}

@media (max-width: 600px) {
	.hero {
		padding: 80px 0 30px;
		min-height: 40vh;
	}
	.hero-slider {
		padding: 1rem 0;
	}
	.hero-slide {
		min-height: 180px;
		padding: 1rem;
	}
	.hero-slide h1 {
		font-size: 2rem;
		margin-bottom: 1.25rem;
	}
	.hero-slide .cta-buttons {
		flex-direction: column;
		gap: 0.5rem;
	}
	.hero-slide .cta-button {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.hero {
		padding: 60px 0 20px;
		min-height: 35vh;
	}
	.hero-slide {
		min-height: 160px;
	}
	.hero-slide h1 {
		font-size: 1.75rem;
		margin-bottom: 1rem;
	}
}

/* Buttons */
.cta-buttons {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.cta-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    font-size: 0.95rem;
    text-align: center;
}

.cta-button.primary {
    font-size: 1.15rem;
    padding: 1rem 2.5rem;
    border-radius: 8px;
    background: linear-gradient(90deg, #4A90E2 60%, #6B4EFF 100%);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 4px 16px rgba(74, 144, 226, 0.18);
    border: none;
    transition: background 0.3s, box-shadow 0.3s, color 0.3s;
}

.cta-button.primary:hover {
    background: linear-gradient(90deg, #4A90E2 0%, #6B4EFF 100%);
    color: #FFFFFF;
    box-shadow: 0 8px 32px rgba(74, 144, 226, 0.22);
    transform: translateY(-2px) scale(1.04);
}

.cta-button.secondary {
    background: transparent;
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
    font-weight: 600;
}

.cta-button.secondary:hover {
    background: var(--secondary-color);
    color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 144, 226, 0.2);
}

.cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: var(--transition);
}

.cta-button:hover::before {
    left: 100%;
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

/* Ensure secondary buttons maintain their styles when combined with other classes */
.cta-button.secondary.learn-more,
.cta-button.secondary[class*="learn-more"] {
    background: transparent;
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
}

.cta-button.secondary.learn-more:hover,
.cta-button.secondary[class*="learn-more"]:hover {
    background: var(--secondary-color);
    color: var(--primary-color);
}

/* Sections */
section {
	padding: 6rem 0;
	position: relative;
}

section h2 {
	font-size: 2.5rem;
	margin-bottom: 3rem;
	text-align: center;
	color: var(--text-light);
}

/* Cards */
.service-card,
.article-card {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 8px;
	transition: var(--transition);
	border: 1px solid rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
}

.service-card:hover,
.article-card:hover {
	transform: translateY(-5px);
	background: var(--card-hover);
	box-shadow: var(--shadow-hover);
	border-color: var(--accent-color);
}

/* Service Cards */
.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.service-card h3 {
	margin-bottom: 1rem;
	color: var(--accent-color);
}

.service-features {
	list-style: none;
	margin-top: 1rem;
}

.service-features li {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
	position: relative;
	color: var(--text-muted);
}

.service-features li::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--accent-color);
}

/* Why Us Section */
.why-us {
	padding: 6rem 0;
	background: linear-gradient(135deg,
			rgba(26, 42, 68, 0.95) 0%,
			rgba(44, 62, 80, 0.95) 100%);
	position: relative;
}

.why-us::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at center,
			rgba(52, 152, 219, 0.1) 0%,
			transparent 70%);
	z-index: 1;
}

.why-us .container {
	position: relative;
	z-index: 2;
}

.why-us-intro {
	max-width: 800px;
	margin: 0 auto 4rem;
	text-align: center;
}

.why-us-intro h2 {
	color: var(--text-light);
	margin-bottom: 1.5rem;
	font-size: 2.5rem;
}

.why-us-tagline {
	color: var(--accent-color);
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	font-weight: 500;
}

.why-us-description {
	color: var(--text-light);
	font-size: 1.1rem;
	line-height: 1.6;
	opacity: 0.9;
	margin-bottom: 2rem;
}

.difference-list {
	max-width: 900px;
	margin: 0 auto;
}

.difference-item {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(52, 152, 219, 0.2);
	border-radius: 12px;
	padding: 2rem;
	margin-bottom: 1.5rem;
	transition: all 0.3s ease;
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
}

.difference-item:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--accent-color);
}

.difference-item .check-icon {
	color: var(--accent-color);
	font-size: 1.5rem;
	flex-shrink: 0;
	margin-top: 0.2rem;
}

.difference-content h3 {
	color: var(--accent-color);
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
}

.difference-content p {
	color: var(--text-light);
	font-size: 1.05rem;
	line-height: 1.6;
	opacity: 0.9;
	margin: 0;
}

@media (max-width: 768px) {
	.why-us {
		padding: 4rem 0;
	}

	.why-us-intro h2 {
		font-size: 2rem;
	}

	.why-us-tagline {
		font-size: 1.25rem;
	}

	.difference-item {
		padding: 1.5rem;
		flex-direction: column;
		gap: 1rem;
	}
}

/* Founders Section */
.founders-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 3rem;
    margin-top: 2rem;
}

.founder-card {
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.founder-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: var(--accent-color);
}

.founder-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
}

.founder-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.founder-card:hover .founder-image img {
    transform: scale(1.05);
}

.founder-content {
    padding: 2rem;
}

.founder-content h3 {
    color: var(--accent-color);
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.founder-title {
    color: var(--text-light);
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
    opacity: 0.9;
}

.founder-bio {
    color: var(--text-muted);
    line-height: 1.7;
    font-size: 1rem;
}

.founder-linkedin {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--accent-color);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    margin-top: 1.5rem;
    padding: 0.75rem 1.25rem;
    border: 2px solid var(--accent-color);
    border-radius: 8px;
    transition: var(--transition);
    background: transparent;
}

.founder-linkedin:hover {
    background: var(--accent-color);
    color: var(--text-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.founder-linkedin i {
    font-size: 1.1rem;
}

/* Responsive Design for Founders */
@media (max-width: 768px) {
    .founders-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .founder-card {
        margin-bottom: 1rem;
    }
    
    .founder-image {
        height: 200px;
    }
    
    .founder-content {
        padding: 1.5rem;
    }
    
    .founder-content h3 {
        font-size: 1.6rem;
    }
    
    .founder-title {
        font-size: 1rem;
    }
    
    .founder-bio {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .founder-image {
        height: 180px;
    }
    
    .founder-content {
        padding: 1.25rem;
    }
    
    .founder-content h3 {
        font-size: 1.4rem;
    }
}

/* Thought Leadership Page Styles */

.articles-section {
	padding: 80px 0;
	background: var(--bg-dark);
}

.articles-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.article-card {
	background: var(--bg-darker);
	border-radius: 12px;
	overflow: hidden;
	transition: transform 0.3s ease;
}

.article-card:hover {
	transform: translateY(-5px);
}

.article-content {
  width: 80%;
  max-width: none;
  margin: 0 auto;
  font-size: 1.15rem;
  line-height: 1.7;
  color: #f3f6fa;
  background: rgba(255,255,255,0.01);
  padding: 2rem 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}

.article-content p {
	margin-bottom: 1.3em;
}

.article-content h2, .article-content h3 {
	margin-top: 2em;
	margin-bottom: 0.7em;
	color: var(--accent-color);
	font-weight: 600;
}

.article-content blockquote {
	border-left: 4px solid var(--accent-color);
	background: rgba(52,152,219,0.08);
	margin: 1.5em 0;
	padding: 1em 1.5em;
	font-style: italic;
	color: #fff;
}

.article-content ul, .article-content ol {
	margin-left: 2em;
	margin-bottom: 1.3em;
}

.article-content strong {
	color: var(--accent-color);
}

.article-content img {
	max-width: 100%;
	margin: 1.5em 0;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.article-meta {
	font-size: 0.9rem;
	color: var(--text-muted);
	margin-bottom: 1rem;
}

.article-excerpt {
	color: var(--text-light);
	opacity: 0.9;
	margin-bottom: 1.5rem;
	line-height: 1.6;
}

.article-links {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.article-links a {
	padding: 0.5rem 1rem;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.3s ease;
}

.article-links .read-more {
	background: var(--primary);
	color: var(--text-light);
}

.article-links a:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {

	.articles-grid {
		grid-template-columns: 1fr;
	}

	.article-links {
		flex-direction: column;
	}

	.article-links a {
		width: 100%;
		text-align: center;
	}
}

/* Newsletter Section */
.newsletter {
	background: var(--card-bg);
	padding: 4rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.newsletter-description {
	text-align: center;
	max-width: 600px;
	margin: 0 auto 2rem;
	color: var(--text-muted);
}

.newsletter-form {
	display: flex;
	gap: 1rem;
	max-width: 500px;
	margin: 0 auto;
}

.newsletter-form input {
	flex: 1;
	padding: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--text-light);
	transition: var(--transition);
}

.newsletter-form input:focus {
	outline: none;
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.1);
}

.newsletter-note {
	text-align: center;
	margin-top: 1rem;
	font-size: 0.9rem;
	color: var(--text-muted);
}

/* Newsletter Message Styles */
.newsletter-message {
	margin-bottom: 1.5em;
	padding: 1rem;
	border-radius: 8px;
	text-align: center;
	font-size: 0.95rem;
	font-weight: 500;
	animation: fadeInUp 0.5s ease-out;
}

.newsletter-message.success {
	background: rgba(76, 175, 80, 0.1);
	color: #4CAF50;
	border: 1px solid rgba(76, 175, 80, 0.2);
}

.newsletter-message.error {
	background: rgba(220, 53, 69, 0.1);
	color: #dc3545;
	border: 1px solid rgba(220, 53, 69, 0.2);
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Footer */
.footer {
    background: linear-gradient(135deg, #5bb6ff 0%, #4A90E2 40%, #6B4EFF 100%);
    padding: 3rem 0 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 -8px 32px 0 rgba(74, 144, 226, 0.08);
    position: relative;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
    align-items: start;
}

.footer h4 {
    color: #fff;
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1rem;
    opacity: 0.95;
}

.footer-social a,
.footer-legal a {
    color: #eaf6ff;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    transition: var(--transition);
    text-decoration: none;
    display: inline-block;
    padding: 0.25rem 0;
}

.footer-social a:hover,
.footer-legal a:hover {
    color: #fff;
    transform: translateX(5px);
}

.footer .footer-address {
    color: #e0dfff;
    font-size: 1rem;
    font-style: italic;
    opacity: 0.92;
    line-height: 1.4;
}

.social-links {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.copyright {
    color: #dbeafe;
    font-size: 0.95rem;
    opacity: 0.85;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.10);
    margin-top: 1rem;
    text-align: center;
}

@media (max-width: 768px) {
    .footer {
        padding: 2rem 0 1rem;
    }
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }
    .footer-address {
        grid-column: 1 / -1;
        text-align: center;
    }
    .copyright {
        font-size: 0.9rem;
        padding-top: 1rem;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .social-links {
        justify-content: center;
    }
    .footer h4 {
        margin-bottom: 0.75rem;
    }
}

/* Scroll Animations */
[data-aos] {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Responsive Design */
@media (max-width: 768px) {
	.main-nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		right: 0;
		bottom: 0;
		background: rgba(26, 42, 68, 0.98);
		backdrop-filter: blur(10px);
		padding: 5rem 2rem 2rem;
		overflow-y: auto;
		z-index: 9999; /* Ensure menu is on top of all content */
	}

	.main-nav.active {
		display: block;
	}

	.main-nav.active::before {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, 0.5);
		z-index: 9998;
	}

	.main-nav ul {
		position: relative;
		z-index: 10001;
	}

	.mobile-menu-toggle {
		z-index: 10002;
	}
	.mobile-menu-toggle.active {
		position: fixed;
		right: 2rem;
		top: 1rem;
	}
	.dropdown.active .dropdown-content {
		position: relative;
		z-index: 10002;
	}

	.main-nav ul {
		flex-direction: column;
		gap: 1rem;
	}

	.dropdown {
		width: 100%;
	}

	.dropdown-content {
		position: static;
		background: none;
		box-shadow: none;
		padding: 0;
		margin: 0.5rem 0;
		display: none;
	}

	.dropdown-content a {
		padding: 0.5rem 1rem;
	}

	.hero h1 {
		font-size: 2.5rem;
	}

	.newsletter-form {
		flex-direction: column;
	}

	.cta-buttons {
		flex-direction: column;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.social-links {
		justify-content: center;
	}

	.floating-contact {
		bottom: 1rem;
		right: 1rem;
		padding: 0.75rem 1.5rem;
	}
}

@media (max-width: 480px) {
	.main-nav {
		padding: 1rem;
	}
	
	.main-nav ul {
		flex-direction: column;
		gap: 1rem;
	}

	.dropdown {
		width: 100%;
	}

	.dropdown-content {
		position: static;
		background: none;
		box-shadow: none;
		padding: 0;
		margin: 0.5rem 0;
		display: none;
	}

	.dropdown-content a {
		padding: 0.5rem 1rem;
	}

	.hero h1 {
		font-size: 2.5rem;
	}

	.newsletter-form {
		flex-direction: column;
	}

	.cta-buttons {
		flex-direction: column;
	}

	.footer-grid {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.social-links {
		justify-content: center;
	}

	.floating-contact {
		bottom: 1rem;
		right: 1rem;
		padding: 0.75rem 1.5rem;
	}
}

/* Modal Styles */
.login-content {
	background-color: var(--primary-color);
	padding: 2rem;
	border-radius: 8px;
	max-width: 400px;
	width: 90%;
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.login-header {
	margin-bottom: 2rem;
	text-align: center;
}

.login-header h2 {
	color: var(--text-light);
	margin-bottom: 0.5rem;
}

.login-header p {
	color: var(--text-muted);
}

.login-form .form-group {
	margin-bottom: 1.5rem;
	text-align: left;
}

.login-form label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--text-light);
	font-weight: 500;
}

.login-form input {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-light);
	font-size: 1rem;
}

.login-form input:focus {
	outline: none;
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.15);
}

.login-form .form-actions {
	margin-top: 2rem;
}

.error-message {
	color: #ff6b6b;
	text-align: center;
	margin-top: 1rem;
	font-size: 0.9rem;
	display: none;
}

.error-message.visible {
	display: block;
}

/* Logout Link */

/* Success Modal Styles */
.success-modal .modal-content {
    background: #fff !important;
    text-align: center;
    max-width: 400px;
    animation: modalSlideIn 0.3s ease-out;
}

.success-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: rgba(52, 152, 219, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent-color);
    animation: iconPop 0.5s ease-out 0.2s both;
}

.success-content h2 {
    color: var(--text-light);
    margin-bottom: 1rem;
    font-size: 1.8rem;
}

.success-content p {
    color: var(--text-muted);
    margin-bottom: 2rem;
    font-size: 1.1rem;
    line-height: 1.6;
}

.success-content .cta-button {
    min-width: 120px;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes iconPop {
    0% {
        opacity: 0;
        transform: scale(0.5);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Careers Page Styles */
.careers-hero {
	min-height: 40vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px 0 60px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 100%);
	position: relative;
	overflow: hidden;
}

.careers-hero h1 {
	font-size: 3.5rem;
	margin-bottom: 1rem;
	color: var(--text-light);
	font-weight: 700;
	background: linear-gradient(to right, var(--text-light), var(--accent-color));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.careers-hero .subtext {
	font-size: 1.25rem;
	color: var(--text-light);
	opacity: 0.9;
	max-width: 800px;
	margin: 0 auto;
}

/* Culture Section */
.culture {
	padding: 80px 0;
	background: var(--bg-dark);
}

.culture h2 {
	font-size: 2.5rem;
	margin-bottom: 3rem;
	text-align: center;
	color: var(--text-light);
}

.culture-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.culture-card {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 12px;
	text-align: center;
	transition: var(--transition);
	border: 1px solid rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

.culture-card:hover {
	transform: translateY(-5px);
	background: var(--card-hover);
	border-color: var(--accent-color);
	box-shadow: var(--shadow-hover);
}

.culture-icon {
	font-size: 2.5rem;
	margin-bottom: 1.5rem;
	color: var(--accent-color);
}

.culture-card h3 {
	color: var(--accent-color);
	margin-bottom: 1rem;
	font-size: 1.5rem;
}

.culture-card p {
	color: var(--text-muted);
	line-height: 1.6;
}

/* Benefits Section */

/* Positions Section */
.positions-section {
	padding: 80px 0;
	background: var(--bg-dark);
}

.positions-section h2 {
	font-size: 2.5rem;
	margin-bottom: 1.5rem;
	text-align: center;
	color: var(--text-light);
}

.positions-section > .container > p {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 3rem;
	color: var(--text-muted);
	font-size: 1.1rem;
	line-height: 1.6;
}

.positions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.position-card {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 12px;
	transition: var(--transition);
	border: 1px solid rgba(255, 255, 255, 0.1);
	overflow: hidden;
	text-align: center;
}

.position-card:hover {
	transform: translateY(-5px);
	background: var(--card-hover);
	border-color: var(--accent-color);
	box-shadow: var(--shadow-hover);
}

.position-card h3 {
	color: var(--accent-color);
	margin-bottom: 1rem;
	font-size: 1.5rem;
}

.position-description {
	color: var(--text-muted);
	margin-bottom: 2rem;
	line-height: 1.6;
}

.position-card .cta-button {
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.careers-hero h1 {
		font-size: 2.5rem;
	}

	.careers-hero .subtext {
		font-size: 1.1rem;
	}

	.culture h2,
	.positions-section h2 {
		font-size: 2rem;
	}

	.culture-grid,
	.positions-grid {
		grid-template-columns: 1fr;
	}

	.culture-card,
	.position-card {
		padding: 1.5rem;
	}

	.culture-icon {
		font-size: 2rem;
		margin-bottom: 1rem;
	}

	.culture-card h3,
	.position-card h3 {
		font-size: 1.25rem;
	}
}

@media (max-width: 480px) {
	.careers-hero {
		padding: 100px 0 40px;
	}

	.careers-hero h1 {
		font-size: 2rem;
	}

	.careers-hero .subtext {
		font-size: 1rem;
	}

	.culture,
	.positions-section {
		padding: 60px 0;
	}

	.culture h2,
	.positions-section h2 {
		font-size: 1.75rem;
		margin-bottom: 2rem;
	}
}

/* Application Modal */

.application-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2rem;
}

.application-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.application-form label {
	color: var(--text-light);
	font-weight: 500;
}

.application-form input[type="file"] {
	padding: 0.5rem;
	background: none;
	border: 1px dashed rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	color: var(--text-muted);
	cursor: pointer;
}

.application-form input[type="file"]:hover {
	border-color: var(--accent-color);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
	.culture-grid,
	.positions-grid {
		grid-template-columns: 1fr;
	}
}

#backgroundAnimation {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.8;
	pointer-events: none;
	background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
}

/* Make sure all sections appear above the canvas */
header,
section,
footer {
	position: relative;
	z-index: 1;
	background: transparent;
}

.scroll-to-top {
	position: fixed;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--primary-color);
	color: var(--text-color);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 1000;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.scroll-to-top:hover {
	background: var(--secondary-color);
	color: var(--text-light);
}

.scroll-to-top svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
}

/* Service Page Styles */
.service-hero {
	min-height: 40vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 120px 2rem 60px;
	background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
	position: relative;
}

.service-hero h1 {
	font-size: 3.5rem;
	margin-bottom: 1rem;
	color: var(--text-light);
}

.hero-subtitle {
	font-size: 1.5rem;
	color: var(--accent-color);
	max-width: 800px;
	margin: 0 auto;
}

.service-overview {
	padding: 80px 0;
}

.service-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 4rem;
	margin-top: 2rem;
}

.service-content h2 {
	font-size: 2rem;
	margin-bottom: 1.5rem;
	text-align: left;
}

.course-list {
	margin-top: 3rem;
}

.course-card {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 8px;
	margin-bottom: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: var(--transition);
}

.course-card:hover {
	transform: translateY(-5px);
	border-color: var(--accent-color);
	background: var(--card-hover);
}

.course-card h4 {
	color: var(--accent-color);
	margin-bottom: 1rem;
	font-size: 1.25rem;
}

.course-card p {
	margin-bottom: 1.5rem;
	color: var(--text-muted);
}

.course-card ul {
	list-style: none;
	padding: 0;
}

.course-card li {
	margin-bottom: 0.5rem;
	padding-left: 1.5rem;
	position: relative;
	color: var(--text-light);
}

.course-card li::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--accent-color);
}

.service-sidebar {
	position: sticky;
	top: 100px;
	align-self: start;
}

.delivery-options,
.customization,
.cta-box {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 8px;
	margin-bottom: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.service-sidebar h3 {
	color: var(--accent-color);
	margin-bottom: 1.5rem;
	font-size: 1.25rem;
}

.service-sidebar ul {
	list-style: none;
	padding: 0;
}

.service-sidebar li {
	margin-bottom: 0.75rem;
	padding-left: 1.5rem;
	position: relative;
	color: var(--text-light);
}

.service-sidebar li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--accent-color);
}

.cta-box {
	text-align: center;
	background: var(--accent-color);
}

.cta-box h3,
.cta-box p {
	color: var(--text-light);
}

.cta-box .cta-button {
	margin-top: 1.5rem;
	width: 100%;
	text-align: center;
}

.testimonials {
	background: rgba(255, 255, 255, 0.02);
	padding: 80px 0;
}

.testimonial-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.testimonial-card {
	background: var(--card-bg);
	padding: 2rem;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.testimonial-card .quote {
	font-style: italic;
	margin-bottom: 1.5rem;
	color: var(--text-light);
}

.testimonial-card .author {
	color: var(--accent-color);
	font-weight: 500;
}

@media (max-width: 1024px) {
	.service-grid {
		grid-template-columns: 1fr;
	}

	.service-sidebar {
		position: static;
		margin-top: 2rem;
	}
}

@media (max-width: 768px) {
	.service-hero h1 {
		font-size: 2.5rem;
	}

	.hero-subtitle {
		font-size: 1.25rem;
	}

	.service-content h2 {
		font-size: 1.75rem;
	}
}

.service-link {
	display: inline-block;
	margin-top: 1.5rem;
	padding: 0.75rem 1.5rem;
	background: var(--accent-color);
	color: var(--text-light);
	border-radius: 4px;
	transition: var(--transition);
}

.service-link:hover {
	background: var(--primary-color);
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
}

.service-card:hover .service-link {
	background: var(--primary-color);
}

/* Service Actions Container */
.service-actions {
	display: flex;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.5rem;
	flex-wrap: wrap;
}

/* Assessment Button */
.assessment-btn {
	background: linear-gradient(135deg, #28a745, #20c997);
	color: white;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.85rem;
	padding: 0.5rem 1rem;
	border-radius: 6px;
	transition: var(--transition);
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: none;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3);
}

.assessment-btn:hover {
	background: linear-gradient(135deg, #218838, #1ea085);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4);
	color: white;
}

.assessment-btn::before {
	content: "📊";
	font-size: 1rem;
}

@media (max-width: 768px) {
	.service-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
	}
	
	.assessment-btn {
		text-align: center;
		justify-content: center;
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
	}
}

/* Case Study Styles */

/* Case Studies Index Styles */

.cta-content {
	max-width: 600px;
	margin: 0 auto;
}

.cta-content p {
	margin-bottom: 2rem;
	opacity: 0.9;
}

.back-to-home {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 2rem auto;
	padding: 0.75rem 1.5rem;
	background: var(--card-bg);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50px;
	color: var(--text-light);
	font-weight: 500;
	transition: var(--transition);
	width: fit-content;
}

.back-to-home:hover {
	background: var(--card-hover);
	transform: translateY(-2px);
	color: var(--accent-color);
}

.back-to-home svg {
	width: 20px;
	height: 20px;
	transition: var(--transition);
}

.back-to-home:hover svg {
	transform: translateX(-5px);
}

/* Login Page Styles */
.login-container {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
	padding: 2rem;
}

.login-box {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	border-radius: 16px;
	padding: 2.5rem;
	width: 100%;
	max-width: 400px;
	box-shadow: var(--shadow);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.login-header {
	text-align: center;
	margin-bottom: 2rem;
}

.login-header h1 {
	color: var(--text-light);
	font-size: 2rem;
	margin-bottom: 0.5rem;
}

.login-header p {
	color: var(--text-muted);
	font-size: 1rem;
}

.login-form .form-group {
	margin-bottom: 1.5rem;
}

.login-form label {
	display: block;
	margin-bottom: 0.5rem;
	color: var(--text-light);
	font-weight: 500;
}

.login-form input {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-light);
	font-size: 1rem;
}

.login-form input:focus {
	outline: none;
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.15);
}

.login-form .cta-button {
	width: 100%;
	padding: 0.75rem;
	font-size: 1rem;
}

.error-message {
	color: #ff6b6b;
	text-align: center;
	margin-top: 1rem;
	font-size: 0.9rem;
	display: none;
}

.error-message.visible {
	display: block;
}

.problem-points {
	margin: 1.5rem 0;
	text-align: left;
}

.problem-points li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 1.1rem;
	color: #fff;
	font-size: 1.08rem;
	opacity: 0.92;
}

.problem-points li::before {
	content: '';
	position: absolute;
	left: 0.2rem;
	top: 0.5rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #FD7227, #FFBE34);
	box-shadow: 0 2px 8px rgba(253, 114, 39, 0.15);
}

/* Mobile responsiveness for problem points */
@media (max-width: 768px) {
	.problem-points {
		margin: 1rem 0;
	}

	.problem-points li {
		font-size: 0.9rem;
		margin-bottom: 0.5rem;
		padding-left: 1.25rem;
	}

	.hero-slide .hero-content {
		padding: 1.5rem;
	}
}

@media (max-width: 480px) {
	.problem-points li {
		font-size: 0.85rem;
	}
}

/* Dropdown Menu (Services Modal) – rethought (using a dark (brand) background and light (brand) text) and reinserted modal formatting */
.dropdown {
	position: relative;
	display: inline-block;
}

.dropdown-content {
	display: none;
	position: absolute;
	background-color: var(--bg-dark);
	min-width: 600px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
	z-index: 1000;
	padding: 20px;
	border-radius: 8px;
}

.dropdown:hover .dropdown-content {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.dropdown-section {
	padding: 10px;
}

.dropdown-section h4 {
	color: var(--text-light);
	font-size: 1.1em;
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--secondary-color);
}

.dropdown-section a {
	display: block;
	padding: 8px 0;
	color: var(--text-light);
	text-decoration: none;
	transition: color 0.3s ease;
}

.dropdown-section a:hover {
	color: var(--secondary-color);
}

/* Animations */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Contact Page Styles */
.contact-page {
	padding: 120px 0 60px;
	position: relative;
	z-index: 1;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	margin-top: 40px;
}

.contact-info {
	padding-right: 40px;
}

.contact-details {
	margin-top: 30px;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 25px;
}

.contact-item i {
	font-size: 24px;
	color: var(--accent-color);
	margin-right: 15px;
	margin-top: 5px;
}

.contact-form {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem;
	background: var(--surface-color);
	border-radius: 12px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.contact-form .form-group {
	margin-bottom: 20px;
}

.contact-form label {
	display: block;
	margin-bottom: 8px;
	color: var(--text-light);
	font-weight: 500;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	font-size: 16px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-light);
	transition: var(--transition);
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
	outline: none;
	border-color: var(--accent-color);
	background: rgba(255, 255, 255, 0.15);
	box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.2);
}

.contact-form textarea {
	resize: vertical;
	min-height: 120px;
}

.contact-form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	padding-right: 40px;
}

.contact-form .cta-button {
	width: 100%;
	margin-top: 1rem;
}

.contact-form .error-message,
.contact-form .success-message {
	margin-top: 1rem;
	padding: 0.75rem;
	border-radius: 4px;
	font-size: 0.9rem;
}

.contact-form .error-message {
	background: rgba(255, 107, 107, 0.1);
	color: #ff6b6b;
	border: 1px solid rgba(255, 107, 107, 0.2);
}

.contact-form .success-message {
	background: rgba(52, 152, 219, 0.1);
	color: var(--accent-color);
	border: 1px solid rgba(52, 152, 219, 0.2);
}

@media (max-width: 992px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}
	
	.contact-info {
		padding-right: 0;
	}
}

@media (max-width: 768px) {
	.contact-page {
		padding: 100px 0 40px;
	}
	
	.contact-form {
		padding: 20px;
	}
}

@media (max-width: 576px) {
	.contact-page {
		padding: 80px 0 30px;
	}
	
	.contact-form {
		padding: 15px;
	}
	
	.contact-form input,
	.contact-form select,
	.contact-form textarea {
		padding: 10px;
		font-size: 14px;
	}
}

/* About Page Styles */
.about-page {
    padding: 4rem 0;
    background: var(--background-color);
}

.mission-section,
.overview-section,
.values-section,
.founders-section {
    margin-bottom: 4rem;
    padding: 2rem;
    background: var(--card-bg);
    border-radius: 12px;
    transition: var(--transition);
}

.mission-section:hover,
.overview-section:hover,
.values-section:hover,
.founders-section:hover {
    background: var(--card-hover);
    transform: translateY(-5px);
}

.mission-section h2,
.overview-section h2,
.values-section h2,
.founders-section h2 {
    color: var(--text-light);
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.mission-statement {
    font-size: 1.4rem;
    line-height: 1.6;
    color: var(--text-light);
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.overview-section p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--text-light);
    max-width: 900px;
    margin: 0 auto;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.value-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem;
    border-radius: 8px;
    text-align: center;
    transition: var(--transition);
}

.value-card:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.1);
}

.value-card i {
    font-size: 2.5rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
}

.value-card h3 {
    color: var(--text-light);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.value-card p {
    color: var(--text-muted);
    font-size: 1rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .about-page {
        padding: 2rem 0;
    }

    .mission-section,
    .overview-section,
    .values-section {
        margin-bottom: 2rem;
        padding: 1.5rem;
    }

    .mission-section h2,
    .overview-section h2,
    .values-section h2 {
        font-size: 1.8rem;
    }

    .mission-statement {
        font-size: 1.2rem;
    }

    .overview-section p {
        font-size: 1rem;
    }

    .values-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    .about-page {
        padding: 1.5rem 0;
    }

    .mission-section,
    .overview-section,
    .values-section {
        padding: 1rem;
    }

    .mission-section h2,
    .overview-section h2,
    .values-section h2 {
        font-size: 1.5rem;
    }

    .mission-statement {
        font-size: 1.1rem;
    }

    .value-card {
        padding: 1.5rem;
    }

    .value-card i {
        font-size: 2rem;
    }

    .value-card h3 {
        font-size: 1.2rem;
    }
}

/* Masterclass Series Styles */

/* Masterclass Details Styles */

/* Masterclass Page Styles */
.masterclass-hero {
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
    padding: 8rem 0 4rem;
    text-align: center;
}

.masterclass-hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    color: var(--text-light);
    line-height: 1.2;
}

.masterclass-hero .hero-subtitle {
    font-size: 1.4rem;
    color: var(--text-light);
    max-width: 800px;
    margin: 0 auto 2rem;
    line-height: 1.6;
    opacity: 0.9;
}

.hero-details {
    max-width: 800px;
    margin: 0 auto 2rem;
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.detail-item {
    color: var(--text-light);
    font-size: 1.1rem;
    line-height: 1.6;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.detail-item:last-child {
    border-bottom: none;
}

.detail-item strong {
    color: var(--accent-color);
    font-weight: 600;
    margin-right: 0.5rem;
}

@media (max-width: 768px) {
    .masterclass-hero {
        padding: 6rem 0 3rem;
    }

    .masterclass-hero h1 {
        font-size: 2.5rem;
    }

    .masterclass-hero .hero-subtitle {
        font-size: 1.2rem;
        margin-bottom: 1.5rem;
    }

    .hero-details {
        padding: 1.2rem;
        gap: 0.8rem;
    }

    .detail-item {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .masterclass-hero h1 {
        font-size: 2rem;
    }

    .masterclass-hero .hero-subtitle {
        font-size: 1.1rem;
    }

    .hero-details {
        padding: 1rem;
    }

    .detail-item {
        font-size: 0.95rem;
    }
}

.masterclass-series-page {
    padding: 4rem 0;
}

.series-overview {
    margin-bottom: 4rem;
    text-align: center;
}

.series-overview h2 {
    font-size: 2.5rem;
    margin-bottom: 3rem;
    color: var(--text-light);
}

.overview-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin: 2rem 0;
}

.overview-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Distinct gradients for each card */
.overview-card:nth-child(1) {
    background: linear-gradient(135deg, rgba(74, 144, 226, 0.05) 0%, rgba(74, 144, 226, 0.1) 100%);
    border-color: rgba(74, 144, 226, 0.2);
}

.overview-card:nth-child(2) {
    background: linear-gradient(135deg, rgba(46, 196, 182, 0.05) 0%, rgba(46, 196, 182, 0.1) 100%);
    border-color: rgba(46, 196, 182, 0.2);
}

.overview-card:nth-child(3) {
    background: linear-gradient(135deg, rgba(255, 159, 67, 0.05) 0%, rgba(255, 159, 67, 0.1) 100%);
    border-color: rgba(255, 159, 67, 0.2);
}

.overview-card:nth-child(4) {
    background: linear-gradient(135deg, rgba(156, 39, 176, 0.05) 0%, rgba(156, 39, 176, 0.1) 100%);
    border-color: rgba(156, 39, 176, 0.2);
}

.overview-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.overview-card:nth-child(1):hover {
    background: linear-gradient(135deg, rgba(74, 144, 226, 0.1) 0%, rgba(74, 144, 226, 0.15) 100%);
}

.overview-card:nth-child(2):hover {
    background: linear-gradient(135deg, rgba(46, 196, 182, 0.1) 0%, rgba(46, 196, 182, 0.15) 100%);
}

.overview-card:nth-child(3):hover {
    background: linear-gradient(135deg, rgba(255, 159, 67, 0.1) 0%, rgba(255, 159, 67, 0.15) 100%);
}

.overview-card:nth-child(4):hover {
    background: linear-gradient(135deg, rgba(156, 39, 176, 0.1) 0%, rgba(156, 39, 176, 0.15) 100%);
}

/* Remove the hero card specific gradient since we now have distinct colors */
.overview-card.hero-card {
    position: relative;
}

/* Add a subtle glow effect on hover */
.overview-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.overview-card:nth-child(1)::after {
    box-shadow: 0 0 20px rgba(74, 144, 226, 0.2);
}

.overview-card:nth-child(2)::after {
    box-shadow: 0 0 20px rgba(46, 196, 182, 0.2);
}

.overview-card:nth-child(3)::after {
    box-shadow: 0 0 20px rgba(255, 159, 67, 0.2);
}

.overview-card:nth-child(4)::after {
    box-shadow: 0 0 20px rgba(156, 39, 176, 0.2);
}

.overview-card:hover::after {
    opacity: 1;
}

@media (max-width: 1200px) {
    .overview-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .overview-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

.overview-card h3 {
    color: var(--accent-color);
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.overview-card h4 {
    color: var(--text-light);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

.overview-card.hero-card h3 {
    font-size: 1.8rem;
}

.overview-card.hero-card h4 {
    font-size: 1.4rem;
}

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

.overview-list li {
    color: var(--text-light);
    margin-bottom: 0.75rem;
    padding-left: 2rem;
    position: relative;
    line-height: 1.4;
    font-size: 1rem;
}

/* Icon styles for list items */
.overview-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 1.2em;
    height: 1.2em;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Different icons for different cards */
.overview-card:nth-child(1) .overview-list li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(1) .overview-list li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM7 10h2v7H7zm4-3h2v10h-2zm4 6h2v4h-2z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(1) .overview-list li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zM16 11c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(2) .overview-list li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.07.62-.07.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(2) .overview-list li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(2) .overview-list li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(3) .overview-list li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(3) .overview-list li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(3) .overview-list li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(4) .overview-list li:nth-child(1)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(4) .overview-list li:nth-child(2)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 14h-2v-4H6v-2h4V7h2v4h4v2h-4v4z'/%3E%3C/svg%3E");
}

.overview-card:nth-child(4) .overview-list li:nth-child(3)::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234A90E2'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E");
}

/* Series CTA styles */
.series-cta {
    text-align: center;
    margin-top: 3rem;
    padding: 2rem;
    background: linear-gradient(135deg, var(--card-bg), var(--card-hover));
    border-radius: 12px;
    border: 1px solid var(--accent-color);
    position: relative;
    overflow: hidden;
}

.series-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at top right, rgba(74, 144, 226, 0.1), transparent 70%);
    pointer-events: none;
}

.series-cta h2 {
    color: var(--text-light);
    font-size: 1.8rem;
    margin-bottom: 1rem;
    position: relative;
}

.series-cta p {
    color: var(--text-light);
    opacity: 0.9;
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    position: relative;
}

@media (max-width: 768px) {
    .overview-card {
        padding: 1.5rem;
    }

    .overview-card.hero-card {
        padding: 2rem;
    }

    .overview-card h3 {
        font-size: 1.2rem;
    }

    .overview-card h4 {
        font-size: 1.1rem;
        margin-bottom: 1rem;
    }

    .overview-card.hero-card h3 {
        font-size: 1.5rem;
    }

    .overview-card.hero-card h4 {
        font-size: 1.2rem;
    }

    .overview-list li {
        font-size: 0.95rem;
        padding-left: 1.8rem;
    }

    .series-cta {
        padding: 1.5rem;
    }

    .series-cta h2 {
        font-size: 1.5rem;
    }

    .series-cta p {
        font-size: 1rem;
    }
}

.masterclass-link {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    padding: 4rem 0;
    color: white;
    text-align: center;
}

.masterclass-link-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
}

.masterclass-link h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: white;
}

.masterclass-link p {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}

.masterclass-link .btn-primary {
    background: white;
    color: var(--primary-color);
    font-size: 1.2rem;
    padding: 1rem 2rem;
    border-radius: 50px;
    transition: all 0.3s ease;
}

.masterclass-link .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    background: var(--accent-color);
    color: white;
}

@media (max-width: 768px) {
    .masterclass-link {
        padding: 3rem 0;
    }

    .masterclass-link h2 {
        font-size: 2rem;
    }

    .masterclass-link p {
        font-size: 1.1rem;
    }

    .masterclass-link .btn-primary {
        font-size: 1.1rem;
        padding: 0.8rem 1.6rem;
    }
}

/* Booking Calendar Styles */

/* Style for Tuesday and Wednesday */

/* Style for first Tuesday and Wednesday of the month */

.form-group {
    margin-bottom: 1rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--text-light);
    font-weight: 500;
    font-size: 0.9rem;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-light);
    transition: var(--transition);
}

/* Responsive Adjustments */

/* Form Elements */
.form-group select {
    width: 100%;
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: var(--text-light);
    transition: var(--transition);
    font-size: 1rem;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
    cursor: pointer;
}

.form-group select:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: var(--accent-color);
}

.form-group select:focus {
    outline: none;
    border-color: var(--accent-color);
    background-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}

.form-group select option {
    background-color: var(--bg-dark);
    color: var(--text-light);
    padding: 0.5rem;
}

/* --- Hero Quotes Carousel --- */
.hero-quote {
  display: none;
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1);
  font-size: 1.25rem;
  color: var(--text-light);
  font-style: italic;
  text-align: center;
  margin: 0 auto 0.5rem auto;
  max-width: 700px;
  line-height: 1.5;
  position: absolute;
  left: 0; right: 0;
  top: 0;
}
.hero-quote.active {
  display: block;
  opacity: 1;
  position: relative;
  animation: fadeIn 0.7s;
}
.hero-quote .quote-author {
  display: block;
  margin-top: 0.5rem;
  color: var(--accent-color);
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
}
@media (max-width: 768px) {
  .hero-quote {
    font-size: 1.05rem;
    max-width: 95vw;
  }
}

/* Masterclass Overview Styles */
.masterclass-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.masterclass-preview-card {
    background: var(--card-bg);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.masterclass-preview-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.masterclass-preview-card h3 {
    color: var(--heading-color);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.masterclass-preview-card p {
    color: var(--text-color);
    margin-bottom: 1.5rem;
    flex-grow: 1;
    line-height: 1.6;
}

.masterclass-preview-card .learn-more {
    display: inline-block;
    padding: 0.8rem 1.5rem;
    background: rgba(74, 144, 226, 0.1);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 6px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 1.5rem;
    text-align: center;
    width: 100%;
}

.masterclass-preview-card .learn-more:hover {
    background: var(--primary-color);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 144, 226, 0.2);
}

.masterclass-preview-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.masterclass-preview-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.masterclass-preview-card h3 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    font-size: 1.25rem;
    line-height: 1.4;
}

.masterclass-preview-card p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    flex-grow: 1;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .masterclass-preview-card .learn-more {
        padding: 0.7rem 1.2rem;
        font-size: 0.95rem;
    }
}

.course-card {
    background: var(--card-bg);
}

.overview-list li {
    background: none;
    border-radius: 0;
    padding: 0 0 0 1.7rem;
    color: var(--text-light);
    font-size: 1.08rem;
    line-height: 1.6;
    position: relative;
    box-shadow: none;
    text-align: left;
    transition: none;
}

.overview-list li::before {
    content: "\2714";
    /* Unicode checkmark */
    position: absolute;
    left: 0;
    top: 0.1em;
    color: var(--accent-color);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
}

.overview-list li:hover {
    background: none;
}

@media (max-width: 768px) {
    .overview-list li {
        font-size: 1rem;
        padding-left: 1.3rem;
    }
    .overview-list li::before {
        font-size: 1rem;
    }
}

/* Learning Outcomes Styles */
.learning-outcomes {
    margin: 4rem 0;
}

.learning-outcomes h2 {
    text-align: center;
    color: var(--text-light);
    font-size: 2.5rem;
    margin-bottom: 3rem;
}

.outcomes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.outcome-card {
    background: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
}

.outcome-card:hover {
    transform: translateY(-5px);
    background: var(--card-hover);
    border-color: var(--accent-color);
    box-shadow: var(--shadow-hover);
}

.outcome-card h3 {
    color: var(--accent-color);
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

.outcome-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.outcome-card li {
    color: var(--text-light);
    margin-bottom: 1rem;
    padding-left: 1.75rem;
    position: relative;
    line-height: 1.6;
}

.outcome-card li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

/* Tools Section Styles */
.tools-section {
    margin: 4rem 0;
}

.tools-section h2 {
    text-align: center;
    color: var(--text-light);
    font-size: 2.5rem;
    margin-bottom: 3rem;
}

.tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.tool-category {
    background: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
}

.tool-category:hover {
    transform: translateY(-5px);
    background: var(--card-hover);
    border-color: var(--accent-color);
    box-shadow: var(--shadow-hover);
}

.tool-category h3 {
    color: var(--accent-color);
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

.tool-category ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tool-category li {
    color: var(--text-light);
    margin-bottom: 1rem;
    padding-left: 1.75rem;
    position: relative;
    line-height: 1.6;
}

.tool-category li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

.tool-category li strong {
    color: var(--accent-color);
    font-weight: 600;
}

/* Agenda Section Styles */
.agenda-section {
    margin: 4rem 0;
}

.agenda-section h2 {
    text-align: center;
    color: var(--text-light);
    font-size: 2.5rem;
    margin-bottom: 3rem;
}

.agenda-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.agenda-module {
    background: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
}

.agenda-module:hover {
    transform: translateY(-5px);
    background: var(--card-hover);
    border-color: var(--accent-color);
    box-shadow: var(--shadow-hover);
}

.module-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.module-header h3 {
    color: var(--accent-color);
    font-size: 1.4rem;
    margin: 0;
}

.module-duration {
    color: var(--text-light);
    opacity: 0.8;
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 0.5rem 1rem;
    border-radius: 6px;
}

.module-content {
    list-style: none;
    padding: 0;
    margin: 0;
}

.module-content li {
    color: var(--text-light);
    margin-bottom: 1rem;
    padding-left: 1.75rem;
    position: relative;
    line-height: 1.6;
}

.module-content li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

.module-content li strong {
    color: var(--accent-color);
    font-weight: 600;
}

.module-lab {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.module-lab h4 {
    color: var(--accent-color);
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

.lab-options {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.lab-options li {
    color: var(--text-light);
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    font-size: 0.95rem;
}

@media (max-width: 768px) {
    .learning-outcomes h2,
    .tools-section h2,
    .agenda-section h2 {
        font-size: 2rem;
    }

    .outcome-card,
    .tool-category,
    .agenda-module {
        padding: 1.5rem;
    }

    .outcome-card h3,
    .tool-category h3,
    .module-header h3 {
        font-size: 1.2rem;
    }

    .module-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .module-duration {
        font-size: 0.9rem;
    }

    .lab-options {
        grid-template-columns: 1fr;
    }
}

/* Course CTA Styles */
.course-cta {
    margin: 4rem 0;
    padding: 3rem;
    background: var(--card-bg);
    border: 1px solid var(--accent-color);
    border-radius: 12px;
    text-align: center;
}

.course-cta h3 {
    color: var(--text-light);
    font-size: 2rem;
    margin-bottom: 1rem;
}

.course-cta p {
    color: var(--text-light);
    opacity: 0.9;
    margin-bottom: 2rem;
    font-size: 1.2rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .course-cta {
        padding: 2rem;
    }

    .course-cta h3 {
        font-size: 1.5rem;
    }

    .course-cta p {
        font-size: 1.1rem;
    }
}

.cta-button.secondary.learn-more {
    background: transparent;
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.cta-button.secondary.learn-more:hover {
    background: var(--secondary-color);
    color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

@media (max-width: 768px) {
    .cta-button.secondary.learn-more {
        width: 100%;
        text-align: center;
        padding: 0.8rem 1.5rem;
    }
}

/* Masterclass Preview Card Styles */
.masterclass-preview-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 2rem;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.masterclass-preview-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.masterclass-preview-card h3 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    font-size: 1.25rem;
    line-height: 1.4;
}

.masterclass-preview-card p {
    color: var(--text-secondary);
    margin-bottom: 1.5rem;
    flex-grow: 1;
    line-height: 1.6;
}

/* Update learn-more button styles to use cta-button base styles */
.masterclass-preview-card .learn-more {
    margin-top: 1.5rem;
    text-align: center;
    width: 100%;
}

@media (max-width: 768px) {
    .masterclass-preview-card .learn-more {
        padding: 0.7rem 1.2rem;
        font-size: 0.95rem;
    }
}

.sunset-opus {
  background: linear-gradient(90deg, #FF7E5F, #FEB47B, #FF6A88, #6B4EFF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-weight: bold;
}

/* --- Modal Success Styles Enhancement --- */
#successModal.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.7);
    z-index: 2000;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s;
    opacity: 0;
    padding: 1rem;
}
#successModal.modal.active {
    display: flex;
    opacity: 1;
}
#successModal .modal-content {
    background: #fff !important;
    border-radius: 16px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 10px 32px rgba(0,0,0,0.18);
    padding: 2.5rem 2rem 2rem 2rem;
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: modalSlideIn 0.3s;
    /* Keep the success modal text dark as designed */
    color: #222 !important;
}
#successModal .success-content {
    text-align: center;
    width: 100%;
}
#successModal .success-icon {
    color: #4CAF50;
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem auto;
    display: block;
}
#successModal .success-content h2 {
    color: #222;
    font-size: 1.7rem;
    margin-bottom: 1rem;
    font-weight: 700;
}
#successModal .success-content p {
    color: #444;
    font-size: 1.1rem;
    margin-bottom: 2rem;
    line-height: 1.6;
}
#successModal .cta-button {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: background 0.2s;
    min-width: 120px;
    margin: 0 auto;
    display: block;
}
#successModal .cta-button:hover {
    background: #0056b3;
}
#successModal .modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    color: #aaa;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 2;
}
#successModal .modal-close:hover {
    color: #222;
}
@media (max-width: 600px) {
    #successModal .modal-content {
        padding: 1.2rem 0.5rem 1.2rem 0.5rem;
        max-width: 95vw;
    }
    #successModal .success-content h2 {
        font-size: 1.2rem;
    }
    #successModal .success-content p {
        font-size: 1rem;
    }
}

/* Force all modal text, labels, and placeholders to be white for readability */
.modal label,
.modal input,
.modal textarea {
    color: #fff !important;
}
.modal input::placeholder,
.modal textarea::placeholder {
    color: #fff !important;
    opacity: 0.8;
}

/* Brochure Link Button Styles */
.cta-button.primary.brochure-link {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-top: 0 !important;
}

.cta-button.primary.brochure-link svg {
    margin-right: 8px;
    vertical-align: middle;
}

.cta-button.primary.brochure-link:hover {
    background: var(--secondary-color);
    color: var(--primary-color);
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.cta-button.primary.brochure-link svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.cta-button.primary.brochure-link:hover svg {
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .cta-button.primary.brochure-link {
        width: 100%;
        justify-content: center;
        margin-top: 1rem;
    }
}

/* Masterclass Hero Badge and CTA Block */
.hero-badge {
    display: inline-block;
    background: linear-gradient(90deg, #4A90E2 0%, #6B4EFF 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    padding: 0.4em 1.4em;
    border-radius: 2em;
    box-shadow: 0 2px 8px rgba(74,144,226,0.08);
    letter-spacing: 0.04em;
    margin-bottom: 1.5em;
    text-align: center;
    text-transform: uppercase;
    position: relative;
    z-index: 2;
}

.hero-cta-block {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

/* Info Cards Container and Card Styles for Masterclass Detail - Enhanced */
.info-cards-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin: 4rem 0;
  align-items: stretch;
}

.info-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
  min-height: 420px;
  max-height: 420px;
  background: linear-gradient(135deg, rgba(74,144,226,0.10) 0%, rgba(107,78,255,0.10) 100%);
  border: 1.5px solid rgba(74, 144, 226, 0.13);
  border-radius: 16px;
  box-shadow: 0 4px 24px 0 rgba(74,144,226,0.07);
  overflow: hidden;
  position: relative;
  background-size: 200% 200%;
  animation: cardGradientMove 6s ease-in-out infinite alternate;
}

.info-card > ul {
  flex: 1 1 0;
  overflow-y: auto;
  margin: 0;
  padding: 0 0.5rem 0 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.info-card li {
  position: relative;
  padding-left: 1.7em;
  margin-bottom: 1em;
  color: var(--text-light);
  line-height: 1.7;
  font-size: 1.08em;
  word-break: break-word;
}
.info-card li::before {
  content: "\2192";
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-weight: bold;
  font-size: 1.1em;
  top: 0.1em;
}

.info-card h2 {
  color: var(--accent-color);
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  text-align: left;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  gap: 0.7em;
}

.info-card h2 i {
  color: var(--secondary-color);
  font-size: 1.5em;
  filter: drop-shadow(0 2px 6px rgba(74,144,226,0.18));
  margin-right: 0.2em;
  transition: color 0.3s, transform 0.3s;
  min-width: 1.5em;
  text-align: center;
}

.info-card:hover h2 i {
  color: var(--accent-color);
  transform: scale(1.15) rotate(-8deg);
}

@keyframes cardGradientMove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

@media (max-width: 1200px) {
  .info-cards-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .info-card {
    min-width: 220px;
    max-width: 100%;
    min-height: 380px;
    max-height: 380px;
  }
}

@media (max-width: 900px) {
  .info-cards-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .info-card {
    width: 100%;
    max-width: 600px;
    min-height: unset;
    max-height: unset;
    height: auto;
  }
}

/* Legal Pages Styles */
.legal-page {
    padding: 120px 0 60px;
    min-height: 100vh;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
}

.legal-content {
    max-width: 800px;
    margin: 0 auto;
    background: var(--card-bg);
    padding: 3rem;
    border-radius: 12px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.legal-content h1 {
    font-size: 2.5rem;
    color: var(--text-light);
    margin-bottom: 1rem;
    text-align: center;
}

.legal-date {
    text-align: center;
    color: var(--text-muted);
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.legal-intro {
    font-size: 1.2rem;
    line-height: 1.6;
    color: var(--text-light);
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.legal-section {
    margin-bottom: 2.5rem;
}

.legal-section h2 {
    color: var(--accent-color);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.legal-section p {
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.legal-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
}

.legal-list li {
    color: var(--text-light);
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
    line-height: 1.6;
}

.legal-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--accent-color);
}

.legal-contact {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.legal-contact h2 {
    color: var(--accent-color);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.legal-contact p {
    color: var(--text-light);
    margin-bottom: 0.5rem;
}

.legal-contact a {
    color: var(--accent-color);
    text-decoration: none;
    transition: var(--transition);
}

.legal-contact a:hover {
    color: var(--text-light);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .legal-page {
        padding: 100px 0 40px;
    }

    .legal-content {
        padding: 2rem;
        margin: 0 1rem;
    }

    .legal-content h1 {
        font-size: 2rem;
    }

    .legal-section h2 {
        font-size: 1.3rem;
    }

    .legal-intro {
        font-size: 1.1rem;
    }
}

@media (max-width: 480px) {
    .legal-page {
        padding: 80px 0 30px;
    }

    .legal-content {
        padding: 1.5rem;
    }

    .legal-content h1 {
        font-size: 1.8rem;
    }

    .legal-section h2 {
        font-size: 1.2rem;
    }

    .legal-intro {
        font-size: 1rem;
    }

    .legal-list li {
        padding-left: 1.2rem;
    }
}

@media (max-width: 600px) {
    .masterclass-hero h1,
    .hero h1 {
        font-size: 1.5rem;
        line-height: 1.15;
        word-break: break-word;
        padding: 0 0.5rem;
    }
    .masterclass-hero .hero-subtitle,
    .hero .hero-subtitle {
        font-size: 1rem;
        padding: 0 0.5rem;
    }
}

@media (max-width: 600px) {
    .hero-subtitle, .tagline, .service-hero .hero-subtitle {
        font-size: 1rem !important;
        padding: 0 0.5rem !important;
        word-break: break-word;
        line-height: 1.3;
        text-align: left;
    }
}

@media (max-width: 600px) {
  .main-tagline h1 {
    font-size: 1.3rem;
    padding: 0.5rem 0.5rem;
    word-break: break-word;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
    max-width: 95vw;
    margin: 0 auto;
  }
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    z-index: 1002; /* Increased z-index to be above the menu */
    margin-left: auto;
    position: relative; /* Added to ensure z-index works */
}

.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--text-light);
    margin: 5px 0;
    transition: var(--transition);
}

@media (max-width: 768px) {
    .mobile-menu-toggle {
        display: block;
    }

    .main-nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(26, 42, 68, 0.98);
        backdrop-filter: blur(10px);
        padding: 5rem 2rem 2rem;
        overflow-y: auto;
        z-index: 1001; /* High z-index but below the toggle button */
    }

    .main-nav.active {
        display: block;
    }

    /* Add a pseudo-element for the backdrop */
    .main-nav.active::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: -1;
    }

    .main-nav ul {
        position: relative;
        z-index: 1001; /* Ensure menu items are above the backdrop */
    }

    .mobile-menu-toggle.active {
        position: fixed;
        right: 2rem;
        top: 1rem;
    }

    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px);
    }

    .header-content {
        justify-content: space-between;
    }

    /* Ensure dropdowns are visible when active */
    .dropdown.active .dropdown-content {
        position: relative;
        z-index: 1002;
    }
}

@media (max-width: 768px) {
    .main-nav {
        padding: 3.5rem 1rem 1.5rem;
    }
    .main-nav ul {
        gap: 0.5rem;
        align-items: flex-start;
    }
    .main-nav a, .main-nav .nav-text {
        font-size: 1.1rem;
        padding: 0.5rem 0.5rem;
        text-align: left;
        width: 100%;
        display: block;
    }
    .dropdown-content {
        display: none;
        position: static;
        background: #1a2740;
        box-shadow: none;
        padding: 0.5rem 0.5rem 0.5rem 1rem;
        margin: 0.25rem 0 0.5rem 0;
        border-radius: 10px;
        min-width: unset;
        width: 100%;
        grid-template-columns: 1fr !important;
    }
    .dropdown.active .dropdown-content {
        display: block;
    }
    .dropdown-section {
        padding: 0.25rem 0;
    }
    .dropdown-section h4 {
        font-size: 1rem;
        margin-bottom: 0.25rem;
        padding-bottom: 0.25rem;
        border-bottom: 1px solid #444;
    }
    .dropdown-section a {
        padding: 0.3rem 0 0.3rem 0.5rem;
        font-size: 1rem;
    }
    .dropdown {
        width: 100%;
    }
    .dropdown-content a {
        padding: 0.3rem 0 0.3rem 0.5rem;
    }
    .mobile-menu-toggle.active {
        right: 1rem;
        top: 1rem;
    }
}

/* LinkedIn Lead Page Styles */
.linkedin-lead-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gradient-background);
    padding: 2rem 0;
}

.linkedin-lead-page .hero-section {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem;
}

.linkedin-lead-page h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: var(--text-light);
}

.linkedin-lead-page .lead {
    font-size: 1.25rem;
    color: var(--text-muted);
    margin-bottom: 2rem;
}

/* Modal Active State */
.modal.active {
    display: flex !important;
    opacity: 1;
    visibility: visible;
}

.modal.active .modal-content {
    animation: modalSlideIn 0.3s ease-out;
}

/* Resources Page Styles */
.resources-page {
    padding-top: 80px; /* Account for fixed header */
}

.resources-section {
    padding: 4rem 0;
}

.resource-category {
    margin-bottom: 4rem;
}

.resource-category h2 {
    color: var(--text-light);
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}

.resource-category:last-child {
    margin-bottom: 0;
}

/* Reuse existing grid styles */
.tools-grid,
.articles-grid,
.info-cards-container,
.overview-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .resources-section {
        padding: 3rem 0;
    }

    .resource-category h2 {
        font-size: 1.75rem;
        margin-bottom: 1.5rem;
    }

    .tools-grid,
    .articles-grid,
    .info-cards-container,
    .overview-grid {
        gap: 1.5rem;
    }
}

@media (max-width: 480px) {
    .resources-section {
        padding: 2rem 0;
    }

    .resource-category h2 {
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }
}

/* Resource Page Grid Layouts */
.guides-grid,
.pdf-grid,
.videos-grid,
.prompts-grid,
.tools-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

@media (min-width: 768px) {
    .guides-grid,
    .pdf-grid,
    .videos-grid,
    .prompts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Guide Cards */
.guide-card {
    background: var(--card-bg);
    border-radius: 8px;
    padding: 1.5rem;
    transition: var(--transition);
}

.guide-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

.guide-content h3 {
    color: var(--text-light);
    margin-bottom: 0.75rem;
}

.guide-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
    font-size: 0.9rem;
}

.guide-date {
    color: var(--text-muted);
}

/* PDF Cards */
.pdf-card {
    background: var(--card-bg);
    border-radius: 8px;
    padding: 1.5rem;
    transition: var(--transition);
}

.pdf-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

.pdf-card i.fa-file-pdf {
    font-size: 2rem;
    color: #ff4444;
    margin-bottom: 1rem;
}

.pdf-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.file-size {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.download-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--accent-color);
}

/* Video Cards */
.video-card {
    background: var(--card-bg);
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
}

.video-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

.video-thumbnail {
    position: relative;
    padding-top: 56.25%; /* 16:9 Aspect Ratio */
}

.video-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-duration {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background: rgba(0, 0, 0, 0.8);
    color: var(--text-light);
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.video-content {
    padding: 1.5rem;
}

.video-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.video-date {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.watch-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #ff0000;
}

/* Prompt Cards */
.prompt-card {
    background: var(--card-bg);
    border-radius: 8px;
    padding: 1.5rem;
    transition: var(--transition);
}

.prompt-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

.prompt-category {
    display: inline-block;
    background: var(--accent-color);
    color: var(--text-light);
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

.prompt-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

.prompt-count {
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Tool Review Cards */
.tool-review-card {
    background: var(--card-bg);
    border-radius: 8px;
    padding: 1.5rem;
    transition: var(--transition);
}

.tool-review-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

.tool-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.tool-category {
    background: var(--accent-purple);
    color: var(--text-light);
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.tool-rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.tool-rating i {
    color: #ffd700;
}

.rating-value {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.tool-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.pros h4, .cons h4 {
    color: var(--text-light);
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.pros ul, .cons ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pros li, .cons li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.pros i {
    color: #4caf50;
}

.cons i {
    color: #f44336;
}

.read-review {
    display: inline-block;
    color: var(--accent-color);
    text-decoration: none;
    margin-top: 1rem;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .guides-grid,
    .pdf-grid,
    .videos-grid,
    .prompts-grid,
    .tools-grid {
        grid-template-columns: 1fr;
    }

    .tool-pros-cons {
        grid-template-columns: 1fr;
    }
}

/* Resource Category Styles */
.resource-category {
    margin-bottom: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--card-bg);
    cursor: pointer;
    transition: var(--transition);
}

.category-header:hover {
    background: var(--card-hover);
}

.category-header h2 {
    margin: 0;
    font-size: 1.5rem;
}

.collapse-toggle {
    background: none;
    border: none;
    color: var(--text-light);
    cursor: pointer;
    padding: 0.5rem;
    transition: var(--transition);
}

.collapse-toggle:hover {
    color: var(--accent-color);
}

.category-content {
    padding: 1.5rem;
    background: rgba(0, 0, 0, 0.2);
}

/* Search Container Styles */
.search-container {
    position: relative;
    margin-bottom: 1.5rem;
}

.search-input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.5rem;
    background: var(--card-bg);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: var(--text-light);
    font-size: 0.9rem;
    transition: var(--transition);
}

.search-input:focus {
    outline: none;
    border-color: var(--accent-color);
    background: var(--card-hover);
}

.search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

/* Updated Grid Layouts */
.guides-grid,
.pdf-grid,
.videos-grid,
.prompts-grid,
.tools-grid {
    display: grid;
    gap: 1rem;
    margin-top: 0;
}

@media (min-width: 768px) {
    .guides-grid,
    .pdf-grid,
    .videos-grid,
    .prompts-grid,
    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Updated Card Styles - More Compact */
.guide-card,
.pdf-card,
.video-card,
.prompt-card,
.tool-review-card {
    background: var(--card-bg);
    border-radius: 6px;
    padding: 1rem;
    transition: var(--transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.guide-card:hover,
.pdf-card:hover,
.video-card:hover,
.prompt-card:hover,
.tool-review-card:hover {
    background: var(--card-hover);
    transform: translateY(-2px);
}

/* Guide Card Specific */
.guide-content h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    line-height: 1.3;
}

.guide-content p {
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
    color: var(--text-muted);
}

/* PDF Card Specific */
.pdf-card i.fa-file-pdf {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.pdf-content h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

/* Video Card Specific */
.video-thumbnail {
    padding-top: 56.25%;
    margin-bottom: 0.75rem;
}

.video-content h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

/* Prompt Card Specific */
.prompt-category {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    margin-bottom: 0.75rem;
}

.prompt-content h3 {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

/* Tool Review Card Specific */
.tool-header h3 {
    font-size: 1.1rem;
    margin: 0;
}

.tool-category {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
}

.tool-pros-cons {
    margin: 0.75rem 0;
}

.pros h4, .cons h4 {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.pros li, .cons li {
    font-size: 0.85rem;
    margin-bottom: 0.25rem;
}

/* Meta Information Styles */
.guide-meta,
.pdf-meta,
.video-meta,
.prompt-meta {
    margin-top: auto;
    padding-top: 0.75rem;
    font-size: 0.85rem;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .category-header {
        padding: 0.75rem 1rem;
    }

    .category-header h2 {
        font-size: 1.25rem;
    }

    .category-content {
        padding: 1rem;
    }

    .search-input {
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}

.light-modal .modal-content {
    background: #fff;
    color: #222;
}

.light-modal .modal-header h2,
.light-modal .modal-header,
.light-modal .modal-subtitle,
.light-modal label {
    color: #222 !important;
}
.light-modal input,
.light-modal textarea,
.light-modal select {
    color: #222;
    background: #fff;
    border: 1.5px solid #d0d0d0;
}
.light-modal input::placeholder,
.light-modal textarea::placeholder {
    color: #888;
}

/* Form submission states */
button[type="submit"] {
    position: relative;
    transition: all 0.3s ease;
}

button[type="submit"]:disabled,
button[type="submit"][aria-disabled="true"] {
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

button[type="submit"].submitting {
    background-color: #64748b;
}

/* Loading spinner */
.loading-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 0.5em;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Disabled form inputs */
input:disabled,
textarea:disabled,
select:disabled,
input[aria-disabled="true"],
textarea[aria-disabled="true"],
select[aria-disabled="true"] {
    opacity: 0.7;
    cursor: not-allowed;
    background-color: #f1f5f9;
}

input:disabled,
textarea:disabled,
select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Podcast Episodes Styles */
.podcast-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
    align-items: start;
    background: transparent;
}

.podcast-card {
    background: var(--card-bg);
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.podcast-content {
    padding: 1rem;
    background: none;
}

.search-container {
    margin-bottom: 1rem;
}

.podcast-thumbnail {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
}

.podcast-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.podcast-card:hover .podcast-thumbnail img {
    transform: scale(1.05);
}

.play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.podcast-card:hover .play-overlay {
    opacity: 1;
}

.play-overlay i {
    color: var(--accent-color);
    font-size: 1.5rem;
    margin-left: 2px;
}

.episode-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

.podcast-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.episode-date {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.listen-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--accent-color);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border: 1px solid var(--accent-color);
    border-radius: 4px;
    transition: var(--transition);
}

.listen-link:hover {
    background: var(--accent-color);
    color: white;
    transform: translateY(-1px);
}

.listen-link i {
    font-size: 1rem;
}

.no-episodes {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

.no-episodes p {
    font-size: 1rem;
    margin: 0;
}

.no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2rem;
    color: var(--text-muted);
}

.no-results p {
    font-size: 1rem;
    margin: 0;
}

/* Responsive adjustments for podcast grid */
@media (max-width: 768px) {
    .podcast-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 1rem;
    }
    
    .podcast-thumbnail {
        height: 160px;
    }
    
    .podcast-content h3 {
        font-size: 1rem;
    }
    
    .podcast-content p {
        font-size: 0.85rem;
    }
    
    .podcast-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .listen-link {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .podcast-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .podcast-thumbnail {
        height: 140px;
    }
    
    .play-overlay {
        width: 50px;
        height: 50px;
    }
    
    .play-overlay i {
        font-size: 1.25rem;
    }
}

.resource-category .category-content {
    padding-top: 0;
    margin-top: 0;
}

/* Only for podcast section: make grid scrollable and reduce space above */
.podcast-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 0.5rem;
    align-items: start;
    background: transparent;
    max-height: 60vh;
    overflow-y: auto;
}

.podcast-card {
    background: var(--card-bg);
    border-radius: 8px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.podcast-thumbnail {
    margin-top: 0;
}

.resource-category .category-content {
    padding: 0;
    margin: 0;
}

.podcast-grid {
    margin-top: 0;
    align-items: start;
}

.podcast-card {
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.tools-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.tools-list li {
    flex: 1 1 250px;
    min-width: 220px;
}

.tool-link {
    display: block;
    background: var(--card-bg);
    border-radius: 6px;
    padding: 1rem 1.25rem;
    color: var(--accent-color);
    font-weight: 500;
    text-decoration: none;
    box-shadow: var(--shadow);
    transition: var(--transition);
    border: 1px solid rgba(255,255,255,0.08);
    position: relative;
}

.tool-link:hover {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
    box-shadow: var(--shadow-hover);
}

.tool-desc {
    display: block;
    color: var(--text-muted);
    font-size: 0.92em;
    font-weight: 400;
    margin-top: 0.25em;
}

.tools-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.5rem;
    margin: 0;
    padding: 0;
}

.tool-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: var(--card-bg);
    border-radius: 10px;
    padding: 1.25rem 1.25rem 1rem 1.25rem;
    color: var(--text-light);
    text-decoration: none;
    box-shadow: var(--shadow);
    border: 1px solid rgba(255,255,255,0.08);
    transition: var(--transition), box-shadow 0.2s;
    min-height: 160px;
    position: relative;
}

.tool-card:hover {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px) scale(1.03);
    z-index: 2;
}

.tool-icon {
    font-size: 2rem;
    margin-bottom: 0.75rem;
    color: var(--accent-color);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background: rgba(52,152,219,0.08);
    border-radius: 50%;
    transition: color 0.2s, background 0.2s;
}

.tool-card:hover .tool-icon {
    color: #fff;
    background: rgba(255,255,255,0.15);
}

.tool-title {
    font-weight: 700;
    font-size: 1.08rem;
    margin-bottom: 0.35rem;
    color: inherit;
    line-height: 1.3;
}

.tool-desc {
    color: var(--text-muted);
    font-size: 0.97em;
    font-weight: 400;
    margin-top: 0.1em;
    line-height: 1.5;
}

@media (max-width: 600px) {
    .tools-list-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .tool-card {
        padding: 1rem;
    }
}

/* AI Readiness Assessment CTA Section */
.ai-readiness-cta {
    background: linear-gradient(135deg, #1A2A44 0%, #2C3E50 100%);
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

.ai-readiness-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(63, 169, 245, 0.1) 0%, transparent 70%);
    pointer-events: none;
}

.ai-readiness-cta .container {
    position: relative;
    z-index: 2;
}

.cta-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.cta-icon {
    font-size: 4rem;
    margin-bottom: 1.5rem;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

.ai-readiness-cta h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-light);
    margin-bottom: 1rem;
    background: linear-gradient(135deg, #3FA9F5 0%, #6B4EFF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ai-readiness-cta p {
    font-size: 1.2rem;
    color: var(--text-muted);
    margin-bottom: 2rem;
    line-height: 1.6;
}

.cta-features {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
}

.cta-feature {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    padding: 0.75rem 1.5rem;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-light);
    font-weight: 500;
    transition: var(--transition);
}

.cta-feature:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

.feature-icon {
    font-size: 1.2rem;
}

.assessment-cta {
    background: linear-gradient(135deg, var(--accent-color) 0%, #6B4EFF 100%);
    color: white;
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(63, 169, 245, 0.3);
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
}

.assessment-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.assessment-cta:hover::before {
    left: 100%;
}

.assessment-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(63, 169, 245, 0.4);
    text-decoration: none;
    color: white;
}

.arrow-icon {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
}

.assessment-cta:hover .arrow-icon {
    transform: translateX(5px);
}

.cta-note {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-top: 1rem;
    font-style: italic;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .ai-readiness-cta {
        padding: 3rem 0;
    }
    
    .ai-readiness-cta h2 {
        font-size: 2rem;
    }
    
    .ai-readiness-cta p {
        font-size: 1.1rem;
    }
    
    .cta-features {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .cta-feature {
        padding: 0.5rem 1.25rem;
    }
    
    .assessment-cta {
        padding: 0.875rem 2rem;
        font-size: 1rem;
    }
    
    .cta-icon {
        font-size: 3rem;
    }
}

@media (max-width: 480px) {
    .ai-readiness-cta h2 {
        font-size: 1.75rem;
    }
    
    .assessment-cta {
        padding: 0.75rem 1.5rem;
        font-size: 0.95rem;
    }
}

/* Anonymous Email Prompt Styles */
.anonymous-email-prompt {
    background: var(--card-bg);
    border: var(--modal-border);
    border-radius: var(--modal-radius);
    padding: 2rem;
    text-align: center;
    margin-top: 1rem;
}

.anonymous-email-prompt h4 {
    color: var(--text-light);
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
}

.anonymous-email-prompt p {
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
}

.anonymous-email-form {
    text-align: left;
    max-width: 400px;
    margin: 0 auto;
}

.anonymous-email-form .form-group {
    margin-bottom: 1.5rem;
}

.anonymous-email-form .form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--text-light);
    font-weight: 500;
    font-size: 0.9rem;
}

.anonymous-email-form .form-group input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    background: var(--input-bg);
    color: var(--text-light);
}

.anonymous-email-form .form-group input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px var(--primary-light);
}

.anonymous-email-form .form-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.anonymous-email-form .form-actions button {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 120px;
}

.anonymous-email-form .form-actions .primary {
    background: var(--primary-color);
    color: white;
}

.anonymous-email-form .form-actions .primary:hover {
    background: var(--primary-dark);
}

.anonymous-email-form .form-actions .secondary {
    background: transparent;
    color: var(--text-light);
    border: 1px solid var(--border-color);
}

.anonymous-email-form .form-actions .secondary:hover {
    background: var(--bg-light);
}

.email-sent-confirmation {
    background: var(--success-bg);
    border: 1px solid var(--success-color);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    text-align: center;
    margin-top: 1rem;
}

.email-sent-confirmation h4 {
    color: var(--success-color);
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
}

.email-sent-confirmation p {
    color: var(--text-muted);
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

/* Email Input Modal Styles */
.email-input-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    padding: 2rem;
}

.email-input-content {
    background: var(--card-bg);
    border: var(--modal-border);
    border-radius: var(--modal-radius);
    padding: 2rem;
    width: 100%;
    max-width: 500px;
    box-shadow: var(--modal-shadow);
    text-align: center;
}

.email-input-content h3 {
    color: var(--text-light);
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}

.email-input-content p {
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.email-input-form {
    text-align: left;
}

.email-input-form .form-group {
    margin-bottom: 1.5rem;
}

.email-input-form label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--text-light);
    font-weight: 500;
}

.email-input-form input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-light);
    font-size: 1rem;
}

.email-input-form input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2);
}

.email-input-form input::placeholder {
    color: var(--text-muted);
}

.email-input-form .form-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
}

.email-input-form .cta-button {
    min-width: 120px;
}

@media (max-width: 768px) {
    .email-input-modal {
        padding: 1rem;
    }
    
    .email-input-content {
        padding: 1.5rem;
    }
    
    .email-input-content h3 {
        font-size: 1.25rem;
    }
    
    .email-input-form .form-actions {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .email-input-form .cta-button {
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .email-input-content {
        padding: 1rem;
    }
    
    .email-input-content h3 {
        font-size: 1.125rem;
    }
    
    .email-input-form input {
        padding: 0.625rem;
        font-size: 0.9rem;
    }
}

/* Collapsible Section Styles */
.resource-category.collapsible .category-content {
    display: block;
    transition: all 0.3s ease;
}

.resource-category.collapsible.collapsed .category-content {
    display: none;
}

.resource-category.collapsible .collapse-toggle {
    background: none;
    border: none;
    color: var(--text-light);
    cursor: pointer;
    padding: 0.5rem;
    transition: transform 0.3s ease;
}

.resource-category.collapsible .collapse-toggle i {
    transition: transform 0.3s ease;
}

.resource-category.collapsible.collapsed .collapse-toggle i {
    transform: rotate(-90deg) !important;
}

.resource-category.collapsible .collapse-toggle:hover {
    opacity: 0.8;
}

/* Ensure podcast section is visible by default */
.podcast-section .resource-category.collapsible .category-content {
    display: block !important;
}

.podcast-section .resource-category.collapsible .collapse-toggle i {
    transform: rotate(0deg) !important;
}