/* Golden Ratio 1.618 Template - Unified Design System */
:root {
    --golden-ratio: 1.618;
    --golden-conjugate: 0.618;   /* 1/φ */
    --base-unit: 1rem;
    --golden-unit: calc(var(--base-unit) * var(--golden-ratio));
    /* Spacing scale: base × φ^n */
    --space-1: var(--base-unit);
    --space-2: var(--golden-unit);
    --space-3: calc(var(--golden-unit) * var(--golden-ratio));
    --space-4: calc(var(--golden-unit) * var(--golden-ratio) * var(--golden-ratio));
    --space-5: calc(var(--space-4) * var(--golden-ratio));
    --space-6: calc(var(--space-5) * var(--golden-ratio));
    /* Type scale (1rem base, then × φ) */
    --text-xs: calc(var(--base-unit) * var(--golden-conjugate));
    --text-sm: var(--base-unit);
    --text-base: var(--golden-unit);
    --text-lg: calc(var(--golden-unit) * var(--golden-ratio));
    --text-xl: calc(var(--text-lg) * var(--golden-ratio));
    --text-2xl: calc(var(--text-xl) * var(--golden-ratio));
    --text-3xl: calc(var(--text-2xl) * var(--golden-ratio));
    /* Colors - refined palette: deep navy + warm gold */
    --primary-color: #c5a47e;
    --secondary-color: #0d47a1;
    --text-color: #1e293b;
    /* Layout - golden section proportions */
    --golden-main: 61.8%;
    --golden-side: 38.2%;
    --golden-accent: #c5a47e;
    --golden-accent-light: #e8d5b7;
    --golden-accent-dark: #a68b5e;
    /* Header: deep indigo–navy, matches logo */
    --header-bg-start: #1a237e;
    --header-bg-mid: #283593;
    --header-bg-end: #3949ab;
    --header-text: #ffffff;
    --header-nav-hover: var(--golden-accent);
    /* Footer: distinct dark navy (change this to alter footer color) */
    --footer-bg: #0f172a;
    --header-footer-bg: #1a237e;
    --header-footer-dark: #0d47a1;
    --footer-text: #ffffff;
    --footer-muted: #94a3b8;
    --footer-link-hover: var(--golden-accent);
    /* Logo: blend with header + subtle gold border */
    --logo-bg: #1a237e;
    --logo-border: rgba(197, 164, 126, 0.5);
    /* Body & typography */
    --heading-primary: #1e3a8a;
    --heading-secondary: #334155;
    --text-muted: #475569;
    --text-body: #1e293b;
    /* Cards: warm off-white, golden-tinted icons */
    --card-bg: #ffffff;
    --card-bg-alt: #f8fafc;
    --card-icon-bg: #fef3c7;
    --card-icon: #1e3a8a;
    --card-border: #e2e8f0;
    --card-shadow: 0 4px 6px rgba(26, 35, 126, 0.06);
    --card-shadow-hover: 0 12px 28px rgba(26, 35, 126, 0.12);
    /* Links & buttons */
    --link-color: #2563eb;
    --link-hover: #1d4ed8;
    --btn-outline-border: #1d4ed8;
    --btn-outline-hover-bg: #eff6ff;
    --back-to-top-bg: #1e3a8a;
    --back-to-top-hover: #1a237e;
    /* CTA & testimonials */
    --cta-section-bg: #1a237e;
    --cta-section-bg-end: #0d47a1;
    --testimonial-bg: #1a237e;
    --testimonial-card-bg: #283593;
    --testimonial-muted: #c7d2fe;
    --testimonial-star: var(--golden-accent);
    /* Stats section */
    --stat-number: #1e3a8a;
    --stat-label: var(--text-muted);
}

/* ========== Global header, nav, footer (all pages) ========== */
.gradient-header {
    background: linear-gradient(135deg, var(--header-bg-start) 0%, var(--header-bg-mid) 38.2%, var(--header-bg-end) 61.8%, var(--header-bg-start) 100%);
    background-size: 300% 300%;
    animation: gradientBG 15s ease infinite;
    border-bottom: 3px solid var(--golden-accent);
}
/* Logo: match header + subtle golden border for brand cohesion */
.gradient-header img[alt="Mangal Madhav"],
.gradient-header .flex.items-center img,
.gradient-header a img[alt="Mangal Madhav"] {
    background-color: var(--logo-bg) !important;
    border: 2px solid var(--logo-border);
    border-radius: 0.5rem;
    padding: 3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Header tagline: crisp white; "Building Trust." uses golden accent */
.gradient-header > p {
    color: var(--header-text);
}

/* Header nav: white links, golden hover/active */
.gradient-header .desktop-nav a,
.gradient-header .desktop-nav button.group {
    color: var(--header-text);
}
.gradient-header .desktop-nav a:hover,
.gradient-header .desktop-nav button.group:hover {
    color: var(--header-nav-hover);
}
.gradient-header .desktop-nav a[aria-current="page"],
.gradient-header .desktop-nav a.font-bold,
.gradient-header .desktop-nav a.font-medium {
    color: var(--header-nav-hover);
}
/* Companies dropdown trigger underline - golden */
.gradient-header .desktop-nav button.group span {
    background-color: var(--golden-accent);
}

/* Golden divider */
.golden-divider {
    height: 0.382rem;
    width: 6.18rem;
    background: linear-gradient(90deg, var(--golden-accent), var(--header-bg-end));
    border-radius: 2px;
    margin: calc(var(--golden-unit) * 0.618) 0;
}

/* Dropdown / submenu - shared across pages */
.dropdown, .submenu {
    display: none;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.382s ease-out;
}
.dropdown.show, .submenu.show {
    display: block;
    opacity: 1;
    transform: translateY(0);
}
.dropdown.hidden { display: none !important; }
.submenu.hidden { display: none !important; }

.space-golden > * + * { margin-top: var(--golden-unit); }

/* Companies dropdown: tighter spacing, no big gaps between sections */
#companiesDropdown {
    padding: 0.6rem 0.85rem;
}
#companiesDropdown > div {
    margin-bottom: 0.5rem;
}
#companiesDropdown > div:last-child {
    margin-bottom: 0;
}
#companiesDropdown .submenu.space-golden > * + * {
    margin-top: 0.25rem;
}
#companiesDropdown .submenu {
    margin-top: 0.25rem;
    margin-bottom: 0;
    padding-bottom: 0;
}
#companiesDropdown .submenu a {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Companies dropdown: consistent colors (dark blue headings, dark gray links, blue hover) */
#companiesDropdown > div > button {
    color: #1e3a8a !important;
}
#companiesDropdown > div > button:hover {
    color: #2563eb !important;
}
#companiesDropdown .submenu a {
    color: #374151 !important;
}
#companiesDropdown .submenu a:hover {
    color: #1d4ed8 !important;
}

.hover-scale { transition: transform 0.382s ease; }
.hover-scale:hover { transform: scale(1.03); }

.company-card, .leadership-card {
    transition: transform 0.382s ease, box-shadow 0.382s ease;
    background-color: var(--card-bg) !important;
    box-shadow: var(--card-shadow);
    border: 1px solid var(--card-border);
}
.company-card:hover, .leadership-card:hover {
    transform: translateY(calc(-0.382 * 1rem));
    box-shadow: var(--card-shadow-hover);
    border-color: var(--golden-accent-light);
}

.btn-golden {
    background: linear-gradient(135deg, var(--golden-accent-dark), var(--golden-accent));
    color: #1a1a1a;
    border: 1px solid var(--golden-accent-dark);
}
.btn-golden:hover {
    filter: brightness(1.08);
    box-shadow: 0 4px 14px rgba(197, 164, 126, 0.35);
}

/* Mobile nav: same deep blue as header, golden hover */
#mobileNav.bg-blue-800 {
    background-color: var(--header-footer-bg) !important;
}
#mobileNav a:hover,
#mobileNav button:hover {
    background-color: rgba(197, 164, 126, 0.2) !important;
    color: var(--golden-accent) !important;
}

@media (max-width: 768px) {
    .desktop-nav { display: none !important; }
    .mobile-menu { display: block !important; }
    .golden-container { flex-direction: column; }
    .golden-side, .golden-main { flex: none; width: 100%; }
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: var(--golden-ratio);
}

body {
    font-family: 'Arial', sans-serif;
    color: var(--text-body);
    background-color: #f8fafc;
}

.container {
    max-width: calc(var(--golden-unit) * 60);
    margin: 0 auto;
    padding: 0 calc(var(--golden-unit) * 2);
}

/* Golden Ratio Layouts */
.golden-section {
    display: grid;
    grid-template-columns: 1fr calc(1fr * var(--golden-ratio));
    gap: calc(var(--golden-unit) * 3);
    margin: calc(var(--golden-unit) * 3) 0;
}

.golden-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--golden-unit);
    margin: calc(var(--golden-unit) * 2) 0;
}

/* Navigation Styles */
.navbar {
    background: var(--secondary-color);
    padding: var(--golden-unit) 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo-container {
    display: flex;
    align-items: center;
    gap: var(--golden-unit);
}

.logo-img {
    width: calc(var(--golden-unit) * 4);
    height: calc(var(--golden-unit) * 4);
    object-fit: contain;
}

.logo-text {
    color: white;
    font-size: calc(var(--base-unit) * var(--golden-ratio));
    font-weight: 300;
}

.highlight {
    color: var(--primary-color);
    font-weight: 700;
}

.nav-links {
    display: flex;
    gap: calc(var(--golden-unit) * 1.5);
    list-style: none;
}

.nav-links a {
    color: white;
    text-decoration: none;
    padding: calc(var(--base-unit) / 2) var(--base-unit);
    transition: all 0.3s ease;
}

.nav-links a.active {
    border-bottom: 2px solid var(--primary-color);
}

/* About Section */
.about-section {
    margin-top: calc(var(--golden-unit) * 6);
}

.section-title {
    font-size: calc(var(--base-unit) * calc(var(--golden-ratio) * 2));
    color: var(--secondary-color);
    margin-bottom: var(--golden-unit);
}

.golden-divider {
    width: calc(var(--golden-unit) * 3);
    height: 2px;
    background: var(--primary-color);
    margin: calc(var(--golden-unit) / 1.618) 0;
}

.lead-text {
    font-size: calc(var(--base-unit) * var(--golden-ratio));
    line-height: calc(var(--golden-ratio) * 1.2);
    color: var(--text-muted);
}

/* Golden Cards */
.golden-card {
    padding: calc(var(--golden-unit) * 1.618);
    background: white;
    border-radius: calc(var(--golden-unit) / 5);
    box-shadow: 0 calc(var(--base-unit) / 3) calc(var(--base-unit) * 1.618) rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.golden-card:hover {
    transform: translateY(calc(var(--base-unit) / -1.618));
}

.card-icon {
    font-size: calc(var(--golden-unit) * 2);
    color: var(--primary-color);
    margin-bottom: var(--base-unit);
}

/* Footer Styles - unified palette */
.golden-footer,
.main-footer {
    background: var(--footer-bg) !important;
    color: var(--footer-text);
    padding: calc(var(--golden-unit) * 2) 0 var(--golden-unit);
    margin-top: calc(var(--golden-unit) * 2);
}

.footer-logo {
    width: calc(var(--golden-unit) * 4);
    margin-bottom: var(--golden-unit);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--golden-unit) * 2);
    margin-bottom: calc(var(--golden-unit) * 0.618);
}

.social-links {
    display: flex;
    gap: var(--golden-unit);
}

.social-links a {
    font-size: calc(var(--golden-unit) * 1.618);
    color: white;
    transition: color 0.3s ease;
}

.social-links a:hover {
    color: var(--footer-link-hover);
}

/* Responsive Design */
@media (max-width: 500px) {
    .golden-section {
        grid-template-columns: 1fr;
    }
    
    .golden-grid {
        grid-template-columns: 1fr;
    }
    
    .logo-img {
        width: calc(var(--golden-unit) * 2);
        height: calc(var(--golden-unit) * 2);
    }
    
    .footer-content {
        grid-template-columns: 1fr;
    }
    
    .nav-links {
        display: none;
    }
    
    .menu-toggle {
        display: block;
        color: white;
        font-size: calc(var(--golden-unit) * 0.618);
    }
}
/* Divisions Section */
.divisions-section {
    padding: 4rem 0;
    text-align: center;
}

.divisions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.division-card {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.division-card:hover {
    transform: translateY(-10px);
}

.division-icon {
    font-size: 2.5rem;
    color: var(--card-icon);
    margin-bottom: 1.5rem;
}

.division-card h3 {
    color: var(--heading-secondary);
    margin-bottom: 1rem;
}

.division-card p {
    color: var(--text-muted);
    line-height: 1.6;
}

@media (max-width: 768px) {
    .divisions-grid {
        grid-template-columns: 1fr;
    }
    
    .division-card {
        margin: 0 1rem;
    }
}


/* Leadership Page Styles */
.leadership-header {
    text-align: center;
    padding: 4rem 0;
    background: #f8f9fa;
}
.container {
    font-size: calc(var(--golden-unit) * 0.618);
}

.leadership-header h1 {
    font-size: 2.5rem;
    color: var(--heading-primary);
    margin-bottom: 1rem;
}

.subtitle {
    font-size: 1.2rem;
    color: var(--text-muted);
    letter-spacing: 1px;
}

.leadership-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    padding: 3rem 0;
}

.leader-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.leader-card:hover {
    transform: translateY(-5px);
}

.leader-image {
    height: 350px;
    overflow: hidden;
    position: relative;
}

.leader-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.leader-card:hover .leader-image img {
    transform: scale(1.05);
}

.leader-info {
    padding: 2rem;
    text-align: center;
}

.leader-info h2 {
    color: var(--heading-secondary);
    margin-bottom: 0.5rem;
}

.position {
    color: var(--card-icon);
    font-weight: 600;
    margin-bottom: 1rem;
}

.bio {
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.leader-info .social-links a {
    color: var(--text-muted);
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.leader-info .social-links a:hover {
    color: var(--link-color);
}

/* main-footer uses .golden-footer rules above */

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-logo {
    width: 120px;
    margin-bottom: 1rem;
}

.footer-links {
    display: flex;
    gap: 2rem;
}

.footer-links a {
    color: white;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-links a:hover {
    color: var(--footer-link-hover);
}

@media (max-width: 768px) {
    .leadership-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-content {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    
    .footer-links {
        flex-direction: column;
        gap: 1rem;
    }
}


/* Contact Page Styles */
.contact-section {
    padding: 4rem 0;
}

.contact-header {
    text-align: center;
    margin-bottom: 3rem;
}

.contact-header h1 {
    font-size: 2.5rem;
    color: var(--heading-primary);
    margin-bottom: 1rem;
}

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
}

.contact-form {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--heading-secondary);
    font-weight: 500;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--link-color);
    outline: none;
}

.btn {
    background: var(--link-color);
    color: white;
    padding: 1rem 2rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    transition: background 0.3s ease;
}

.btn:hover {
    background: var(--link-hover);
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-card {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.info-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.info-item i {
    color: var(--card-icon);
    font-size: 1.2rem;
    min-width: 30px;
}

.map-container {
    height: 300px;
    border-radius: 10px;
    overflow: hidden;
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 768px) {
    .contact-container {
        grid-template-columns: 1fr;
        padding: 0 1rem;
    }
    
    .contact-header h1 {
        font-size: 2rem;
    }
    
    .map-container {
        height: 250px;
    }
}

/* Legal Pages Styles */
.privacy-content,
.terms-content {
    max-width: 800px;
    margin: 2rem auto;
    padding: 2rem;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.privacy-content h1,
.terms-content h1 {
    font-size: 2.2rem;
    color: var(--heading-primary);
    margin-bottom: 1rem;
}

.last-updated,
.effective-date {
    color: var(--text-muted);
    margin-bottom: 2rem;
    display: block;
}

.policy-section,
.terms-section {
    margin-bottom: 2.5rem;
}

.policy-section h2,
.terms-section h2 {
    color: var(--link-color);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.policy-section ul,
.terms-section ul {
    padding-left: 1.5rem;
    margin: 1rem 0;
}

.policy-section li,
.terms-section li {
    margin-bottom: 0.8rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .privacy-content,
    .terms-content {
        padding: 1.5rem;
        margin: 1rem;
    }
    
    .privacy-content h1,
    .terms-content h1 {
        font-size: 1.8rem;
    }
}

/* ========== Site-wide palette overrides (footer, CTA, testimonials, buttons) ========== */
/* Footer: consistent background and link hover (golden) */
footer.bg-blue-950,
footer[class*="bg-blue"] {
    background-color: var(--footer-bg) !important;
}
/* Footer logo: match footer background so golden logo sits in a panel that blends */
footer img[alt="Mangal Madhav"],
footer .grid img[alt="Mangal Madhav"] {
    background-color: var(--footer-bg) !important;
    border: 2px solid var(--logo-border);
    border-radius: 0.5rem;
    padding: 6px;
    box-sizing: content-box;
    display: inline-block;
}
footer .text-blue-300,
footer .text-blue-400 {
    color: var(--footer-muted) !important;
}
footer a:hover {
    color: var(--footer-link-hover) !important;
}
footer .border-blue-800 {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Testimonials section: deep blue + golden stars */
section.bg-blue-900.text-white {
    background-color: var(--testimonial-bg) !important;
}
section.bg-blue-900 .bg-blue-800 {
    background-color: var(--testimonial-card-bg) !important;
}
section.bg-blue-900 .bg-blue-700 {
    background-color: var(--header-footer-dark) !important;
}
section.bg-blue-900 .text-blue-200,
section.bg-blue-900 .text-blue-300,
section.bg-blue-900 .text-blue-100 {
    color: var(--testimonial-muted) !important;
}
section.bg-blue-900 .text-yellow-400 {
    color: var(--testimonial-star) !important;
}

/* CTA section: gradient from palette */
section.bg-gradient-to-r.from-blue-700.to-blue-900 {
    background: linear-gradient(to right, var(--cta-section-bg-end), var(--cta-section-bg)) !important;
}

/* Back to top button */
#backToTop.bg-blue-700,
button#backToTop[class*="bg-blue"] {
    background-color: var(--back-to-top-bg) !important;
}
#backToTop:hover,
button#backToTop:hover {
    background-color: var(--back-to-top-hover) !important;
}

/* Section and hero headings: consistent navy */
.text-blue-900,
h3.text-blue-900,
.text-blue-900.mb-4 {
    color: var(--heading-primary) !important;
}
/* Hero subline and secondary headings */
section .text-blue-700 {
    color: var(--heading-secondary) !important;
}
/* Stats section: numbers and labels */
section.bg-gray-100 .text-blue-700 {
    color: var(--stat-number) !important;
}
section.bg-gray-100 .text-gray-600 {
    color: var(--stat-label) !important;
}
section.bg-gray-100 .bg-white {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--card-border);
    box-shadow: var(--card-shadow);
}
/* Company & leadership cards: warm golden icon bg, navy text */
.company-card .bg-blue-100,
.leadership-card .bg-blue-100 {
    background-color: var(--card-icon-bg) !important;
}
.company-card .text-blue-600,
.leadership-card .text-blue-600,
.company-card .text-blue-500,
.leadership-card .text-blue-500 {
    color: var(--card-icon) !important;
}
.company-card h4.text-blue-800,
.leadership-card h4.text-blue-800 {
    color: var(--heading-primary) !important;
}
.company-card .text-gray-700,
.leadership-card .text-gray-700 {
    color: var(--text-muted) !important;
}
.company-card a.text-blue-600:hover,
.company-card a.text-blue-500:hover,
.leadership-card a.text-blue-600:hover,
.leadership-card a.text-blue-500:hover {
    color: var(--golden-accent-dark) !important;
}
/* Footer headings (Quick Links, Companies, Contact) */
footer h4 {
    color: var(--footer-text) !important;
}
/* Body / page text */
body.text-gray-800,
.text-gray-800 {
    color: var(--text-body) !important;
}
/* Section description paragraphs */
section p.text-gray-600 {
    color: var(--text-muted) !important;
}