/* ROOT & GLOBAL STYLES */
:root { 
    --primary: #FF9900; 
    --dark: #121212; 
    --light-bg: #f8f9fa;
}

body { 
    font-family: 'Inter', sans-serif; 
    color: #333; 
    overflow-x: hidden;
}

.theme-color { color: var(--primary); }
.bg-dark { background-color: var(--dark) !important; }

/* BUTTONS */
.btn-warning { 
    background: var(--primary); 
    color: #fff; 
    border: none; 
    transition: 0.3s; 
    border-radius: 5px;
}

.btn-warning:hover { 
    background: #e68a00; 
    transform: translateY(-3px); 
    color: #fff; 
    box-shadow: 0 10px 20px rgba(255, 153, 0, 0.2);
}

/* HERO SECTION */
.hero-wrap {
    min-height: 85vh;
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('images/hero-bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    align-items: center;
}

.lead-card { 
    border-radius: 15px; 
    background: rgba(255, 255, 255, 0.98);
}

.form-control { 
    height: 50px; 
    border-radius: 8px; 
    border: 1px solid #ddd;
}

/* FEATURE GRID */
.feature-box { 
    transition: 0.4s ease; 
    border: 1px solid #eee !important; 
    background: #fff;
    border-radius: 12px;
}

.feature-box:hover { 
    border-color: var(--primary) !important; 
    transform: translateY(-10px); 
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
}

/* SLIDERS */
.portfolio-slider img { 
    height: 400px; 
    width: 100%; 
    object-fit: cover; 
    border-radius: 10px;
}

.slick-dots li button:before { color: var(--primary) !important; }

/* COMPARISON GRID */
.comp-header, .comp-row {
    display: flex;
    width: 100%;
    align-items: center;
}

.comp-col-feature { width: 50%; padding-left: 15px; font-weight: 600; }
.comp-col-fort { width: 25%; font-weight: bold; text-align: center; }
.comp-col-other { width: 25%; font-size: 0.85rem; text-align: center; opacity: 0.6; }

.comp-row { 
    transition: background 0.3s ease; 
    padding: 15px 0;
}

.comp-row:hover, .comp-row:hover div {     
    background-color: var(--primary) !important;
    color: #fff !important;
    opacity: 1;
}

/* TIERS - FLEX ALIGNMENT */
.tier-card {
    border-radius: 20px;
    transition: all 0.4s ease;
    border: 1px solid #eee;
    height: 100%; /* Important for equal height */
}

.tier-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
}

.flex-grow-1 { flex-grow: 1; }

/* FAQ */
.faq-item {
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    background: #fff;
}

.faq-item:hover {
    border-left: 3px solid var(--primary);
    transform: translateX(8px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* FOOTER */
.footer-links a {
    color: rgba(255, 255, 255, 0.5) !important;
    transition: 0.3s;
}

.footer-links a:hover { color: var(--primary) !important; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .comp-col-feature { width: 40%; font-size: 0.85rem; }
    .hero-wrap { background-attachment: scroll; }
    .display-3 { font-size: 2.5rem; }
}