/* CSS Document */

body {
margin: 0;
font-family: 'Montserrat', Arial, sans-serif;
color: #111;
background: #fff;
}

.header {
padding: 20px 40px;
border-bottom: 1px solid #ddd;
overflow: auto;
}

.logo {
float: left;
font-weight: 800;
}

.nav {
float: right;
}

.nav a {
margin-left: 20px;
text-decoration: none;
color: #111;
font-size: 14px;
font-weight: 500;
}

.hero {
padding: 90px 40px;
}

.hero h1 {
font-size: 42px;
font-weight: 800;
}

.hero p {
font-size: 16px;
color: #555;
}

.section {
padding: 60px 40px;
}

.section.dark {
background: #111;
color: #fff;
}

.button {
display: inline-block;
margin-top: 20px;
padding: 10px 18px;
background: #111;
color: #fff;
text-decoration: none;
}

#contact {
    background-color: #111;
    padding: 60px 40px;
    margin-top: 40px;
    border-top: 1px solid #222;
}

#contact h2 {
    color: #0ff;
    margin-bottom: 10px;
}

.contact-intro {
    color: #bbb;
    max-width: 700px;
    line-height: 1.5;
    margin-bottom: 25px;
}

.email-button {
    display: inline-block;
    background: #0ff;
    color: #000;
    padding: 14px 22px;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 0.5px;
    margin-bottom: 30px;
}

.email-button:hover {
    background: #66ffff;
    box-shadow: 0 0 18px rgba(0, 255, 255, 0.7);
}

.project-details {
    margin-top: 25px;
    max-width: 700px;
    background: #1a1a1a;
    padding: 22px;
    border-left: 3px solid #0ff;
}

.project-details h3 {
    color: #fff;
    margin-top: 0;
}

.project-details ul {
    color: #bbb;
    line-height: 1.7;
    padding-left: 20px;
}








.footer {
padding: 20px 40px;
font-size: 12px;
border-top: 1px solid #ddd;
}

.hero-banner {
width: 100%;
height: 30vw; /* scales with screen width */
max-height: 400px; /* prevents it from getting huge */
min-height: 180px; /* prevents it from getting tiny */
background-image: url('images/banner.jpg');
background-size: cover;
background-position: left center;
background-repeat: no-repeat;
}

.hero-banner {
width: 100%;
height: 300px;
background-image: url('images/banner-bg.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: relative;
}

.hero-logo {
position: absolute;
left: 100px;
top: 50%;
transform: translateY(-50%);
height: 220px; /* adjust as needed */
}

.card {
    background-color: #111;
    padding: 60px 40px;   /* gives breathing room on the left */
    margin-top: 40px;
}

.card h2 {
    color: #0ff;
}

.card h3 {
	margin-bottom: 5px;
    color: #fff;
	font-weight: normal;
}

.card p {
    color: #bbb;
	margin-top: 0px;
	margin-bottom: 20px;
}

.card .subtle-note {
    margin-top: 30px;
    font-size: 20px;
    color: #0ff;         /* teal */
    font-weight: 500;    /* slightly heavier */
    letter-spacing: 0.5px;
}


.cap-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.cap-grid div {
    width: calc(50% - 10px);
    background: #1a1a1a;
    padding: 20px;
    border-left: 3px solid #0ff;
	margin-bottom: 10px; /* extra breathing room between rows */
}

.card {
    border-left: 1px solid #222;
}


.cap-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.cap-grid div {
    width: calc(50% - 10px);
    background: #1a1a1a;
    padding: 20px;
    border-left: 3px solid #0ff;
}

#products {
    background: #111;
    padding: 60px 40px;
}

.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.product-item {
    width: calc(25% - 15px);
    background: #1a1a1a;
    padding: 15px;
}

.product-item img {
    width: 100%;
    display: block;
}

#products h2 {
    color: #0ff;
}


