/* style.css */

/*--------------------------------------------------------------
# CSS Variables
--------------------------------------------------------------*/
:root {
    --font-primary: 'Playfair Display', serif;
    --font-secondary: 'Source Sans Pro', sans-serif;

    --color-primary: #0A2463; /* Deep Blue */
    --color-primary-darker: #081c4f;
    --color-primary-rgb: 10, 36, 99;

    --color-secondary: #F9A825; /* Bright Gold/Yellow */
    --color-secondary-darker: #e0930f;
    --color-secondary-rgb: 249, 168, 37;

    --color-accent: #D90368; /* Vivid Pink/Magenta (Complementary/Accent) */
    --color-accent-darker: #b80257;

    --color-text-light: #FFFFFF;
    --color-text-dark: #333333;
    --color-text-headings: #1A2D4A; /* Darker Blue for headings */
    --color-text-muted: #555555;
    --color-text-on-primary: #FFFFFF;
    --color-text-on-secondary: var(--color-primary);

    --color-background-body: #FFFFFF;
    --color-background-light: #f8f9fa; /* Very light gray/off-white */
    --color-background-section-alt: #eef2f9; /* Light blueish gray */
    --color-border: #dee2e6;
    --color-border-input: #ced4da;
    --color-border-input-focus: var(--color-secondary);

    --gradient-hero-overlay: linear-gradient(rgba(var(--color-primary-rgb), 0.65), rgba(var(--color-primary-rgb), 0.75));
    --gradient-card-hover: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-darker) 100%);

    --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
    --shadow-md: 0 5px 15px rgba(0,0,0,0.08);
    --shadow-lg: 0 10px 25px rgba(0,0,0,0.12);
    --shadow-inset: inset 0 2px 4px rgba(0,0,0,0.06);

    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 12px;
    --border-radius-pill: 50px;

    --transition-speed-fast: 0.2s;
    --transition-speed-normal: 0.3s;
    --transition-bezier: ease-in-out;

    --navbar-height: 52px; /* Bulma's default, adjust if needed */
}

/*--------------------------------------------------------------
# General & Base Styles
--------------------------------------------------------------*/
html {
    scroll-behavior: smooth;
    font-size: 16px; /* Base for rem units */
}

body {
    font-family: var(--font-secondary);
    color: var(--color-text-dark);
    background-color: var(--color-background-body);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 768px) {
    html { font-size: 15px; }
}

a {
    color: var(--color-secondary);
    text-decoration: none;
    transition: color var(--transition-speed-fast) var(--transition-bezier);
}
a:hover {
    color: var(--color-secondary-darker);
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6,
.title, .subtitle { /* Bulma classes */
    font-family: var(--font-primary);
    color: var(--color-text-headings);
    font-weight: 700;
    line-height: 1.3;
}
/* Ensure Bulma title/subtitle overrides are consistent */
.title { color: var(--color-text-headings); }
.subtitle { color: var(--color-text-muted); }


.section {
    padding: 4rem 1.5rem; /* Default Bulma is 3rem 1.5rem, slightly more vertical space */
}
@media screen and (max-width: 768px) {
    .section {
        padding: 3rem 1rem;
    }
}

.section-title {
    text-align: center;
    margin-bottom: 1rem; /* Reduced from HTML */
    font-size: 2.8rem;
    color: var(--color-text-headings);
    font-weight: 900;
}
.section-subtitle {
    text-align: center;
    margin-bottom: 3rem;
    font-size: 1.2rem;
    color: var(--color-text-muted);
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--font-secondary);
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .section-title { font-size: 2.2rem; }
    .section-subtitle { font-size: 1.1rem; margin-bottom: 2rem;}
}

/* Background image helper */
.has-background-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Text on image background helper for readability */
.text-on-image-overlay::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.6));
    z-index: 1;
}
.text-on-image-overlay > * {
    position: relative;
    z-index: 2;
}


/*--------------------------------------------------------------
# Buttons - Global Styles
--------------------------------------------------------------*/
.button, button, input[type="submit"], input[type="button"], input[type="reset"] {
    font-family: var(--font-secondary);
    font-weight: 600;
    padding: 0.75em 1.5em;
    border-radius: var(--border-radius-pill);
    transition: all var(--transition-speed-normal) var(--transition-bezier);
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.9rem;
}
.button:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.button:active, button:active, input[type="submit"]:active, input[type="button"]:active, input[type="reset"]:active {
    transform: translateY(0px);
    box-shadow: var(--shadow-inset);
}

.button.is-primary, button.is-primary { /* Bulma specific and general */
    background-color: var(--color-secondary);
    color: var(--color-text-on-secondary);
    border: 1px solid var(--color-secondary);
}
.button.is-primary:hover, button.is-primary:hover {
    background-color: var(--color-secondary-darker);
    border-color: var(--color-secondary-darker);
    color: var(--color-text-on-secondary); /* Ensure text color remains consistent */
}

.button.is-secondary, button.is-secondary {
    background-color: var(--color-primary);
    color: var(--color-text-on-primary);
    border: 1px solid var(--color-primary);
}
.button.is-secondary:hover, button.is-secondary:hover {
    background-color: var(--color-primary-darker);
    border-color: var(--color-primary-darker);
    color: var(--color-text-on-primary);
}

.button.is-link.is-outlined { /* Specific to "Read more" links if they use this Bulma combo */
    color: var(--color-secondary);
    border-color: var(--color-secondary);
    background-color: transparent;
}
.button.is-link.is-outlined:hover {
    background-color: var(--color-secondary);
    color: var(--color-text-on-secondary);
}

.button.is-large {
    padding: 1em 2em;
    font-size: 1rem;
}

/*--------------------------------------------------------------
# Forms - Global Styles
--------------------------------------------------------------*/
.input, .textarea {
    font-family: var(--font-secondary);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--color-border-input);
    box-shadow: var(--shadow-inset);
    transition: border-color var(--transition-speed-fast) var(--transition-bezier), box-shadow var(--transition-speed-fast) var(--transition-bezier);
}
.input:focus, .textarea:focus {
    border-color: var(--color-border-input-focus);
    box-shadow: 0 0 0 0.125em rgba(var(--color-secondary-rgb), 0.25), var(--shadow-inset);
}
.label {
    color: var(--color-text-headings);
    font-weight: 600;
}


/*--------------------------------------------------------------
# Header & Navbar
--------------------------------------------------------------*/
.navbar.is-fixed-top {
    box-shadow: var(--shadow-md);
    width: 100vw !important;
    background-color: var(--color-background-body); /* Ensure background for fixed navbar */
}
.navbar-brand .navbar-item img {
    max-height: 2.5rem; /* Adjust logo size */
}
.navbar-item, .navbar-link {
    font-family: var(--font-secondary);
    font-weight: 600;
    color: var(--color-primary);
    transition: color var(--transition-speed-fast) var(--transition-bezier), background-color var(--transition-speed-fast) var(--transition-bezier);
    padding: 0.5rem 1rem;
}
.navbar-item:hover, .navbar-link:hover,
.navbar-item.is-active, .navbar-link.is-active { /* is-active for current page */
    background-color: transparent;
    color: var(--color-secondary) !important;
}
.navbar-burger {
    color: var(--color-primary);
    height: 3.25rem; /* Align with Bulma's default navbar height */
    width: 3.25rem;
}
.navbar-burger span {
    background-color: var(--color-primary);
    transition: transform var(--transition-speed-fast) var(--transition-bezier), opacity var(--transition-speed-fast) var(--transition-bezier);
}
.navbar-burger.is-active span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}
.navbar-burger.is-active span:nth-child(2) {
    opacity: 0;
}
.navbar-burger.is-active span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
}

@media screen and (max-width: 1023px) {
    .navbar-menu {
        background-color: var(--color-background-body);
        box-shadow: 0 8px 16px rgba(0,0,0,0.1);
        padding: 0.5rem 0;
        border-top: 1px solid var(--color-border);
    }
    .navbar-item {
        padding: 0.75rem 1.5rem;
        border-bottom: 1px solid #f0f0f0;
    }
    .navbar-item:last-child {
        border-bottom: none;
    }
    .navbar-menu .navbar-item.is-active {
        background-color: var(--color-background-section-alt);
    }
}


/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
    position: relative; /* For overlay */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* Parallax effect */
    /* background-attachment: fixed; */ /* Can cause issues on mobile or with fixed nav, test thoroughly */
}
#hero .hero-body {
    position: relative;
    z-index: 2; /* Above overlay */
    padding-top: 8rem; /* Extra padding for content */
    padding-bottom: 8rem;
}
#hero::before { /* Overlay for text readability */
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--gradient-hero-overlay);
    z-index: 1;
}
#hero .title, #hero .subtitle {
    color: var(--color-text-light) !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}
#hero .title {
    font-size: 3.5rem; /* Adaptive typography base */
    font-weight: 900;
    margin-bottom: 1rem;
}
#hero .subtitle {
    font-size: 1.5rem; /* Adaptive typography base */
    font-weight: 400;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}
#hero .button {
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    #hero .title { font-size: 2.5rem; }
    #hero .subtitle { font-size: 1.2rem; }
    #hero .hero-body { padding-top: 6rem; padding-bottom: 6rem; }
}

/*--------------------------------------------------------------
# About Us Section
--------------------------------------------------------------*/
#about .content p {
    font-size: 1.1rem;
    color: var(--color-text-muted);
}
#about .image img {
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-lg);
}
.stats-widget {
    text-align: center;
    padding: 2rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-md);
    background-color: var(--color-background-body);
    transition: transform var(--transition-speed-normal) var(--transition-bezier), box-shadow var(--transition-speed-normal) var(--transition-bezier);
}
.stats-widget:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}
.stats-widget .stat-number {
    font-size: 3rem;
    font-weight: 900;
    color: var(--color-secondary);
    font-family: var(--font-primary);
    display: block;
    margin-bottom: 0.5rem;
}
.stats-widget .stat-label {
    font-size: 1rem;
    color: var(--color-primary);
    font-weight: 600;
}

/*--------------------------------------------------------------
# Services, Portfolio, Insights, External Resources (Card-based Sections)
--------------------------------------------------------------*/
.card {
    background-color: var(--color-background-body);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    transition: transform var(--transition-speed-normal) var(--transition-bezier), box-shadow var(--transition-speed-normal) var(--transition-bezier);
    height: 100%; /* For equal height cards in a row if using Bulma columns */
    display: flex; /* For STROGO rule */
    flex-direction: column; /* For STROGO rule */
    /* align-items: center;  Removed this as it centers the whole card-image and card-content blocks which might not be desired */
}
.card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.card .card-image { /* Bulma's structure */
    position: relative;
    overflow: hidden; /* Ensures image respects border radius if applied to img directly */
    /* text-align: center; For STROGO rule to center image inside this container if it's not full width */
}
.card .card-image .image { /* Bulma's .image wrapper */
     display: block; /* remove extra space below image */
}
.card .card-image img {
    border-top-left-radius: var(--border-radius-md);
    border-top-right-radius: var(--border-radius-md);
    object-fit: cover;
    width: 100%; /* Ensure image fills container width */
    height: 200px; /* Example fixed height for image container - adjust as needed */
    /* aspect-ratio: 16/10; Alternative to fixed height */
    display: block; /* Remove any inline spacing */
    /* margin: 0 auto;  Only if the image is smaller than its container and needs centering */
    transition: transform var(--transition-speed-normal) var(--transition-bezier);
}
.card:hover .card-image img {
    transform: scale(1.05);
}

.card .card-content {
    padding: 1.5rem;
    flex-grow: 1; /* Allows content to expand and push card-footer (if any) down */
    display: flex;
    flex-direction: column;
}
.card .card-content .title { /* Title inside card */
    margin-bottom: 0.75rem;
    font-size: 1.4rem;
    color: var(--color-primary);
}
.card .card-content .content {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    flex-grow: 1; /* Pushes button to bottom if inside content */
}
.card .card-content .content p:last-child {
    margin-bottom: 0;
}
.card .card-content .button,
.card .card-footer .button {
    margin-top: auto; /* Pushes button to bottom of card-content or card-footer */
    align-self: flex-start; /* Aligns button to left if card-content is flex */
}

/* Specific to External Resources section cards */
#external-resources .card {
    background-color: var(--color-background-section-alt);
}
#external-resources .card-content .title a {
    color: var(--color-primary);
}
#external-resources .card-content .title a:hover {
    color: var(--color-secondary);
}


/*--------------------------------------------------------------
# Gallery Section
--------------------------------------------------------------*/
#gallery .image {
    border-radius: var(--border-radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform var(--transition-speed-normal) var(--transition-bezier), box-shadow var(--transition-speed-normal) var(--transition-bezier);
}
#gallery .image:hover {
    transform: scale(1.03) translateY(-3px);
    box-shadow: var(--shadow-lg);
}
#gallery .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*--------------------------------------------------------------
# Community/Testimonials Section
--------------------------------------------------------------*/
#community .box { /* Bulma's .box */
    box-shadow: var(--shadow-md);
    border-radius: var(--border-radius-md);
    background-color: var(--color-background-body);
    transition: transform var(--transition-speed-normal) var(--transition-bezier), box-shadow var(--transition-speed-normal) var(--transition-bezier);
    height: 100%;
}
#community .box:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}
#community .media-left .image img {
    border-radius: 50%; /* Rounded avatars */
    box-shadow: var(--shadow-sm);
}
#community .media-content .content p strong {
    color: var(--color-primary);
    font-family: var(--font-primary);
}
#community .media-content .content {
    color: var(--color-text-muted);
}

/*--------------------------------------------------------------
# Contact Preview Section
--------------------------------------------------------------*/
#contact-preview {
    background-color: var(--color-primary); /* Already in HTML, ensure it's here */
    color: var(--color-text-light); /* Already in HTML */
    padding: 5rem 1.5rem;
}
#contact-preview .title, #contact-preview .subtitle, #contact-preview p {
    color: var(--color-text-light);
}
#contact-preview .title {
    font-size: 2.5rem;
}
#contact-preview .subtitle {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
}
#contact-preview p {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.1rem;
    line-height: 1.8;
}
#contact-preview .button.is-primary {
    background-color: var(--color-secondary);
    color: #fff !important;
    border-color: var(--color-secondary);
}
#contact-preview .button.is-primary:hover {
    background-color: var(--color-secondary-darker);
    border-color: var(--color-secondary-darker);
}

/*--------------------------------------------------------------
# Contact Page (contacts.html)
--------------------------------------------------------------*/
.contact-page-section {
    padding-top: calc(var(--navbar-height) + 3rem); /* Adjust for fixed navbar */
    padding-bottom: 3rem;
}

.contact-form-container {
    background-color: var(--color-background-light);
    padding: 2.5rem;
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
}

@media screen and (max-width: 768px) {
    .contact-form-container {
        padding: 1.5rem;
    }
}

.contact-info-column .icon-text { /* For Bulma icon-text helper */
    margin-bottom: 1rem;
    align-items: center;
}
.contact-info-column .icon-text .icon {
    color: var(--color-secondary);
    margin-right: 0.75rem;
}
.contact-info-column .icon-text span:not(.icon) {
    font-size: 1.1rem;
    color: var(--color-text-dark);
}
.contact-info-column h3.title {
    color: var(--color-primary);
    margin-bottom: 1.5rem;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
    background-color: var(--color-primary);
    color: #E0E0E0; /* Light gray for text */
    padding: 4rem 1.5rem 2rem; /* Adjusted padding */
}
.footer .title { /* Titles in footer */
    color: var(--color-text-light);
    font-size: 1.3rem;
    margin-bottom: 1rem;
}
.footer p, .footer li {
    font-size: 0.95rem;
    color: #cccccc; /* Slightly dimmer than E0E0E0 for contrast */
}
.footer a:not(.social-link) {
    color: var(--color-secondary);
    transition: color var(--transition-speed-fast) var(--transition-bezier), text-decoration var(--transition-speed-fast) var(--transition-bezier);
}
.footer a:not(.social-link):hover {
    color: var(--color-text-light);
    text-decoration: underline;
}
.footer ul {
    list-style: none;
    padding-left: 0;
}
.footer ul li {
    margin-bottom: 0.5rem;
}
.footer hr {
    background-color: rgba(255,255,255,0.15); /* More subtle hr */
    height: 1px;
    margin: 2rem 0;
}
.footer .social-links {
    margin-top: 1rem;
    text-align: left; /* Default for column content */
}
.footer .social-links a.social-link {
    color: #E0E0E0;
    margin-right: 1.5rem; /* Increased spacing */
    font-size: 1rem; /* Slightly larger text for social links */
    display: inline-block; /* Allows for margin and consistent spacing */
    transition: color var(--transition-speed-fast) var(--transition-bezier), transform var(--transition-speed-fast) var(--transition-bezier);
    text-decoration: none;
    font-weight: 500;
}
.footer .social-links a.social-link:hover {
    color: var(--color-secondary);
    transform: translateY(-2px);
}
.footer .social-links a.social-link:last-child {
    margin-right: 0;
}
.footer .content.has-text-centered p { /* Copyright */
    color: #a0a0a0; /* Even dimmer for copyright */
    font-size: 0.9rem;
}

@media screen and (max-width: 768px) {
    .footer .columns > .column {
        margin-bottom: 2rem;
        text-align: center;
    }
    .footer .columns > .column:last-child {
        margin-bottom: 0;
    }
    .footer .social-links {
        text-align: center;
    }
     .footer .social-links a.social-link {
        margin: 0 0.75rem;
    }
}

/*--------------------------------------------------------------
# Success Page (success.html)
--------------------------------------------------------------*/
.success-page-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    text-align: center;
    padding: 2rem;
    background-color: var(--color-background-light);
}
.success-page-content {
    background-color: var(--color-background-body);
    padding: 3rem;
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    max-width: 600px;
}
.success-page-content .icon { /* For a success icon */
    font-size: 4rem;
    color: var(--color-secondary); /* Or a success green */
    margin-bottom: 1.5rem;
}
.success-page-content h1.title {
    color: var(--color-primary);
    margin-bottom: 1rem;
}
.success-page-content p {
    font-size: 1.1rem;
    color: var(--color-text-muted);
    margin-bottom: 2rem;
}

/*--------------------------------------------------------------
# Privacy & Terms Pages (privacy.html, terms.html)
--------------------------------------------------------------*/
.static-page-section {
    padding-top: calc(var(--navbar-height) + 3rem); /* Adjust for fixed navbar */
    padding-bottom: 3rem;
}
.static-page-section .content h1,
.static-page-section .content h2,
.static-page-section .content h3 {
    color: var(--color-text-headings);
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.static-page-section .content p,
.static-page-section .content li {
    color: var(--color-text-dark);
    line-height: 1.8;
}
.static-page-section .content ul,
.static-page-section .content ol {
    margin-left: 1.5em;
    margin-bottom: 1em;
}

/*--------------------------------------------------------------
# Cookie Popup (already has inline styles, this is a fallback or enhancement)
--------------------------------------------------------------*/
#cookie-popup {
    /* Styles are primarily inline in HTML for simplicity as requested */
    /* This can be used to override or ensure consistency if needed */
    font-family: var(--font-secondary);
}
#cookie-popup p a {
    color: var(--color-secondary); /* Ensure link color matches theme */
}
#cookie-popup button#accept-cookies {
    background-color: var(--color-secondary);
    color: var(--color-primary); /* Text on secondary color button */
    font-weight: bold;
}
#cookie-popup button#accept-cookies:hover {
    background-color: var(--color-secondary-darker);
}


/*--------------------------------------------------------------
# Utility Classes
--------------------------------------------------------------*/
.has-text-primary { color: var(--color-primary) !important; }
.has-text-secondary { color: var(--color-secondary) !important; }
.has-text-accent { color: var(--color-accent) !important; }
.has-text-light { color: var(--color-text-light) !important; }
.has-text-dark { color: var(--color-text-dark) !important; }

.has-background-primary { background-color: var(--color-primary) !important; }
.has-background-secondary { background-color: var(--color-secondary) !important; }
.has-background-accent { background-color: var(--color-accent) !important; }
.has-background-light { background-color: var(--color-background-light) !important; } /* Bulma has this */
.has-background-body { background-color: var(--color-background-body) !important; }
.has-background-section-alt { background-color: var(--color-background-section-alt) !important; }

.mt-auto { margin-top: auto !important; }
.mb-auto { margin-bottom: auto !important; }

/* Parallax (Simple CSS Version - requires structure in HTML) */
.parallax-section {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative; /* For overlays */
}

/* Glassmorphism (Subtle - apply class to desired elements) */
.glassmorphism-effect {
    background: rgba(var(--color-primary-rgb), 0.1); /* Light background for contrast */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(var(--color-text-light-rgb), 0.15);
    border-radius: var(--border-radius-md);
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
/* Ensure text inside glassmorphism is readable */
.glassmorphism-effect,
.glassmorphism-effect .title,
.glassmorphism-effect .subtitle,
.glassmorphism-effect p {
    color: var(--color-text-light); /* Or dark, depending on overall page theme */
}

/* Ensure content on dark backgrounds (like contact-preview) uses light text */
.content-on-dark-bg,
.content-on-dark-bg .title,
.content-on-dark-bg .subtitle,
.content-on-dark-bg p,
.content-on-dark-bg strong {
    color: var(--color-text-light) !important;
}
.content-on-dark-bg a {
    color: var(--color-secondary) !important;
}
.content-on-dark-bg a:hover {
    color: var(--color-text-light) !important;
}

/* AOS Animation Customizations (Optional - if defaults need tweaking) */
[data-aos] {
    /* Example: Make default duration a bit faster */
    /* transition-duration: 0.8s !important; */
}

img {
  object-fit: cover;
}

.card-image img {
  height: 100% !important;
}

body {
  overflow-x: hidden !important;
}

.success-page-main-content .button {
  width: max-content;
  max-width: 100%;
  display: flex;
  white-space: pre-wrap;
  height: max-content;
}