/* Cubic Labs Main Stylesheet */
body { font-family: Arial, sans-serif; margin: 0; padding: 0; background: #f7f7f7; color: #222; }
header { background: #dadada; color: #222; padding: 2rem 1rem; text-align: center; }
main { max-width: 700px; margin: 2rem auto; background: #fff; padding: 2rem; border-radius: 8px; box-shadow: 0 2px 8px #0001; }
h1, h2 { margin-top: 0; }
.logo { max-width: 70px; margin-bottom: 1rem; }
.banner { 
    display: block; 
    max-width: 100%; 
    height: auto; 
    margin: 0 auto 1rem; 
    max-height: 150px; 
    object-fit: contain; 
}
.banner-container { 
    text-align: center; 
    margin-bottom: 1rem; 
}
footer { text-align: center; color: #888; margin: 2rem 0 1rem; font-size: 0.9em; }
a { color: #800000; }
nav { background: #800000; padding: 0.5em 0; text-align: center; }
nav a { color: #fff; margin: 0 1em; text-decoration: none; font-weight: bold; }
nav a:hover { text-decoration: underline; }
.contact { background: #f0f0f0; border-radius: 8px; padding: 1em; margin-top: 2em; }
/* Improved checkbox group styling for forms */
.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 1em;
}
.checkbox-group label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: normal;
  margin-bottom: 0;
}
.checkbox-other {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: normal;
  margin-bottom: 0;
}
.checkbox-other input[type="text"] {
  flex: 1;
  min-width: 180px;
  margin-left: 8px;
}

/* Specialized service pages styling */
.intro { 
    background: #f8f9fa; 
    padding: 1.5rem; 
    border-radius: 8px; 
    margin-bottom: 2rem; 
    border-left: 4px solid #800000; 
}

.service-item, .challenge-item, .sample-item { 
    background: #fff; 
    padding: 1.5rem; 
    border: 1px solid #e0e0e0; 
    border-radius: 8px; 
    margin-bottom: 1rem; 
}

.service-item h3, .challenge-item h3, .sample-item h3 { 
    color: #800000; 
    margin-top: 0; 
    margin-bottom: 0.5rem; 
}

.cta { 
    background: #800000; 
    color: white; 
    padding: 2rem; 
    border-radius: 8px; 
    text-align: center; 
    margin-top: 2rem; 
}

.cta h2 { 
    color: white; 
    margin-bottom: 1rem; 
}

.cta a { 
    color: white; 
    text-decoration: none; 
    font-weight: bold; 
    padding: 0.5rem 1rem; 
    border: 2px solid white; 
    border-radius: 4px; 
    margin: 0 0.5rem; 
    display: inline-block; 
    transition: all 0.3s; 
}

.cta a:hover { 
    background: white; 
    color: #800000; 
}

.note { 
    background: #fff3cd; 
    border: 1px solid #ffeaa7; 
    border-radius: 4px; 
    padding: 1rem; 
    margin: 1rem 0; 
}

.note p { 
    margin: 0; 
}

/* Index page specific styling */
.service-areas { 
    display: grid; 
    gap: 1.5rem; 
    margin-top: 1rem; 
}

.service-item { 
    padding: 1.5rem 0; 
    border-bottom: 1px solid #e0e0e0; 
}

.service-item:last-child { 
    border-bottom: none; 
}

.service-item h3 { 
    margin-top: 0; 
    margin-bottom: 0.5rem; 
    color: #800000; 
}

.service-item h3 a { 
    color: #800000; 
    text-decoration: none; 
}

.service-item h3 a:hover { 
    text-decoration: underline; 
}

.service-item p { 
    margin-bottom: 0; 
    color: #666; 
}

.analytical-strategy ul { 
    margin-left: 1.5rem; 
}

.analytical-strategy li { 
    margin-bottom: 0.5rem; 
}
