/* ================== CTA Button ================== */
.cta-button {
    font-size: 1rem;                  
    padding: 12px 36px;               
    background: linear-gradient(135deg, #4a4a4a, #1a1a1a); 
    color: #fff;                       
    border-radius: 50px;               
    font-weight: 600;                  
    border: 2px solid #fff;            
    letter-spacing: 0.5px;             
    box-shadow: 0 6px 15px rgba(0,0,0,0.2); 
    transition: all 0.3s ease;
    text-decoration: none;
}

.cta-button:hover {
    background: linear-gradient(135deg, #1a1a1a, #4a4a4a); 
    transform: scale(1.08);            
    box-shadow: 0 10px 25px rgba(0,0,0,0.3); 
}

/* ================== Premium Text ================== */
.premium-text {
    color: #FF7F50; 
    font-weight: 500; 
    font-family: 'Inter', sans-serif; 
}

/* ================== Icon Sizes ================== */
.icon svg {
    width: 24px !important;
    height: 24px !important;
}

/* ================== CMS/Details Grid ================== */
.grid.cms {
    display: flex !important;
    flex-direction: row !important;  
    gap: 30px;                       
    flex-wrap: nowrap !important;    
    align-items: center;              
}

.grid.cms .helper {
    display: flex;             
    flex-direction: row;       
    align-items: center;
    gap: 4px;                 
}

/* Remove mobile stacking */
@media screen and (max-width: 768px) {
    .grid.cms {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }
    .grid.cms .helper:not(:last-child)::after {
        content: "|";
        margin-left: 15px;
        margin-right: 15px;
    }
}

/* ================== CMS Images ================== */
.grid.cms img {
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
}

/* ================== Hero / Banner Image ================== */
.hero {
    position: relative;       /* Parent for banner */
    z-index: 1;               /* Content above banner */
}

.tumbnail.banner {
    width: 100% !important;      
    max-height: 600px;           
    object-fit: cover;           
    border-radius: 0;            
    display: block;

    position: absolute;        /* Absolute to sit behind content */
    top: 0;
    left: 0;
    z-index: -1;               /* Behind CTA and text */
    transition: transform 0.5s ease;
}

.tumbnail.banner:hover {
    transform: scale(1.02);
}

.tumbnail.banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.25));
    pointer-events: none;        
}

/* ================== Project Thumbnails ================== */
.tumbnail-projects {
    width: 100%;
    height: auto;
    display: block;
}

/* ================== Preview Grid ================== */
.grid.preview {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important; 
}

.grid.preview img {
    width: 100% !important;
    height: auto !important;
    border-radius: 20px;
    object-fit: cover;
}

/* ================== Optional Element Effect ================== */
.element-effect {
    width: 180x;
}

footer.section {
  position: relative;
  z-index: 4; /* Higher than -1 */
}
