/* ==========================
   Engineered Legacy
   Main Stylesheet
========================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #1d1d1d;
    background: #f5f7fa;
    line-height: 1.6;
}


/* ==========================
   Header
========================== */

.header {
    background: #102a43;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 8%;
    position: sticky;
    top: 0;
    z-index: 1000;
   border-bottom: 4px solid #f28c28;
}


.logo img {
    width: 550px;
    height: auto;
    display: block;
}

.nav a {
    color: white;
    text-decoration: none;
    margin-left: 25px;
    font-weight: bold;
}


.nav a:hover {
    color: #f58220;
}


.menu-toggle {
    display:none;
    background:none;
    border:none;
    color:white;
    font-size:28px;
    cursor:pointer;
}


/* ==========================
   Hero
========================== */

.hero {
    text-align:center;
    padding:40px 10%;
    background:white;
}


.hero h1 {
    color:#102a43;
    font-size:2.2rem;
    margin-bottom:30px;
}

.hero h2 {
    color:#102a43;
    font-size:1.5rem;
    margin-bottom:30px;
}

.hero p {
    max-width:900px;
    margin:auto;
    font-size:1.15rem;
    line-height:1.8;
}


/* ==========================
   Secondary Hero
========================== */

.hero2 {
    background:white;
    padding:40px 10%;
    text-align:center;
    border-top: 4px solid #102a43;
    
}

.hero2 h2 {
    color:#102a43;
    font-size:2.2rem;
    margin-bottom:25px;
}

.hero2 p {
    font-size:1.15rem;
    margin-bottom:15px;
}


/* ==========================
   Buttons
========================== */

.btn {

    display:inline-block;
    margin-top:30px;
    background:#f58220;
    color:white;
    padding:14px 32px;
    border-radius:5px;
    text-decoration:none;
    font-weight:bold;
    border: 1px solid #d96f16;
}


.btn:hover {

    background:#d96d10;

}



/* ==========================
   Sections
========================== */

.section {

    padding:40px 10%;

}


.section h2 {

    text-align:center;
    margin-bottom:30px;
    font-size:2rem;

}



/* ==========================
   Cards
========================== */


.cards {

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
    margin-top:40px;

}


.card,
.service-card {

    background:white;
    padding:30px;
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);

}


.card h3,
.service-card h2 {

    color:#102a43;
    margin-bottom:15px;

}



/* ==========================
   Services
========================== */


.service-grid {

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
    max-width:1100px;
    margin:40px auto;
   justify-content: center;

}

.service-grid .service-card:last-child {
    grid-column: 1 / 3;
    justify-self: center;
    max-width: 550px;
}

.service-card {

    text-align:center;

}


.service-card ul {

    text-align:left;
    margin-top:20px;
    padding-left:25px;

}



/* ==========================
   Dark Sections
========================== */


.dark-section {

    background:#102a43;
    color:white;
    padding:40px 10%;

}



/* ==========================
   Process
========================== */


.process {

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:30px;
    text-align:center;

}


.process span {

    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:50px;
    height:50px;
    background:#f58220;
    color:white;
    border-radius:50%;
    font-weight:bold;

}



/* ==========================
   Industries
========================== */


.industry-list,
.deliverables {

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    text-align:center;

}


.industry-list div,
.deliverables div {

    background:white;
    padding:25px;
    border-radius:8px;
    font-weight:bold;

}



/* ==========================
   Contact
========================== */


.contact-section {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:40px;
    padding:40px 10%;
}


.form-container form {
    display:flex;
    flex-direction:column;
}


input,
textarea {
    padding:15px;
    margin-bottom:15px;
    border:1px solid #ccc;
    border-radius:5px;
    font-family: inherit;
    font-size: 1rem;
}

input::placeholder,
textarea::placeholder {
    font-family: inherit;
    opacity: 1;
}

.hidden {
    display:none;
}



/* ==========================
   FAQ
========================== */


.faq h3 {
    color:#102a43;
    margin-top:25px;
}


.faq p {
    margin-bottom:15px;
}



/* ==========================
   CTA
========================== */


.cta {
    text-align:center;
    background:#f58220;
    color:white;
    padding:40px 10%;
}



/* ==========================
   Footer
========================== */


footer {
    background:#102a43;
    color:white;
    text-align:center;
    padding:30px 10%;
    border-top: 4px solid #f28c28;
}



/* ==========================
   Animation
========================== */


.hidden-section {
    opacity:0;
    transform:translateY(30px);
    transition:.6s ease;
}


.show {
    opacity:1;
    transform:translateY(0);
}



/* ==========================
   Mobile
========================== */

@media(max-width:768px){

.header {
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:15px 5%;
}


.logo {
    order:1;
}


.menu-toggle {
    display:block;
    order:2;
    margin-top:15px;
}


.nav {
    order:3;
    display:none;
    flex-direction:column;
    width:100%;
    text-align:center;
    background:#102a43;
    padding:20px;
}


.nav.active {
    display:flex;
}


.nav a {
    margin:10px 0;
}


 .logo img {
        width: 90vw;
        max-width: 400px;
        height: auto;
    }


.hero h1 {
    font-size:1.8rem;
}


.hero2 h2 {
    font-size:1.8rem;
}


.section {
    padding:50px 6%;
}


.service-grid {
    grid-template-columns:1fr;
}

.service-grid .service-card:last-child {
        grid-column: auto;
        width: 100%;
        max-width: none;
}

}
