/* =====================================================================
   enhance.css — modern polish layer (loaded AFTER style.css / line.css)
   Layers on top of the existing theme without restructuring markup.
   Accent: #ED6628 · Dark: #1B1D22 · Beige: #C1BEB6
   ===================================================================== */

:root{
    --eac-accent:#ED6628;
    --eac-accent-dark:#d9531a;
    --eac-dark:#1B1D22;
    --eac-ease:cubic-bezier(.22,1,.36,1);
    --eac-shadow:0 10px 30px rgba(0,0,0,.08);
    --eac-shadow-hover:0 20px 45px rgba(0,0,0,.14);
}

html{scroll-behavior:smooth;}

/* Consistent focus outline for accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
    outline:2px solid var(--eac-accent);
    outline-offset:2px;
}

/* ---------- Hero ---------- */
/* Soft dark gradient so white text is legible without the dated white glow */
.video-fullscreen-wrap:before{
    content:"";
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.45) 100%);
}
.video-fullscreen-wrap .v-middle,
.video-fullscreen-wrap .video-fullscreen-inner{z-index:2;}
.video-fullscreen-wrap .video-fullscreen-inner h1{
    letter-spacing:3px;
    text-shadow:0 2px 24px rgba(0,0,0,.45);
    animation-duration:1s;
}
.video-fullscreen-wrap .video-fullscreen-inner p{
    text-shadow:0 1px 14px rgba(0,0,0,.4);
    max-width:760px;margin-left:auto;margin-right:auto;
}

/* ---------- Navbar ---------- */
.navbar{transition:background .4s var(--eac-ease),padding .4s var(--eac-ease);}
.navbar .navbar-nav .nav-link{position:relative;}
.navbar .navbar-nav .nav-link:after{
    content:"";position:absolute;left:50%;bottom:-2px;height:2px;width:0;
    background:var(--eac-accent);transform:translateX(-50%);
    transition:width .3s var(--eac-ease);
}
.navbar .navbar-nav .nav-link:hover:after,
.navbar .navbar-nav .active:after{width:60%;}

/* ---------- Section titles ---------- */
.section-title{position:relative;padding-bottom:18px;}
.section-title:after{
    content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;
    border-radius:3px;background:var(--eac-accent);
}
/* Center underline where the title is centered */
[align="center"] .section-title:after,
.text-center .section-title:after,
.col-md-12[align="center"] .section-title:after{left:50%;transform:translateX(-50%);}

/* ---------- Buttons ---------- */
.butn-dark a,.butn-light a{
    display:inline-block;border-radius:8px;overflow:hidden;
    transition:transform .25s var(--eac-ease),box-shadow .25s var(--eac-ease);
}
.butn-dark a{box-shadow:0 8px 20px rgba(237,102,40,.28);}
.butn-dark a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(237,102,40,.36);}
.butn-dark a:after,.butn-light a:after{border-radius:8px;}
.button,input[type="submit"].button{
    border-radius:8px !important;
    transition:transform .25s var(--eac-ease),box-shadow .25s var(--eac-ease),background .25s ease !important;
}
.button:hover,input[type="submit"].button:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(237,102,40,.32);
}

/* ---------- Services cards ---------- */
.services .item{
    border-radius:16px;background:#fff;
    box-shadow:var(--eac-shadow);
    transition:transform .35s var(--eac-ease),box-shadow .35s var(--eac-ease),background .35s ease;
}
.services .item:hover{
    transform:translateY(-8px);
    box-shadow:var(--eac-shadow-hover);
}
.services .item img{transition:transform .35s var(--eac-ease);}
.services .item:hover img{transform:scale(1.08);}
.services .item .line{transition:background .35s ease;}

/* ---------- Mission cards ---------- */
.process .item{
    border-radius:16px;padding:24px 20px;
    background:rgba(255,255,255,.55);
    transition:transform .35s var(--eac-ease),box-shadow .35s var(--eac-ease),background .35s ease;
}
.process .item:hover{
    transform:translateY(-6px);
    background:rgba(255,255,255,.9);
    box-shadow:var(--eac-shadow-hover);
}

/* ---------- Team / Advisors ---------- */
.team .item{
    border-radius:16px;overflow:hidden;background:#fff;
    box-shadow:var(--eac-shadow);
    transition:transform .35s var(--eac-ease),box-shadow .35s var(--eac-ease);
}
.team .item:hover{transform:translateY(-6px);box-shadow:var(--eac-shadow-hover);}
.team .img img{transition:transform .5s var(--eac-ease);width:100%;}
.team .item:hover .img img{transform:scale(1.06);}

/* ---------- Clients / Partners logos ---------- */
/* Fix reversed behaviour: grey by default, full colour on hover */
.clients img{
    filter:grayscale(100%);opacity:.7;
    transition:filter .4s ease,opacity .4s ease,transform .4s var(--eac-ease) !important;
}
.clients img:hover{
    filter:grayscale(0%) !important;opacity:1;transform:scale(1.05);
}

/* ---------- Contact form ---------- */
.contact__form input,
.contact__form textarea{
    border-radius:10px !important;
    border:1px solid #e2e2e2 !important;
    transition:border-color .25s ease,box-shadow .25s ease !important;
}
.contact__form input:focus,
.contact__form textarea:focus{
    border-color:var(--eac-accent) !important;
    box-shadow:0 0 0 3px rgba(237,102,40,.15) !important;
    outline:none;
}

/* ---------- Anti-bot honeypot (must stay invisible & unfocusable) ---------- */
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;
    width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}

/* ---------- Images ---------- */
.about-img .img img,.services4 img{border-radius:14px;}

/* ---------- Footer ---------- */
.main-footer .social-icon a{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;margin:0 5px;
    border:1px solid rgba(255,255,255,.25);
    transition:all .3s var(--eac-ease);
}
.main-footer .social-icon a:hover{
    background:var(--eac-accent);border-color:var(--eac-accent);
    transform:translateY(-3px);
}

/* ---------- Progress-to-top button ---------- */
.progress-wrap{box-shadow:0 6px 18px rgba(0,0,0,.15);}

/* ---------- Responsive spacing ---------- */
@media(max-width:767px){
    .section-padding{padding:60px 0;}
    .section-title{font-size:30px;letter-spacing:2px;}
    .services .item{padding:40px 24px;}
}
