/* assets/css/style.css */

:root {
    /* 1. Brand Accent Colors (Buttons, Icons, Highlights) */
    --theme-accent: #2D60BC;       /* Primary: Blue */
    --theme-accent-hover: #1E468F; /* Slightly darker blue for hover states */
    --theme-accent-text: #FFFFFF;  /* White text inside primary buttons */

    /* 2. Background Colors */
    --theme-bg-base: #FFFFFF;      /* Background: White */
    --theme-bg-surface: #F5F7FA;   /* Light background: Off-white/gray for sections */
    --theme-bg-panel: #FFFFFF;     /* Cards, Dropdowns, and Inputs */

    /* 3. Border Colors */
    --theme-border: #C5CFE2;       /* Light Gray: Soft borders and dividers */

    /* 4. Text Colors */
    --theme-text-main: #0A1324;    /* Dark: Dark Navy for main headings and text */
    --theme-text-muted: #556B96;   /* Secondary: Slate Gray for paragraphs/captions */
}

/* Smooth transitions when interacting with buttons and links */
body {
    background-color: var(--theme-bg-base);
    color: var(--theme-text-main);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Scroll Reveal Base Class */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

/* When the element enters the viewport, JS adds the 'active' class */
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered Animation Delays for grouped items */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Image Hover Zoom Utility */
.img-zoom-container {
    overflow: hidden;
}
.img-zoom-container img {
    transition: transform 0.6s ease;
}
.img-zoom-container:hover img {
    transform: scale(1.05);
}