/*
======================================
COLOR THEME VARIABLES
======================================
*/
:root {
    /* Deep Blue and Tan Theme */
    --pinnacle-sand-tan: #e1b382; /* Primary Tan */
    --pinnacle-sand-shadow: #c89666; /* Secondary/Accent Tan */
    --pinnacle-night-blue: #2d545e; /* Primary Dark Blue */
    --pinnacle-night-blue-shadow: #12343b; /* Background/Footer Blue */
    --pinnacle-light-bg: #f9f4ec; /* Off-White/Light Tan for alt sections */

    /* Custom Color Mapping */
    --bs-primary: var(--pinnacle-night-blue);
    --bs-secondary: var(--pinnacle-sand-tan);
}

/*
======================================
GLOBAL STYLES & TYPOGRAPHY
======================================
*/
body {
    font-family: 'Lato', sans-serif;
    color: var(--pinnacle-night-blue);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--pinnacle-night-blue);
}

/* Custom Utility Classes for Theme Colors */
.text-sand-tan { color: var(--pinnacle-sand-tan) !important; }
.text-sand-shadow { color: var(--pinnacle-sand-shadow) !important; }
.text-dark-blue { color: var(--pinnacle-night-blue) !important; }
.text-dark-blue-shadow { color: var(--pinnacle-night-blue-shadow) !important; }
.text-sand-tan-light { color: #f5e6d6 !important; } /* A very light tan for dark backgrounds */

/* Alternate Section Background */
.bg-light-soft {
    background-color: var(--pinnacle-light-bg) !important;
}

/* Dark Background for Sections */
.bg-dark-blue {
    background-color: var(--pinnacle-night-blue) !important;
}
.bg-dark-blue-shadow {
    background-color: var(--pinnacle-night-blue-shadow) !important;
}

/*
======================================
NAVBAR STYLES
======================================
*/
.navbar {
    background-color: transparent !important; /* No background color */
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.navbar-brand {
    font-size: 1.8rem;
    color: var(--pinnacle-night-blue) !important;
}

.nav-link {
    font-weight: 600;
    color: var(--pinnacle-night-blue-shadow) !important;
    margin: 0 0.8rem;
    transition: color 0.3s;
}

.nav-link:hover, .nav-link.active {
    color: var(--pinnacle-sand-tan) !important;
}

/* CTA Button in Navbar */
.btn-cta {
    background-color: var(--pinnacle-night-blue-shadow); /* Dark BG */
    color: white;
    font-weight: 700;
    border: none;
    padding: 0.5rem 1.5rem;
    transition: background-color 0.3s;
}

.btn-cta:hover {
    background-color: var(--pinnacle-sand-tan); /* Tan Hover Effect */
    color: var(--pinnacle-night-blue-shadow);
}

/*
======================================
SECTION SPACING
======================================
*/
section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

@media (min-width: 992px) {
    section {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
}

/*
======================================
HERO SECTION
======================================
*/
.hero-bg {
    background-color: var(--pinnacle-light-bg);
    background-image: linear-gradient(to right, rgba(249, 244, 236, 0.95), rgba(249, 244, 236, 0.7));
}

.btn-primary-hero {
    background-color: var(--pinnacle-sand-tan);
    color: var(--pinnacle-night-blue-shadow);
    border-color: var(--pinnacle-sand-tan);
    font-weight: 700;
    transition: background-color 0.3s;
}
.btn-primary-hero:hover {
    background-color: var(--pinnacle-sand-shadow);
    border-color: var(--pinnacle-sand-shadow);
    color: white;
}

.btn-outline-secondary-hero {
    color: var(--pinnacle-night-blue);
    border-color: var(--pinnacle-night-blue);
    font-weight: 600;
    transition: background-color 0.3s, color 0.3s;
}
.btn-outline-secondary-hero:hover {
    background-color: var(--pinnacle-night-blue);
    color: var(--pinnacle-sand-tan);
}

/* ABOUT & WHY CHOOSE US - Button/Icon Styling */
.btn-primary {
    background-color: var(--pinnacle-night-blue);
    border-color: var(--pinnacle-night-blue);
}
.btn-primary:hover {
    background-color: var(--pinnacle-night-blue-shadow);
    border-color: var(--pinnacle-night-blue-shadow);
}

.icon-box {
    width: 60px;
    height: 60px;
    background-color: var(--pinnacle-night-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*
======================================
SERVICES CARD STYLES
======================================
*/
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: var(--pinnacle-night-blue-shadow) !important; /* Dark card BG */
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.3) !important;
}

.service-img {
    height: 250px;
    object-fit: cover;
}

.btn-outline-sand-tan {
    color: var(--pinnacle-sand-tan);
    border-color: var(--pinnacle-sand-tan);
}
.btn-outline-sand-tan:hover {
    background-color: var(--pinnacle-sand-tan);
    color: var(--pinnacle-night-blue-shadow);
}

/*
======================================
CTA & NEWSLETTER
======================================
*/
.btn-cta-main {
    background-color: var(--pinnacle-sand-tan);
    color: var(--pinnacle-night-blue-shadow);
    font-weight: 700;
    transition: background-color 0.3s;
}
.btn-cta-main:hover {
    background-color: var(--pinnacle-sand-shadow);
    color: white;
}

.btn-secondary-cta {
    background-color: var(--pinnacle-sand-shadow);
    color: white;
    font-weight: 600;
    border: none;
    transition: background-color 0.3s;
}
.btn-secondary-cta:hover {
    background-color: var(--pinnacle-sand-tan);
    color: var(--pinnacle-night-blue-shadow);
}

/*
======================================
FAQ STYLES
======================================
*/
.accordion-button {
    background-color: white !important;
    color: var(--pinnacle-night-blue) !important;
    font-weight: 700;
    border: 1px solid var(--pinnacle-sand-tan);
    transition: background-color 0.3s;
}
.accordion-button:not(.collapsed) {
    background-color: var(--pinnacle-sand-tan) !important;
    color: var(--pinnacle-night-blue-shadow) !important;
}
.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(45, 84, 94, 0.5); /* Night Blue focus ring */
}

/*
======================================
FOOTER STYLES
======================================
*/
.footer-link {
    text-decoration: none;
    transition: color 0.3s;
}
.footer-link:hover {
    color: var(--pinnacle-sand-tan) !important;
}

.btn-secondary-cta-footer {
    background-color: var(--pinnacle-sand-tan);
    color: var(--pinnacle-night-blue-shadow);
    font-weight: 600;
    border: none;
    transition: background-color 0.3s;
}
.btn-secondary-cta-footer:hover {
    background-color: var(--pinnacle-sand-shadow);
    color: white;
}