.elementor-12 .elementor-element.elementor-element-9ab5c69{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--overlay-opacity:0.5;}.elementor-12 .elementor-element.elementor-element-9ab5c69::before, .elementor-12 .elementor-element.elementor-element-9ab5c69 > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-9ab5c69 > .e-con-inner > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-9ab5c69 > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-9ab5c69 > .e-con-inner > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-9ab5c69 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d60b80d );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-80458d3{text-align:center;}.elementor-12 .elementor-element.elementor-element-80458d3 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-12 .elementor-element.elementor-element-8373376{text-align:center;}.elementor-12 .elementor-element.elementor-element-8373376 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-0252614{width:var( --container-widget-width, 56% );max-width:56%;--container-widget-width:56%;--container-widget-flex-grow:0;text-align:center;}.elementor-12 .elementor-element.elementor-element-09e8760{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-12 .elementor-element.elementor-element-d67b5cd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:center;}.elementor-12 .elementor-element.elementor-element-b0a3f4f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-7a2ac88{text-align:center;}.elementor-12 .elementor-element.elementor-element-7a2ac88 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-d424a5b{text-align:center;}.elementor-12 .elementor-element.elementor-element-d424a5b .elementor-heading-title{color:var( --e-global-color-text );}.elementor-12 .elementor-element.elementor-element-c6b8396{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-0ad452d{text-align:center;}.elementor-12 .elementor-element.elementor-element-0ad452d .elementor-heading-title{color:var( --e-global-color-text );}.elementor-12 .elementor-element.elementor-element-11ca9bb{text-align:center;}.elementor-12 .elementor-element.elementor-element-11ca9bb .elementor-heading-title{color:var( --e-global-color-text );}.elementor-12 .elementor-element.elementor-element-14cb856{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-86fe084{text-align:center;}.elementor-12 .elementor-element.elementor-element-86fe084 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-100ad10{text-align:center;}.elementor-12 .elementor-element.elementor-element-100ad10 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-955f2ab{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-12 .elementor-element.elementor-element-84a0e30{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-12 .elementor-element.elementor-element-edcd5b5{--display:flex;}.elementor-12 .elementor-element.elementor-element-3ac3d13 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-547c70c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-12 .elementor-element.elementor-element-ecfbfac .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-a4ba7de{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;}.elementor-12 .elementor-element.elementor-element-7a8737d{--display:flex;}.elementor-12 .elementor-element.elementor-element-461ad3e{--display:flex;}.elementor-12 .elementor-element.elementor-element-75420c4{--display:flex;}.elementor-12 .elementor-element.elementor-element-f76e6b2{--display:flex;}.elementor-12 .elementor-element.elementor-element-6f7df12{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-c647a32{text-align:center;}.elementor-12 .elementor-element.elementor-element-12d34b7{text-align:center;}.elementor-12 .elementor-element.elementor-element-12d34b7 .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-791d18c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-12 .elementor-element.elementor-element-f260330{--display:flex;}.elementor-12 .elementor-element.elementor-element-7011b62{--display:flex;}.elementor-12 .elementor-element.elementor-element-ff8a586{--display:flex;}.elementor-12 .elementor-element.elementor-element-27bf527{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12 .elementor-element.elementor-element-2f339ee .elementor-heading-title{color:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-9dafa80{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;}.elementor-12 .elementor-element.elementor-element-aec45fd{--display:flex;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-61951cf .elementor-icon-wrapper{text-align:center;}.elementor-12 .elementor-element.elementor-element-1f6fbd2{--display:flex;}.elementor-12 .elementor-element.elementor-element-d4385ed .elementor-icon-wrapper{text-align:center;}.elementor-12 .elementor-element.elementor-element-ca35b43{--display:flex;}.elementor-12 .elementor-element.elementor-element-fae5f72 .elementor-icon-wrapper{text-align:center;}.elementor-12 .elementor-element.elementor-element-03d1955{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-0d59804{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-edcd5b5{--width:60%;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-0252614{--container-widget-width:309px;--container-widget-flex-grow:0;width:var( --container-widget-width, 309px );max-width:309px;}.elementor-12 .elementor-element.elementor-element-791d18c{--flex-wrap:wrap;}}/* Start custom CSS *//* =========================================
   BASE BOY ENT: MASTER DESIGN ENGINE (DARK OVERLAY FIX)
   ========================================= */

/* --- GLOBAL VARIABLES & RESETS --- */
:root {
    --brand-red: #900d40;
    --brand-dark: #050505;
}

body { 
    background-color: var(--brand-dark); 
    color: #ffffff; 
    font-family: 'Inter', sans-serif; 
    overflow-x: hidden; 
}

h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; }
a { text-decoration: none; transition: 0.3s; }

/* GLOBAL TEXT SCALING */
p, .elementor-widget-text-editor { 
    font-family: 'Inter', sans-serif; 
    font-size: 1.3rem !important; 
    line-height: 1.8 !important; 
    color: #b0b0b0; 
}

/* =========================================
   1. HERO SECTION
   ========================================= */
.hero-section {
    position: relative;
    min-height: calc(100vh + 140px) !important;
    display: flex; flex-direction: column;
    justify-content: flex-start; align-items: center;
    overflow: hidden; margin-top: -140px !important; 
    padding-top: 350px !important; padding-bottom: 100px !important;
    z-index: 1;
}

.hero-section .elementor-background-overlay {
    background: radial-gradient(circle at center, rgba(0,0,0,0.2) 0%, #050505 90%) !important;
    opacity: 1 !important;
}

.hero-tag .elementor-heading-title {
    font-size: 1.2rem !important; letter-spacing: 4px; text-transform: uppercase; 
    color: #ffffff !important; font-weight: 700; margin-bottom: 25px;
    opacity: 0; animation: fadeUp 1s ease forwards 0.5s;
}

.hero-title .elementor-heading-title {
    font-size: clamp(3rem, 6vw, 5.5rem) !important; 
    font-weight: 800; line-height: 1.1; text-transform: uppercase;
    text-shadow: 0 10px 30px rgba(0,0,0,0.5); margin-bottom: 35px;
    opacity: 0; animation: fadeUp 1s ease forwards 0.8s;
}

.hero-sub .elementor-widget-text-editor {
    font-size: 1.5rem !important; color: #e0e0e0; max-width: 900px; margin: 0 auto 50px auto;
    opacity: 0; animation: fadeUp 1s ease forwards 1.1s;
}

.hero-btns { opacity: 0; animation: fadeUp 1s ease forwards 1.4s; gap: 25px; }

.btn-primary .elementor-button {
    background: linear-gradient(135deg, #900d40 0%, #600020 100%) !important;
    padding: 22px 55px !important; border-radius: 4px; border: 1px solid rgba(255,255,255,0.1);
    font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.1rem !important;
    letter-spacing: 2px; text-transform: uppercase; transition: 0.4s;
}
.btn-primary .elementor-button:hover {
    transform: translateY(-5px); box-shadow: 0 15px 40px rgba(144, 13, 64, 0.6);
}

.btn-glass .elementor-button {
    background: rgba(255,255,255,0.05) !important; backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.3) !important; padding: 22px 55px !important; border-radius: 4px;
    font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.1rem !important; 
    letter-spacing: 2px; text-transform: uppercase; transition: 0.4s;
}
.btn-glass .elementor-button:hover {
    background: #ffffff !important; color: #000000 !important; transform: translateY(-5px);
}

@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

/* =========================================
   2. STATS SECTION
   ========================================= */
.stats-section {
    padding: 100px 5% !important; background: #020202; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.stat-item {
    padding: 50px 30px; background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; transition: all 0.4s ease; cursor: default;
}
.stat-item:hover {
    transform: translateY(-15px) scale(1.02); border-color: var(--brand-red);
    background: rgba(144, 13, 64, 0.15); box-shadow: 0 20px 40px -10px rgba(0,0,0,0.8);
}
.stat-number .elementor-heading-title {
    font-size: 5rem !important; font-weight: 800; color: #ffffff; line-height: 1; transition: 0.3s;
}
.stat-item:hover .stat-number .elementor-heading-title { text-shadow: 0 0 30px rgba(144, 13, 64, 1); }
.stat-label .elementor-heading-title {
    font-size: 1rem !important; text-transform: uppercase; letter-spacing: 4px; color: rgba(255,255,255,0.7); margin-top: 20px;
}
.stat-item:hover .stat-label .elementor-heading-title { color: var(--brand-red); }

/* =========================================
   3. PARTNERS MARQUEE
   ========================================= */
.partners-section {
    background: #020202 !important; padding: 60px 0 !important; overflow: hidden !important; white-space: nowrap !important;
}
.partners-track .elementor-heading-title {
    display: inline-block !important; font-size: 2.5rem !important; font-weight: 800 !important;
    color: transparent !important; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3) !important;
    text-transform: uppercase !important; animation: scrollLogos 40s linear infinite !important; margin: 0 30px !important;
}
.partners-section:hover .partners-track .elementor-heading-title { 
    color: #ffffff !important; -webkit-text-stroke: 0px transparent !important; text-shadow: 0 0 20px rgba(255,255,255,0.5) !important;
}
@keyframes scrollLogos { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* =========================================
   4. WHO WE ARE
   ========================================= */
.unique-about-section {
    padding: 140px 5% !important; position: relative;
    background-image: url('https://images.unsplash.com/photo-1598653222000-6b7b7a552625?q=80&w=2070&auto=format&fit=crop');
    background-size: 120% auto !important; background-attachment: fixed !important; background-position: center center !important;
}
.unique-about-section::before {
    content: ''; position: absolute; top:0; left:0; width:100%; height:100%;
    background: linear-gradient(to right, #050505 5%, rgba(5,5,5,0.7) 40%, rgba(5,5,5,0.1) 100%); z-index: 0;
}
.about-content-box {
    position: relative; z-index: 2; background: rgba(10, 10, 10, 0.75) !important; backdrop-filter: blur(20px) !important;
    padding: 100px 70px !important; border-left: 6px solid var(--brand-red); max-width: 750px; margin-left: auto !important;
}
.section-tag .elementor-heading-title { color: var(--brand-red); letter-spacing: 3px; text-transform: uppercase; font-size: 1.1rem !important; font-weight: 700; }
.section-heading .elementor-heading-title { font-size: 4rem !important; font-weight: 700; line-height: 1.1; margin-bottom: 35px; }
.about-lead .elementor-widget-text-editor { font-size: 1.6rem !important; color: #fff; margin-bottom: 25px; font-weight: 500; }

/* =========================================
   5. SERVICES (READ MORE + BIG ICONS)
   ========================================= */
.services-section { 
    padding: 160px 5% !important; 
    background: #0a0a0a !important; 
}

.service-grid { 
    display: grid !important; 
    grid-template-columns: 1fr 1fr !important; 
    gap: 40px !important; 
}

.service-card {
    background: linear-gradient(160deg, #121212 0%, #080808 100%) !important; 
    padding: 80px 50px !important;
    border: 1px solid rgba(255,255,255,0.06) !important; 
    border-radius: 8px !important; 
    transition: all 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.service-card:hover { 
    border-color: #900d40 !important; 
    transform: translateY(-8px) !important; 
}

.icon-glow i, .icon-glow svg { 
    font-size: 3.5rem !important; 
    color: #ffffff !important; 
    transition: 0.3s !important; 
    margin-bottom: 25px !important;
}

.service-card:hover .icon-glow i, 
.service-card:hover .icon-glow svg { 
    color: #900d40 !important; 
    transform: scale(1.1) !important; 
}

.svc-title .elementor-heading-title { 
    font-size: 2.2rem !important; 
    font-weight: 700 !important; 
    color: #ffffff !important; 
    margin-bottom: 20px !important; 
}

/* READ MORE LOGIC */
.svc-desc-box .elementor-widget-container {
    max-height: 100px !important; overflow: hidden !important; position: relative !important; transition: max-height 0.6s ease-in-out !important;
}
.svc-desc-box .elementor-widget-container::after {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 40px;
    background: linear-gradient(to bottom, transparent, #101010 90%); pointer-events: none; transition: opacity 0.3s;
}
.svc-desc-box.expanded .elementor-widget-container { max-height: 1000px !important; }
.svc-desc-box.expanded .elementor-widget-container::after { opacity: 0 !important; }

.read-more-btn {
    background: transparent; border: none; color: #900d40;
    font-family: 'Poppins', sans-serif; font-size: 0.9rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2px; margin-top: 15px;
    cursor: pointer; padding: 0; border-bottom: 1px solid transparent; transition: 0.3s;
}
.read-more-btn:hover { border-bottom-color: #900d40; color: #fff; }


/* =========================================
   6. METHODOLOGY (WITH DARK HOVER OVERLAY)
   ========================================= */
.process-section { padding: 140px 5% !important; background: #050505 !important; }
.process-accordion { display: flex !important; gap: 20px !important; min-height: 600px !important; }

.process-step {
    flex: 1 !important; 
    background: #0e0e0e !important; 
    border: 1px solid rgba(255,255,255,0.1) !important;
    padding: 60px 40px !important; 
    transition: flex 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    display: flex !important; 
    flex-direction: column !important; 
    justify-content: flex-end !important;
    cursor: pointer !important; 
    background-size: cover !important; 
    background-position: center !important; 
    position: relative !important;
}

.process-step.step-1 { background-image: url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?q=80&w=2071') !important; }
.process-step.step-2 { background-image: url('https://images.unsplash.com/photo-1514320291840-2e0a9bf2a9ae?q=80&w=2070') !important; }
.process-step.step-3 { background-image: url('https://images.unsplash.com/photo-1470225620780-dba8ba36b745?q=80&w=2070') !important; }

/* THE OVERLAY (Default: Light gradient) */
.process-step::before {
    content: ''; position: absolute; top:0; left:0; width:100%; height:100%;
    /* Default visibility */
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.8)) !important; 
    transition: 0.6s !important; 
    z-index: 0 !important;
}

/* THE OVERLAY (Hover: DARK MODE) */
.process-step:hover::before {
    /* Make background much darker on hover so text pops */
    background: linear-gradient(to bottom, rgba(0,0,0,0.6), #000000) !important;
}

.process-step:hover { flex: 3 !important; border-color: #900d40 !important; }

.step-num .elementor-heading-title { 
    font-size: 5rem !important; font-weight: 800 !important; 
    color: rgba(255,255,255,0.2) !important; margin-bottom: 20px !important; position: relative; z-index: 2;
}
.process-step:hover .step-num .elementor-heading-title { color: #900d40 !important; }

.step-desc { 
    opacity: 0 !important; max-height: 0 !important; transform: translateY(30px) !important; 
    transition: all 0.5s ease !important; overflow: hidden !important; position: relative; z-index: 2;
}
.process-step:hover .step-desc { 
    opacity: 1 !important; max-height: 300px !important; transform: translateY(0px) !important; 
}


/* =========================================
   7. REVIEWS
   ========================================= */
.reviews-section { padding: 140px 5% !important; background: #020202 !important; }
.reviews-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 30px !important; }
.review-card {
    background: #0a0a0a !important; border: 1px solid rgba(255,255,255,0.05) !important; padding: 50px 40px !important;
    border-radius: 4px !important; position: relative !important; transition: all 0.4s ease !important;
}
.review-card:hover { transform: translateY(-10px) !important; border-color: #900d40 !important; }
.quote-icon { position: absolute !important; top: -20px !important; right: 20px !important; opacity: 0.1 !important; z-index: 0 !important; }
.quote-icon i { font-size: 8rem !important; color: #fff !important; }
.review-card:hover .quote-icon i { color: #900d40 !important; }

/* =========================================
   8. PORTFOLIO (STYLES FOR THE WIDGET)
   ========================================= */
.portfolio-wrapper-master {
    background-color: #050505; padding: 120px 0; position: relative; overflow: hidden;
}
.portfolio-header { text-align: center; margin-bottom: 80px; position: relative; z-index: 2; }
.portfolio-tag {
    display: block; font-family: 'Inter', sans-serif; color: #900d40; letter-spacing: 3px;
    text-transform: uppercase; font-weight: 700; font-size: 1.1rem; margin-bottom: 15px;
}
.portfolio-title {
    font-family: 'Poppins', sans-serif; font-size: 4rem; font-weight: 800; color: #ffffff;
    text-transform: uppercase; line-height: 1; margin: 0;
}
.roster-item-master {
    position: relative; width: 100%; height: 85vh; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    border-bottom: 1px solid rgba(255,255,255,0.1); cursor: pointer; z-index: 1;
}
.roster-bg-master {
    position: absolute; top: 0; left: 0; width: 100%; height: 130%;
    background-size: cover; background-position: center; z-index: 0; will-change: transform;
}
.roster-overlay-master {
    position: absolute; top:0; left:0; width:100%; height:100%;
    background: rgba(0,0,0,0.4); transition: background 0.5s ease; z-index: 1;
}
.roster-item-master:hover .roster-overlay-master { background: rgba(0,0,0,0.7); }
.roster-content-master {
    position: relative; z-index: 2; text-align: center;
    opacity: 0; transform: translateY(50px); transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.roster-item-master:hover .roster-content-master { opacity: 1; transform: translateY(0); }
.project-cat-master {
    display: block; font-family: 'Inter', sans-serif; color: #900d40;
    letter-spacing: 3px; text-transform: uppercase; font-weight: 700; font-size: 1rem; margin-bottom: 15px;
}
.project-name-master {
    font-family: 'Poppins', sans-serif; font-size: clamp(3rem, 6vw, 7rem);
    font-weight: 800; color: #ffffff; text-transform: uppercase; margin: 0; line-height: 1;
    text-shadow: 0 10px 30px rgba(0,0,0,0.8);
}

/* =========================================
   9. FOOTER
   ========================================= */
.footer-custom-wrapper {
    background-color: #020202; padding: 100px 5% 40px 5%;
    border-top: 1px solid #222; color: #fff; font-family: 'Inter', sans-serif;
}
.footer-header { text-align: center; margin-bottom: 80px; }
.footer-cta-title {
    font-family: 'Poppins', sans-serif; font-size: clamp(3rem, 7vw, 7rem);
    font-weight: 800; line-height: 0.9; margin-bottom: 40px;
}
.footer-cta-btn {
    display: inline-block; padding: 20px 60px; border: 1px solid #900d40;
    background: transparent; color: #fff; font-family: 'Poppins', sans-serif;
    font-weight: 700; text-transform: uppercase; letter-spacing: 2px; transition: 0.3s;
}
.footer-cta-btn:hover { background: #900d40; box-shadow: 0 0 30px rgba(144, 13, 64, 0.6); }

/* =========================================
   10. MOBILE OPTIMIZATION ENGINE
   ========================================= */
@media (max-width: 768px) {
    /* TEXT SCALING */
    p, .elementor-widget-text-editor { font-size: 1rem !important; }
    
    /* HERO */
    .hero-section { padding-top: 200px !important; min-height: auto !important; }
    .hero-title .elementor-heading-title { font-size: 2.8rem !important; }
    .hero-sub .elementor-widget-text-editor { font-size: 1.1rem !important; }
    .hero-btns { flex-direction: column; width: 100%; }
    .elementor-button { width: 100% !important; margin-bottom: 10px; }

    /* STATS */
    .stats-section { padding: 60px 5% !important; }
    .stat-number .elementor-heading-title { font-size: 3.5rem !important; }
    
    /* PARTNERS */
    .partners-track .elementor-heading-title { font-size: 1.5rem !important; margin: 0 15px !important; }

    /* WHO WE ARE */
    .unique-about-section { padding: 80px 5% !important; background-attachment: scroll !important; background-size: cover !important; }
    .about-content-box { padding: 50px 30px !important; width: 100% !important; border-left: 4px solid var(--brand-red) !important; margin: 0 !important; }
    .section-heading .elementor-heading-title { font-size: 2.5rem !important; }
    .about-lead .elementor-widget-text-editor { font-size: 1.2rem !important; }

    /* SERVICES */
    .services-section { padding: 80px 5% !important; }
    .service-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .service-card { padding: 40px 30px !important; }
    .icon-glow i, .icon-glow svg { font-size: 2.5rem !important; }

    /* PROCESS (STACKING FIX) */
    .process-section { padding: 80px 5% !important; }
    .process-accordion { flex-direction: column !important; min-height: auto !important; gap: 15px !important; }
    .process-step { 
        width: 100% !important; 
        min-height: 300px !important; 
        flex: none !important; 
        margin-bottom: 10px !important;
    }
    
    /* Ensure dark overlay is always on for mobile so text is readable */
    .process-step::before {
        background: linear-gradient(to bottom, rgba(0,0,0,0.6), #000000) !important;
    }

    .step-desc { opacity: 1 !important; max-height: auto !important; transform: translateY(0) !important; } /* Always show on mobile */

    /* REVIEWS */
    .reviews-section { padding: 80px 5% !important; }
    .reviews-grid { grid-template-columns: 1fr !important; gap: 20px !important; }

    /* PORTFOLIO & FOOTER */
    .roster-item-master { height: 500px !important; }
    .roster-content-master { opacity: 1 !important; transform: translateY(0) !important; }
    .footer-cta-title { font-size: 2.5rem !important; }
    .footer-grid-box { grid-template-columns: 1fr !important; text-align: center !important; }
}/* End custom CSS */