/* style.css */

:root {
  --primary-color: #0A4D68; /* Deep Blue */
  --primary-color-rgb: 10, 77, 104;
  --secondary-color: #088395; /* Teal/Cyan */
  --secondary-color-rgb: 8, 131, 149;
  --accent-color: #FF6969; /* Soft Red */
  --accent-color-rgb: 255, 105, 105;

  --text-dark: #222222;
  --text-medium: #555555;
  --text-light: #FFFFFF;
  --text-muted-light: #e0e0e0;
  --text-muted-dark: #6c757d;

  --background-light: #f8f9fa;
  --background-dark: #111111; /* For Footer */
  
  --glass-bg: rgba(255, 255, 255, 0.1); /* For elements on dark backgrounds */
  --glass-bg-darker: rgba(10, 77, 104, 0.08); /* For elements on light backgrounds, giving a darker glass look (using primary color tint) */
  --glass-border-color-light: rgba(255, 255, 255, 0.2);
  --glass-border-color-dark: rgba(0, 0, 0, 0.1);
  --glass-blur: 10px;

  --font-heading: 'Archivo Black', sans-serif;
  --font-body: 'Roboto', sans-serif;

  --border-radius-sm: 0.25rem;
  --border-radius-md: 0.5rem;
  --border-radius-lg: 1rem;

  --transition-speed-fast: 0.2s;
  --transition-speed-normal: 0.3s;
  --transition-speed-slow: 0.5s;

  --shadow-sm: 0 2px 4px rgba(0,0,0,0.07);
  --shadow-md: 0 4px 10px rgba(0,0,0,0.1);
  --shadow-lg: 0 8px 25px rgba(0,0,0,0.15);

  --header-height: 70px; 
}

/* Global Styles */
body {
  font-family: var(--font-body);
  color: var(--text-medium);
  background-color: var(--background-light);
  line-height: 1.6;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--text-dark);
  margin-top: 0;
  margin-bottom: 0.75rem;
  line-height: 1.3;
}

h1 { font-size: 2.8rem; }
h2 { font-size: 2.2rem; }
h3 { font-size: 1.8rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
  margin-bottom: 1rem;
}

a {
  color: var(--primary-color);
  text-decoration: none;
  transition: color var(--transition-speed-fast);
}
a:hover {
  color: var(--accent-color);
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Utility Classes */
.background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; 
}

.glass-effect { /* General glass effect, for elements on dark backgrounds */
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-color-light);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-md);
}

.glass-effect-darker { /* For elements on light backgrounds */
    background: var(--glass-bg-darker);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-color-dark);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-md);
}


/* Global Button Styles */
.btn, button, input[type="submit"], input[type="button"] {
    font-family: var(--font-body);
    font-weight: bold;
    padding: 0.75rem 1.75rem;
    border-radius: var(--border-radius-md);
    transition: all var(--transition-speed-normal) ease-in-out;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border: 2px solid transparent;
    box-shadow: var(--shadow-sm);
    line-height: 1.5;
}

.btn:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: var(--shadow-md);
}

.btn:active, button:active, input[type="submit"]:active, input[type="button"]:active {
    transform: translateY(0px) scale(1);
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--text-light);
}
.btn-primary:hover {
    background-color: color-mix(in srgb, var(--primary-color) 85%, black);
    border-color: color-mix(in srgb, var(--primary-color) 85%, black);
    color: var(--text-light);
}
.btn.btn-accent, button.btn-accent {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-light);
}
.btn.btn-accent:hover, button.btn-accent:hover {
    background-color: color-mix(in srgb, var(--accent-color) 85%, black);
    border-color: color-mix(in srgb, var(--accent-color) 85%, black);
    color: var(--text-light);
}
.btn-secondary {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--text-light);
}
.btn-secondary:hover {
    background-color: color-mix(in srgb, var(--secondary-color) 85%, black);
    border-color: color-mix(in srgb, var(--secondary-color) 85%, black);
    color: var(--text-light);
}

.btn-outline-primary {
    border-color: var(--primary-color);
    color: var(--primary-color);
    background-color: transparent;
}
.btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: var(--text-light);
    border-color: var(--primary-color);
}

/* Read More Link Style */
.read-more-link {
    color: var(--accent-color);
    font-weight: bold;
    text-decoration: none;
    transition: color var(--transition-speed-fast), transform var(--transition-speed-fast);
    display: inline-block;
}
.read-more-link:hover {
    color: color-mix(in srgb, var(--accent-color) 80%, black);
    text-decoration: underline;
    transform: translateX(4px);
}
.read-more-link::after {
    content: ' →';
    margin-left: 5px;
    transition: margin-left var(--transition-speed-fast);
}
.read-more-link:hover::after {
    margin-left: 8px;
}


/* Form Inputs */
.modern-input {
    background-color: rgba(255,255,255,0.15); /* Default for dark forms like Hero/Contact */
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--text-light);
    padding: 0.75rem 1.1rem;
    border-radius: var(--border-radius-md);
    transition: border-color var(--transition-speed-fast), box-shadow var(--transition-speed-fast), background-color var(--transition-speed-fast);
    width: 100%;
    font-size: 1rem;
}
.modern-input::placeholder {
    color: rgba(255,255,255,0.6);
}
.modern-input:focus {
    background-color: rgba(255,255,255,0.2);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 0.2rem rgba(var(--accent-color-rgb), 0.3);
    outline: none;
    color: var(--text-light);
}


/* Header / Navbar */
.navbar.fixed-top {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    transition: background-color var(--transition-speed-normal) ease-in-out, padding var(--transition-speed-normal) ease-in-out, box-shadow var(--transition-speed-normal) ease-in-out, height var(--transition-speed-normal) ease-in-out;
    height: var(--header-height);
    width: 100vw;
}
.navbar-brand {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    color: var(--text-light) !important;
}
.nav-link {
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-light) !important;
    margin-left: 0.6rem;
    margin-right: 0.6rem;
    padding: 0.5rem 0.8rem !important;
    border-radius: var(--border-radius-sm);
    transition: color var(--transition-speed-fast), background-color var(--transition-speed-fast);
    position: relative;
}
.nav-link:hover,
.nav-link.active,
.nav-item.show .nav-link {
    color: var(--accent-color) !important;
    background-color: rgba(255, 255, 255, 0.08);
}
.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: var(--accent-color);
    transition: width var(--transition-speed-normal) cubic-bezier(0.25, 0.1, 0.25, 1);
    border-radius: 2px;
}
.nav-link:hover::after,
.nav-link.active::after {
    width: 60%;
}

.dropdown-menu {
    background-color: rgba(var(--primary-color-rgb), 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--glass-border-color-light);
    border-radius: var(--border-radius-md);
    margin-top: 0.5rem !important;
    box-shadow: var(--shadow-lg);
}
.dropdown-item {
    font-family: var(--font-body);
    color: var(--text-light);
    padding: 0.6rem 1.2rem;
    transition: background-color var(--transition-speed-fast), color var(--transition-speed-fast);
}
.dropdown-item:hover, .dropdown-item:focus {
    background-color: var(--accent-color);
    color: var(--text-light);
}
.dropdown-divider {
    border-top: 1px solid var(--glass-border-color-light);
}
.navbar-toggler {
    border-color: rgba(255,255,255,0.25);
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-scrolled { /* Added via JS */
    background-color: rgba(var(--primary-color-rgb), 0.97) !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    box-shadow: var(--shadow-md);
    height: calc(var(--header-height) - 10px);
}


/* General Section Styling */
section {
    padding-top: 5rem;
    padding-bottom: 5rem;
    position: relative;
}
.section-title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: var(--text-dark);
    text-align: center;
    position: relative;
    padding-bottom: 1.2rem;
}
.section-title + .lead {
    margin-bottom: 3.5rem;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 5px;
    background-color: var(--accent-color);
    border-radius: 3px;
}
section[style*="background-color: var(--secondary-color);"] .section-title,
section[style*="background: linear-gradient"] .section-title,
#contact .section-title {
    color: var(--text-light);
    text-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
section[style*="background-color: var(--secondary-color);"] .section-title::after,
section[style*="background: linear-gradient"] .section-title::after,
#contact .section-title::after {
    background-color: var(--text-light);
}


/* Hero Section */
#hero {
    color: var(--text-light);
    padding-top: calc(var(--header-height) + 4rem);
    padding-bottom: 4rem;
}
#hero .container {
    position: relative;
    z-index: 2;
}
#hero h1 {
    color: var(--text-light);
    text-shadow: 2px 2px 6px rgba(0,0,0,0.6);
    font-size: 3.2rem;
}
#hero .lead {
    color: var(--text-light);
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
    max-width: 90%;
}
#hero .btn { /* Hero call to action button */
    padding: 0.9rem 2.2rem;
    font-size: 1.15rem;
    /* Specific colors are set in HTML inline style, which is fine */
}
.registration-form { /* Hero form container */
    padding: 2rem 2.5rem;
}
.registration-form h3 {
    color: var(--text-light);
    margin-bottom: 2rem;
}
.registration-form .form-label {
    color: var(--text-light);
    font-weight: 500;
    margin-bottom: 0.3rem;
}
.registration-form .form-check-label {
    color: var(--text-light);
}
.registration-form .btn { /* Submit button in hero form */
    padding: 0.8rem;
    /* Specific colors are set in HTML inline style */
}


/* Card Styles */
.card {
    border: none;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform var(--transition-speed-normal) ease-out, box-shadow var(--transition-speed-normal) ease-out;
    display: flex;
    flex-direction: column;
    background-color: var(--text-light);
    height: 100%;
}
.card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}
.card-image { /* Wrapper for image in card */
    width: 100%;
    height: 220px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e9ecef;
}
.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform var(--transition-speed-slow) ease;
}
.card:hover .card-image img {
    transform: scale(1.06);
}
.card-content, .card-body {
    padding: 1.75rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.card-title {
    margin-bottom: 0.75rem;
}
.card-text {
    flex-grow: 1;
    margin-bottom: 1.25rem;
}
.card-text:last-child {
    margin-bottom: 0;
}
.glass-effect-card { /* For Services, Case Studies cards (on light page background) */
    background: var(--glass-bg-darker); /* Darker glass on light BG */
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-color-dark);
}
.glass-effect-card .card-title,
.glass-effect-card .card-text {
    color: var(--text-dark);
}
.glass-effect-card .btn-outline-primary {
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.glass-effect-card .btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: var(--text-light);
}

.glass-effect-light-card { /* For Awards cards (on dark page background) */
    background: var(--glass-bg); /* Lighter glass on dark BG */
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-color-light);
    text-align: center;
}
.glass-effect-light-card h5, /* Awards cards use h5 */
.glass-effect-light-card p {
    color: var(--text-dark); /* Text within these light glass cards must be dark */
}
.glass-effect-light-card img {
    max-width: 90px;
    height: 90px;
    object-fit: contain;
    margin: 0 auto 1rem auto;
}


/* Vision Section */
#vision {
    color: var(--text-light);
}
#vision p.lead { color: var(--text-light); font-size: 1.2rem; }
#vision p { color: var(--text-muted-light); }
#vision img {
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
}
.progress {
    height: 22px !important;
    border-radius: var(--border-radius-md);
    background-color: rgba(0,0,0,0.25);
}
.progress-bar {
    background-color: var(--accent-color) !important;
    color: var(--text-light);
    font-weight: bold;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    padding-left: 10px;
    border-radius: var(--border-radius-md);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

/* Case Studies Carousel */
#case-studies .carousel-item .card {
    box-shadow: none;
}
#case-studies .carousel-item .card .card-image {
    height: auto;
}
@media (min-width: 768px) {
    #case-studies .carousel-item .row > [class*="col-md-"] { display: flex; }
    #case-studies .carousel-item .card { flex-direction: row; }
    #case-studies .carousel-item .card-image {
        min-height: 320px;
        max-height: 420px;
        border-top-left-radius: var(--border-radius-lg);
        border-bottom-left-radius: var(--border-radius-lg);
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
     #case-studies .carousel-item .card-image img {
        border-top-left-radius: var(--border-radius-lg);
        border-bottom-left-radius: var(--border-radius-lg);
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    #case-studies .carousel-item .card-content {
        border-top-right-radius: var(--border-radius-lg);
        border-bottom-right-radius: var(--border-radius-lg);
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}
#case-studies .carousel-indicators button {
    background-color: var(--primary-color);
    opacity: 0.4;
    width: 10px; height: 10px; border-radius: 50%; margin: 0 4px; border: none;
}
#case-studies .carousel-indicators button.active {
    opacity: 1; background-color: var(--accent-color);
}
#case-studies .carousel-control-prev, #case-studies .carousel-control-next { width: 5%; }
#case-studies .carousel-control-prev-icon, #case-studies .carousel-control-next-icon {
    width: 2.8rem; height: 2.8rem;
}


/* Awards Section */
#awards .lead { color: var(--text-muted-light); }

/* Resources Section */
#resources .resource-card .card-title { font-size: 1.3rem; }
#resources .resource-card .card-text.small { font-size: 0.9rem; margin-bottom: 1.25rem;}
#resources .resource-card .btn-outline-primary { align-self: flex-start; margin-top: auto; }


/* Contact Section */
#contact { padding-top: 0; padding-bottom: 0; }
#contact .background-overlay {
    padding-top: 5rem; padding-bottom: 5rem;
}
#contact .contact-form {
    padding: 2.5rem 3rem;
}
#contact .form-label { color: var(--text-light); font-weight: 500; }
#contact .form-check-label { color: var(--text-light); }

#contact .text-center.mt-4 p { color: var(--text-muted-light); }
#contact .text-center.mt-4 a { color: var(--accent-color); transition: color var(--transition-speed-fast); }
#contact .text-center.mt-4 a:hover { color: color-mix(in srgb, var(--accent-color) 80%, white); }


/* Footer */
footer {
    background-color: var(--background-dark);
    color: #ccc;
    padding-top: 3.5rem;
    padding-bottom: 2rem;
}
footer h5 {
    font-family: var(--font-heading);
    color: var(--text-light);
    margin-bottom: 1.2rem;
}
footer h6 {
    font-family: var(--font-heading);
    color: #b0b0b0;
    text-transform: uppercase;
    font-size: 0.95rem;
    letter-spacing: 0.6px;
    margin-bottom: 1.2rem;
}
footer ul { list-style: none; padding-left: 0; }
footer .footer-link {
    color: #ccc;
    font-size: 0.95rem;
    transition: color var(--transition-speed-fast), padding-left var(--transition-speed-fast);
    display: block;
    padding: 0.3rem 0;
}
footer .footer-link:hover {
    color: var(--accent-color);
    padding-left: 6px;
}
footer hr { border-color: #383838; margin-top: 2.5rem; margin-bottom: 2rem; }
footer .small { color: #888; }


/* Modal Styles */
.modal-content.glass-effect-modal {
    background: var(--glass-bg-darker);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border-color-dark);
    border-radius: var(--border-radius-lg);
}
.modal-header { border-bottom: 1px solid var(--glass-border-color-dark); }
.modal-header .modal-title { font-family: var(--font-heading); color: var(--text-dark); }
.modal-body { color: var(--text-medium); }
.modal-footer { border-top: 1px solid var(--glass-border-color-dark); }
.btn-close { filter: invert(0.2) grayscale(1) brightness(1.2); }


/* Success Page */
body.success-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--primary-color);
}
.success-page .main-content {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2rem;
}
.success-message-box {
    background-color: var(--text-light);
    padding: 3rem 3.5rem;
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    max-width: 650px;
    color: var(--text-dark);
}
.success-message-box h1 {
    font-family: var(--font-heading);
    color: var(--primary-color);
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
}
.success-message-box p {
    color: var(--text-medium);
    font-size: 1.15rem;
    margin-bottom: 2rem;
}


/* Privacy/Terms Page */
body.legal-page .main-content-area {
    padding-top: calc(var(--header-height) + 2.5rem);
    padding-bottom: 4rem;
    color: var(--text-dark);
}
.legal-page .container {
    max-width: 960px;
}
.legal-page h1, .legal-page h2, .legal-page h3 {
    font-family: var(--font-heading);
    color: var(--text-dark);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}
.legal-page h1:first-child { margin-top: 0;}
.legal-page p, .legal-page ul, .legal-page li {
    font-family: var(--font-body);
    color: var(--text-medium);
    line-height: 1.75;
    margin-bottom: 1.25rem;
}
.legal-page ul { padding-left: 25px; }
.legal-page a { color: var(--primary-color); text-decoration: underline; font-weight: 500; }
.legal-page a:hover { color: var(--accent-color); }

/* Responsive Adjustments */
@media (max-width: 991.98px) { /* lg */
    h1 { font-size: 2.4rem; }
    #hero h1 { font-size: 2.8rem; }
    .section-title { font-size: 2.1rem; }
    .nav-link { margin-left: 0.2rem; margin-right: 0.2rem; padding: 0.5rem 0.5rem !important; }
}
@media (max-width: 767.98px) { /* md */
    body { line-height: 1.55; }
    h1 { font-size: 2rem; }
    #hero h1 { font-size: 2.2rem; }
    #hero .lead { font-size: 1.1rem; max-width: 100%; }
    .section-title { font-size: 1.9rem; margin-bottom: 0.8rem; padding-bottom: 1rem; }
    .section-title + .lead { margin-bottom: 2.5rem; }
    section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
    
    .navbar-collapse {
        background-color: rgba(var(--primary-color-rgb), 0.98);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        position: absolute;
        top: 100%; 
        left: 0;
        width: 100%;
        padding: 1rem;
        border-bottom-left-radius: var(--border-radius-md);
        border-bottom-right-radius: var(--border-radius-md);
        box-shadow: var(--shadow-md);
        z-index: 1020; /* Below navbar (1030 by default for fixed) but above content */
    }
    .navbar-nav { width: 100%; }
    .nav-item { width: 100%; }
    .nav-link { display: block; width: 100%; text-align: center; padding: 0.8rem 1rem !important; margin: 0.25rem 0; }
    .nav-link:hover, .nav-link.active { background-color: rgba(255,255,255,0.1); }
    .nav-link::after { display: none; }
    .dropdown-menu { width: 100%; background-color: transparent; backdrop-filter: none; border: none; box-shadow: none; margin-top: 0 !important; padding: 0.5rem 0; }
    .dropdown-item { text-align: center; background-color: rgba(255,255,255,0.05) !important; margin-bottom: 2px; border-radius: var(--border-radius-sm); }
    .dropdown-item:hover { background-color: var(--accent-color) !important; }
    
    #hero .registration-form { padding: 1.5rem; }
    #hero .btn { padding: 0.8rem 1.8rem; font-size: 1rem; }

    #case-studies .carousel-item .card { flex-direction: column !important; }
    #case-studies .carousel-item .card-image {
        min-height: 200px !important;
        max-height: 280px !important;
        border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0 !important;
    }
    #case-studies .carousel-item .card-image img {
        border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0 !important;
    }
    #case-studies .carousel-item .card-content {
        border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg) !important;
    }
}

/* AOS Customizations (ensure initial states for smooth transitions) */
[data-aos] {
    pointer-events: none; /* Disable interaction during transition phase */
}
.aos-init[data-aos] {
    pointer-events: auto;
}
.aos-animate[data-aos] {
    pointer-events: auto;
}

/* Fix for potential AOS flickering or incorrect initial state */
[data-aos="fade-up"] { opacity: 0; transform: translateY(20px); }
[data-aos="fade-down"] { opacity: 0; transform: translateY(-20px); }
[data-aos="fade-right"] { opacity: 0; transform: translateX(-20px); }
[data-aos="fade-left"] { opacity: 0; transform: translateX(20px); }
[data-aos="zoom-in"] { opacity: 0; transform: scale(0.9); }
/* Add other AOS types if used */

[data-aos].aos-animate {
    opacity: 1 !important; /* Ensure visibility */
    transform: none !important; /* Reset transform */
}

.case-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

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