/* style.css */

:root {
    --primary-color: #2e9cca; /* Light Blue (Updated) */
    --secondary-color: #29648a; /* Darker Blue (Updated) */
    --accent-color: #4db6e0; /* A slightly brighter shade for accents (you can adjust this) */
    --text-color-primary: #333; /* Dark grey for primary text */
    --text-color-secondary: #666; /* Medium grey for secondary text */
    --background-color: #f4f4f4; /* Light grey background */
    --white: #fff;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
    background-color: var(--background-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Header */
header {
    background-color: var(--white);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px; /* Add gap between logo and nav */
    flex-wrap: nowrap; /* Prevent wrapping */
}

header .logo-container {
    display: flex;
    align-items: center;
    flex-shrink: 0; /* Prevent logo from shrinking */
    min-width: 0; /* Allow flex item to shrink if needed */
    z-index: 101; /* Ensure logo is above other elements */
}

header .logo-container a {
    display: block; /* Make the link a block for easier centering on mobile */
    flex-shrink: 0; /* Prevent logo link from shrinking */
    line-height: 0; /* Remove extra spacing around image */
}

header .logo-container img {
    max-width: 100%; /* Ensure logo doesn't overflow */
    width: auto;
    height: auto;
    display: block; /* Ensure image is displayed */
    max-height: 100px; /* Limit logo height */
    object-fit: contain; /* Maintain aspect ratio */
}

header .logo-container h3 {
    color: var(--secondary-color);
    margin-left: 20px; /* Spacing to the right of the logo on desktop */
    font-size: 1.2em;
}

.desktop-tagline {
    display: inline; /* Show on desktop */
}

nav.desktop-nav {
    flex: 1; /* Allow nav to take remaining space */
    display: flex;
    justify-content: flex-end; /* Align nav to the right */
    overflow: visible; /* Allow dropdowns to overflow */
}

nav.desktop-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

nav.desktop-nav ul li {
    margin-left: 20px;
    white-space: nowrap; /* Prevent text from wrapping */
    position: relative; /* For dropdown positioning */
}

nav.desktop-nav ul li a {
    text-decoration: none;
    color: var(--text-color-primary);
    font-weight: 500;
    transition: color 0.3s ease;
    display: block;
    padding: 12px 8px; /* Add horizontal padding for better hover area */
}

nav.desktop-nav ul li a:hover {
    color: var(--accent-color);
}

/* Dropdown Menu Styles */
nav.desktop-nav ul li.dropdown {
    position: relative;
}

nav.desktop-nav ul li.dropdown:hover .dropdown-content {
    display: block;
}

/* Keep dropdown open when hovering over it */
nav.desktop-nav ul li.dropdown .dropdown-content:hover {
    display: block;
}

nav.desktop-nav .dropdown-content {
    display: none;
    position: absolute;
    top: calc(100% + 4px); /* Small gap but close enough to maintain hover */
    left: 0;
    background-color: var(--white);
    min-width: 220px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 6px;
    padding: 12px 0;
    z-index: 1000;
    list-style: none;
}

/* Create an invisible bridge to maintain hover when moving from link to dropdown */
nav.desktop-nav ul li.dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 8px; /* Bridge height to cover the gap */
    background: transparent;
    z-index: 999;
}

nav.desktop-nav .dropdown-content li {
    margin: 0;
    padding: 0;
}

nav.desktop-nav .dropdown-content li a {
    display: block;
    padding: 10px 20px;
    color: var(--text-color-primary);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

nav.desktop-nav .dropdown-content li a:hover {
    background-color: #f8f9fa;
    color: var(--primary-color);
}

.btn {
    display: inline-block;
    padding: 12px 24px;
    text-decoration: none;
    color: var(--white);
    background-color: var(--secondary-color);
    border-radius: 8px;
    font-weight: 500;
    transition: background-color 0.3s ease;
    border: none;
    cursor: pointer;
}

.btn:hover {
    background-color: var(--accent-color);
}

/* Hero Section */
.hero {
    background-color: var(--primary-color);
    padding: 80px 0;
    text-align: center;
}

.hero .container {
    max-width: 800px;
}

.hero h2 {
    font-size: 2.5em;
    color: var(--white); /* Changed to white */
    margin-bottom: 20px;
}

.hero p {
    font-size: 1.1em;
    color: var(--white); /* Changed to white */
    margin-bottom: 30px;
}

/* Services Section */
.services {
    padding: 60px 0;
    background-color: var(--white);
}

.services h2 {
    font-size: 2em;
    color: var(--secondary-color);
    text-align: center;
    margin-bottom: 30px;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.service-item {
    background-color: #f9f9f9;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    text-align: center;
    transition: transform 0.3s ease-in-out;
}

.service-item:hover {
    transform: translateY(-5px);
}

.service-item i.service-icon {
    color: var(--secondary-color);
    margin-bottom: 15px;
    display: block;
}

.service-item h3 {
    color: var(--secondary-color);
    margin-top: 0;
    margin-bottom: 15px;
}

.service-item p {
    color: var(--text-color-primary);
    margin-bottom: 20px;
}

.service-item .btn {
    margin-top: 10px;
}

/* Products Section */
.products {
    padding: 60px 0;
    background-color: var(--white);
}

.products h2 {
    font-size: 2em;
    color: var(--secondary-color);
    text-align: center;
    margin-bottom: 30px;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.product-item {
    background-color: #f9f9f9;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    text-align: center;
    transition: transform 0.3s ease-in-out;
}

.product-item:hover {
    transform: translateY(-5px);
}

.product-item i.product-icon {
    color: var(--secondary-color);
    margin-bottom: 15px;
    display: block;
}

.product-item h3 {
    color: var(--secondary-color);
    margin-top: 0;
    margin-bottom: 15px;
}

.product-item p {
    color: var(--text-color-secondary);
    margin-bottom: 20px;
}

.product-item .btn {
    margin-top: 10px;
}

/* Launch section styles */
.launch-info {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.launch-content h3 {
    color: var(--secondary-color);
    margin-bottom: 20px;
    font-size: 1.8em;
}

.launch-content p {
    margin-bottom: 20px;
    line-height: 1.6;
}

.launch-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.launch-feature {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.launch-feature i {
    font-size: 2em;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.launch-feature span {
    text-align: center;
    line-height: 1.4;
}

.launch-feature span strong {
    color: var(--secondary-color);
    display: block;
    margin-bottom: 5px;
}

.early-access-notice {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 30px;
    border-radius: 8px;
    margin-top: 40px;
}

.early-access-notice h4 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.4em;
}

.early-access-notice p {
    margin-bottom: 20px;
    opacity: 0.9;
}

.early-access-notice .btn {
    background-color: var(--white);
    color: var(--primary-color);
    font-weight: 600;
}

.early-access-notice .btn:hover {
    background-color: var(--background-color);
}

/* Additional styles for service pages */
.service-item h4 {
    color: var(--secondary-color);
    margin: 15px 0 10px 0;
    font-size: 1.1em;
}

.service-item h5 {
    color: var(--secondary-color);
    margin: 15px 0 10px 0;
    font-size: 1em;
    font-weight: 600;
}

.service-item ul {
    text-align: left;
    margin: 10px 0;
    padding-left: 20px;
}

.service-item ul li {
    color: var(--text-color-secondary);
    margin-bottom: 5px;
    line-height: 1.4;
}

/* Industries Section */
.industries {
    padding: 60px 0;
    background-color: var(--background-color);
}

.industries h2 {
    font-size: 2em;
    color: var(--secondary-color);
    text-align: center;
    margin-bottom: 30px;
}

.industry-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.industry-item {
    background-color: var(--white);
    color: var(--text-color-primary);
    padding: 10px 20px;
    border-radius: 5px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    font-weight: 500;
}

/* About Section */
.about {
    padding: 60px 0;
    background-color: var(--white);
}

.about h2 {
    font-size: 2em;
    color: var(--secondary-color);
    text-align: center;
    margin-bottom: 30px;
}

.about p {
    color: var(--text-color-secondary);
    line-height: 1.8;
}

/* SDLC Section */
.sdlc-phases {
    margin-top: 40px;
}

.sdlc-phase {
    background-color: var(--white);
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sdlc-phase:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}

.phase-header {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: var(--white);
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.phase-icon {
    color: var(--white);
    flex-shrink: 0;
}

.phase-header h3 {
    margin: 0;
    font-size: 1.5em;
    font-weight: 600;
}

.phase-content {
    padding: 30px;
}

.phase-content h4 {
    color: var(--secondary-color);
    margin-bottom: 20px;
    font-size: 1.3em;
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 10px;
}

.roles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.role-item {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    border-left: 4px solid var(--primary-color);
    transition: transform 0.2s ease;
}

.role-item:hover {
    transform: translateX(5px);
}

.role-item h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    display: flex;
    align-items: center;
    gap: 10px;
}

.role-item h5 i {
    color: var(--primary-color);
    width: 20px;
}

.role-item p {
    margin: 8px 0;
    line-height: 1.5;
}

.role-item p strong {
    color: var(--secondary-color);
}

.phase-interactions {
    background-color: #f0f8ff;
    border-radius: 8px;
    padding: 20px;
    border: 1px solid #e0e8f0;
}

.phase-interactions h4 {
    color: var(--secondary-color);
    margin-bottom: 15px;
    font-size: 1.2em;
}

.phase-interactions ul {
    margin: 0;
    padding-left: 20px;
}

.phase-interactions li {
    margin-bottom: 8px;
    line-height: 1.5;
}

.phase-interactions strong {
    color: var(--primary-color);
}

.handoff-criteria {
    background-color: #e8f5e8;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #c8e6c8;
}

.handoff-criteria h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.handoff-criteria p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.activities-list {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    border-left: 4px solid var(--primary-color);
}

.activities-list ul {
    margin: 0;
    padding-left: 20px;
}

.activities-list li {
    margin-bottom: 8px;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.definition-criteria {
    background-color: #fff3cd;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #ffeaa7;
}

.definition-criteria h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.definition-criteria p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.testing-focus {
    background-color: #e8f4fd;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #b3d9ff;
}

.testing-focus h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.testing-focus p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.rollback-planning {
    background-color: #f8d7da;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #f5c6cb;
}

.rollback-planning h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.rollback-planning p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.monitoring-metrics {
    background-color: #d1ecf1;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #bee5eb;
}

.monitoring-metrics h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.monitoring-metrics p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.risk-management {
    background-color: #fff3cd;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #ffeaa7;
}

.risk-management h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.risk-management p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.stakeholder-signoff {
    background-color: #d4edda;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #c3e6cb;
}

.stakeholder-signoff h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.stakeholder-signoff p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.user-training {
    background-color: #e2e3e5;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #d6d8db;
}

.user-training h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.user-training p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.environment-stages {
    background-color: #f0f8ff;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #b3d9ff;
}

.environment-stages h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.environment-stages p {
    margin: 0 0 10px 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.environment-stages p:last-child {
    margin-bottom: 0;
}

.phase-metrics {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border-left: 4px solid var(--primary-color);
}

.phase-metrics h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.phase-metrics p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.environment-testing {
    background-color: #e8f5e8;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #c8e6c8;
}

.environment-testing h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.environment-testing p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.compliance-testing {
    background-color: #fff3cd;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #ffeaa7;
}

.compliance-testing h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.compliance-testing p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.risk-checkpoint {
    background-color: #f8d7da;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #f5c6cb;
}

.risk-checkpoint h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.risk-checkpoint p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.technical-debt-assessment {
    background-color: #d1ecf1;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #bee5eb;
}

.technical-debt-assessment h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.technical-debt-assessment p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.roles-glossary {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    padding: 30px;
    margin: 30px 0;
    border: 1px solid #dee2e6;
}

.roles-glossary h3 {
    color: var(--secondary-color);
    margin: 0 0 25px 0;
    font-size: 1.5em;
    text-align: center;
}

.glossary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.glossary-item {
    background-color: var(--white);
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--primary-color);
}

.glossary-item strong {
    color: var(--secondary-color);
    display: block;
    margin-bottom: 5px;
}

.phase-outputs {
    background-color: #e8f5e8;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #c8e6c8;
}

.phase-outputs h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.phase-outputs p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.phase-outputs strong {
    color: var(--primary-color);
}

.metrics-guidance {
    background-color: #fff3cd;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #ffeaa7;
    border-left: 4px solid #ffc107;
}

.metrics-guidance p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.metrics-guidance strong {
    color: var(--secondary-color);
}

.metrics-ownership {
    background-color: #d1ecf1;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border: 1px solid #bee5eb;
}

.metrics-ownership h5 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.1em;
    font-weight: 600;
}

.metrics-ownership p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
}

.metrics-ownership strong {
    color: var(--primary-color);
}

.phase-metrics em {
    color: #6c757d;
    font-style: italic;
}

.phase-description {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    border-left: 4px solid var(--primary-color);
}

.phase-description p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-primary);
    font-size: 1em;
}

.sdlc-overview {
    margin-top: 30px;
}

.sdlc-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.sdlc-preview-item {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    border-left: 4px solid var(--primary-color);
}

.sdlc-preview-item i {
    font-size: 2em;
    color: var(--primary-color);
    margin-bottom: 15px;
}

.sdlc-preview-item h4 {
    color: var(--text-color-primary);
    margin-bottom: 10px;
}

.sdlc-preview-item p {
    color: var(--text-color-secondary);
    font-size: 0.9em;
    line-height: 1.5;
}

.sdlc-benefits {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 8px;
    margin-top: 30px;
}

.sdlc-benefits h4 {
    color: var(--primary-color);
    margin-bottom: 15px;
}

.sdlc-benefits ul {
    list-style: none;
    padding: 0;
}

.sdlc-benefits li {
    padding: 8px 0;
    border-bottom: 1px solid #e9ecef;
}

.sdlc-benefits li:last-child {
    border-bottom: none;
}

.sdlc-benefits strong {
    color: var(--primary-color);
}

.sdlc-navigation {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    padding: 30px;
    margin: 30px 0;
    border: 1px solid #dee2e6;
}

.sdlc-navigation h3 {
    color: var(--secondary-color);
    margin: 0 0 25px 0;
    font-size: 1.5em;
    text-align: center;
}

.phase-nav-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.phase-nav-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    background-color: var(--white);
    border-radius: 8px;
    text-decoration: none;
    color: var(--text-color-primary);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--primary-color);
    transition: all 0.3s ease;
}

.phase-nav-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    background-color: #f8f9fa;
    text-decoration: none;
    color: var(--primary-color);
}

.phase-nav-item i {
    margin-right: 12px;
    font-size: 1.2em;
    color: var(--primary-color);
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.phase-nav-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.phase-title {
    font-weight: 600;
    font-size: 0.95em;
    margin-bottom: 4px;
}

.phase-description {
    font-size: 0.85em;
    color: #6c757d;
    line-height: 1.3;
}

@media (max-width: 768px) {
    .phase-nav-grid {
        grid-template-columns: 1fr;
    }
    
    .phase-nav-item {
        padding: 12px 16px;
    }
    
    .phase-title {
        font-size: 0.9em;
    }
    
    .phase-description {
        font-size: 0.8em;
    }
}

.sdlc-flow-diagram {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    padding: 40px;
    margin: 30px 0;
    border: 1px solid #dee2e6;
    text-align: center;
}

.sdlc-flow-diagram h3 {
    color: var(--secondary-color);
    margin: 0 0 30px 0;
    font-size: 1.5em;
}

.circular-flow {
    position: relative;
    width: 600px;
    height: 600px;
    margin: 0 auto;
}

.flow-phase {
    position: absolute;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.flow-phase:hover {
    transform: scale(1.1);
    text-decoration: none;
    color: inherit;
}

.phase-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--white);
    border: 3px solid var(--primary-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 0 auto 8px;
    position: relative;
}

.phase-circle i {
    font-size: 1.5em;
    color: var(--primary-color);
    margin-bottom: 2px;
}

.phase-number {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--secondary-color);
    color: var(--white);
    font-size: 0.8em;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.phase-label {
    font-size: 0.85em;
    font-weight: 500;
    color: var(--text-color-primary);
    text-align: center;
    max-width: 100px;
    line-height: 1.2;
}

/* Position phases in a clean circle - 8 phases evenly distributed */
.phase-1 { top: 20px; left: 50%; transform: translateX(-50%); }
.phase-2 { top: 80px; right: 80px; }
.phase-3 { top: 50%; right: 20px; transform: translateY(-50%); }
.phase-4 { bottom: 80px; right: 80px; }
.phase-5 { bottom: 20px; left: 50%; transform: translateX(-50%); }
.phase-6 { bottom: 80px; left: 80px; }
.phase-7 { top: 50%; left: 20px; transform: translateY(-50%); }
.phase-8 { top: 80px; left: 80px; }
.phase-9 { top: 20px; left: 50%; transform: translateX(-50%); }

/* Flow arrows */
.flow-arrow {
    position: absolute;
    width: 2px;
    height: 40px;
    background: var(--primary-color);
    opacity: 0.6;
}

.flow-arrow::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: -4px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid var(--primary-color);
}

.arrow-1-2 { top: 50px; right: 120px; transform: rotate(45deg); }
.arrow-2-3 { top: 120px; right: 50px; transform: rotate(90deg); }
.arrow-3-4 { bottom: 120px; right: 50px; transform: rotate(135deg); }
.arrow-4-5 { bottom: 50px; right: 120px; transform: rotate(180deg); }
.arrow-5-6 { bottom: 50px; left: 120px; transform: rotate(225deg); }
.arrow-6-7 { bottom: 120px; left: 50px; transform: rotate(270deg); }
.arrow-7-8 { top: 120px; left: 50px; transform: rotate(315deg); }
.arrow-8-1 { top: 50px; left: 120px; transform: rotate(0deg); }

.return-arrow {
    background: var(--secondary-color);
    height: 50px;
    width: 3px;
}

.return-arrow::after {
    border-top-color: var(--secondary-color);
}

/* Center content */
.flow-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    background: var(--white);
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border: 3px solid var(--secondary-color);
}

.center-text {
    font-size: 0.8em;
    font-weight: 600;
    color: var(--secondary-color);
    line-height: 1.2;
    margin-bottom: 5px;
}

.center-icon {
    color: var(--secondary-color);
}

.center-phase {
    font-size: 0.7em;
    color: var(--text-color-primary);
    margin-top: 8px;
    font-weight: 500;
}

/* Responsive design */
@media (max-width: 768px) {
    .circular-flow {
        width: 400px;
        height: 400px;
    }
    
    .phase-circle {
        width: 60px;
        height: 60px;
    }
    
    .phase-circle i {
        font-size: 1.2em;
    }
    
    .phase-number {
        width: 20px;
        height: 20px;
        font-size: 0.7em;
    }
    
    .phase-label {
        font-size: 0.75em;
        max-width: 80px;
    }
    
    .flow-arrow {
        height: 30px;
    }
    
    .flow-center {
        width: 80px;
        height: 80px;
    }
    
    .center-text {
        font-size: 0.7em;
    }
    
    .center-icon i {
        font-size: 1.2em !important;
    }
    
    /* Adjust phase positions for mobile */
    .phase-1 { top: 15px; }
    .phase-2 { top: 60px; right: 60px; }
    .phase-3 { right: 15px; }
    .phase-4 { bottom: 60px; right: 60px; }
    .phase-5 { bottom: 15px; }
    .phase-6 { bottom: 60px; left: 60px; }
    .phase-7 { left: 15px; }
    .phase-8 { top: 60px; left: 60px; }
    
    /* Adjust arrow positions for mobile */
    .arrow-1-2 { top: 40px; right: 90px; }
    .arrow-2-3 { top: 90px; right: 40px; }
    .arrow-3-4 { bottom: 90px; right: 40px; }
    .arrow-4-5 { bottom: 40px; right: 90px; }
    .arrow-5-6 { bottom: 40px; left: 90px; }
    .arrow-6-7 { bottom: 90px; left: 40px; }
    .arrow-7-8 { top: 90px; left: 40px; }
    .arrow-8-1 { top: 40px; left: 90px; }
}

.sdlc-summary {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    padding: 40px;
    margin-top: 40px;
    text-align: center;
}

.sdlc-summary h3 {
    color: var(--secondary-color);
    margin-bottom: 30px;
    font-size: 1.8em;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-top: 30px;
}

.benefit-item {
    background-color: var(--white);
    border-radius: 10px;
    padding: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.benefit-item i {
    color: var(--primary-color);
    font-size: 2em;
    margin-bottom: 15px;
    display: block;
}

.benefit-item h4 {
    color: var(--secondary-color);
    margin: 0 0 15px 0;
    font-size: 1.2em;
}

.benefit-item p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-color-secondary);
}

/* Responsive Design for SDLC */
@media (max-width: 768px) {
    .phase-header {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .phase-header h3 {
        font-size: 1.3em;
    }
    
    .phase-content {
        padding: 20px;
    }
    
    .roles-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .role-item {
        padding: 15px;
    }
    
    .sdlc-summary {
        padding: 25px 20px;
    }
    
    .benefits-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* Contact Section */
.contact {
    padding: 80px 0;
    background-color: var(--primary-color);
    text-align: center;
}

.contact h2 {
    font-size: 2em;
    color: var(--white); /* Updated to --white */
    margin-bottom: 30px;
}

.contact p {
    color: var(--white); /* Updated to --white */
    margin-bottom: 30px;
}

.contact form {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Ensure service-item cards within contact section have proper text contrast */
.contact .service-item {
    background-color: var(--white);
}

.contact .service-item p {
    color: var(--text-color-primary);
}

.contact .service-item h3,
.contact .service-item h4 {
    color: var(--secondary-color);
}

.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"],
.contact textarea {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1em;
}

.contact textarea {
    resize: vertical;
    min-height: 100px;
}

/* Login Section */
.login-section, .account-section {
    padding: 60px 0;
    background-color: var(--background-color);
    text-align: center;
}

.login-section .container, .account-section .container {
    max-width: 500px;
    margin: 0 auto;
    padding: 30px;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.login-section h2, .account-section h2 {
    color: var(--secondary-color);
    margin-bottom: 20px;
}

.login-section .form-group {
    margin-bottom: 20px;
    text-align: left;
}

.login-section label {
    display: block;
    margin-bottom: 5px;
    color: var(--text-color-primary);
    font-weight: 500;
}

.login-section input[type="text"],
.login-section input[type="password"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1em;
    box-sizing: border-box;
}

.login-section .error-message {
    margin-top: 10px;
}

.login-section a {
    color: var(--accent-color);
    text-decoration: none;
}

.login-section a:hover {
    text-decoration: underline;
}

/* Account Section */
.account-section h3 {
    color: var(--secondary-color);
    margin-top: 30px;
    margin-bottom: 15px;
    text-align: left;
}

.account-section #accountDetails p {
    color: var(--text-color-secondary);
    margin-bottom: 10px;
    text-align: left;
}

.account-section #invoices ul {
    list-style: none;
    padding: 0;
    text-align: left;
}

.account-section #invoices li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.account-section #invoices li:last-child {
    border-bottom: none;
}

.account-section #invoices li a {
    color: var(--accent-color);
    text-decoration: none;
    margin-left: 10px;
}

.account-section #invoices li a:hover {
    text-decoration: underline;
}

.account-section #logoutBtn {
    margin-top: 30px;
}

/* Footer */
footer {
    background-color: var(--secondary-color);
    color: var(--white);
    text-align: center;
    padding: 20px 0;
    font-size: 0.9em;
}

footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

footer p {
    margin-bottom: 10px;
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: flex;
}

footer ul li {
    margin: 0 10px;
}

footer ul li a {
    color: var(--white);
    text-decoration: none;
    transition: text-decoration 0.3s ease;
}

footer ul li a:hover {
    text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 768px) {
    .container {
        padding: 15px;
    }

    header .container {
        flex-direction: row; /* Align logo and hamburger horizontally */
        justify-content: space-between; /* Space them out */
        align-items: center; /* Vertically align them */
        padding-top: 10px; /* Add some top padding for better spacing */
        padding-bottom: 10px; /* Add some bottom padding */
    }

    header .logo-container {
        flex-direction: row; /* Keep logo and tagline in a row */
        align-items: center;
        text-align: left;
        margin-bottom: 0; /* Remove bottom margin on mobile */
    }

    header .logo-container h3 {
        display: none; /* Hide desktop tagline on mobile */
    }

    header .logo-container a {
        display: inline-block; /* Allow left alignment */
    }

    header .logo-container img {
        margin: 0; /* Remove centering */
        height: 100px; /* Set the desired logo height for mobile */
        width: auto; /* Maintain aspect ratio */
    }

    .hamburger-menu {
        display: block; /* Show hamburger menu on smaller screens */
    }

    .menu-icon {
        font-size: 2em; /* Adjust size of hamburger icon */
        color: var(--text-color-primary); /* Style the icon color */
        cursor: pointer;
        padding: 10px; /* Add some padding around the icon */
    }

    nav.desktop-nav {
        display: none; /* Hide desktop navigation on smaller screens */
    }

    .mobile-nav {
        position: fixed;
        top: 60px; /* Adjust based on header height */
        left: 0;
        width: 100%;
        background-color: var(--white);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        z-index: 99; /* Ensure it's above other content */
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        padding: 20px;
    }

    .hamburger-menu input[type="checkbox"]:checked + label + nav.mobile-nav {
        transform: translateX(0%);
    }

    .mobile-nav h3 {
        color: var(--secondary-color);
        text-align: center;
        margin-bottom: 20px;
    }

    .mobile-nav ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-nav ul li {
        border-bottom: 1px solid #eee;
    }

    .mobile-nav ul li:last-child {
        border-bottom: none;
    }

    .mobile-nav ul li a {
        display: block;
        padding: 15px 0;
        text-decoration: none;
        color: var(--text-color-primary);
        font-weight: 500;
        transition: color 0.3s ease;
    }

    .mobile-nav ul li a:hover {
        color: var(--accent-color);
    }

    .hero {
        padding: 60px 0;
    }

    .hero h2 {
        font-size: 2em;
    }

    .service-grid {
        grid-template-columns: 1fr;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .launch-features {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .industry-grid {
        justify-content: flex-start;
    }

    footer .container {
        align-items: center;
    }

    footer ul {
        flex-direction: column;
        align-items: center;
    }

    footer ul li {
        margin: 5px 0;
    }
}

/* --- Media Query for Larger Screens --- */
@media (min-width: 769px) {
    .hamburger-menu {
        display: none !important; /* Ensure it's hidden on larger screens */
    }

    .mobile-nav {
        display: none !important; /* Ensure it's hidden on larger screens */
    }

    header .container {
        flex-direction: row; /* Ensure logo and nav are on the same line */
        justify-content: space-between;
        align-items: center;
        gap: 20px;
    }

    header .logo-container {
        flex-direction: row; /* Logo and tagline on the same line */
        align-items: center;
        text-align: left;
        flex-shrink: 0; /* Prevent logo from shrinking */
    }
    
    nav.desktop-nav {
        flex: 1;
        min-width: 0; /* Allow nav to shrink if needed */
    }
}

/* Pricing Section */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.pricing-item {
    background-color: var(--white);
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 30px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    border: 2px solid transparent;
}

.pricing-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.pricing-item.featured {
    border-color: var(--primary-color);
    transform: scale(1.05);
}

.pricing-item.featured::before {
    content: "Most Popular";
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--primary-color);
    color: var(--white);
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 0.8em;
    font-weight: 600;
}

.pricing-header h3 {
    color: var(--secondary-color);
    font-size: 1.5em;
    margin-bottom: 10px;
}

.pricing-header .price {
    font-size: 2.5em;
    font-weight: bold;
    color: var(--primary-color);
    margin-bottom: 10px;
}

.pricing-header .price span {
    font-size: 0.4em;
    color: var(--text-color-secondary);
    font-weight: normal;
}

.pricing-header p {
    color: var(--text-color-secondary);
    margin-bottom: 25px;
    font-size: 0.9em;
}

.pricing-features ul {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    text-align: left;
}

.pricing-features li {
    padding: 8px 0;
    color: var(--text-color-primary);
    display: flex;
    align-items: center;
}

.pricing-features li i {
    margin-right: 10px;
    width: 16px;
}

.pricing-features li i.fa-check {
    color: #28a745;
}

.pricing-features li i.fa-times {
    color: #dc3545;
}

.pricing-action {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.pricing-action .btn {
    width: 100% !important;
    padding: 15px !important;
    font-size: 1.1em !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: block !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* Add-ons Section */
.addons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-top: 40px;
}

.addon-item {
    background-color: var(--white);
    border-radius: 8px;
    padding: 25px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.addon-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.addon-header {
    margin-bottom: 15px;
}

.addon-header i {
    color: var(--primary-color);
    margin-bottom: 10px;
    display: block;
}

.addon-header h3 {
    color: var(--secondary-color);
    margin: 10px 0 5px 0;
    font-size: 1.2em;
}

.addon-price {
    color: var(--primary-color);
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 10px;
}

.addon-item p {
    color: var(--text-color-secondary);
    margin: 0;
    font-size: 0.9em;
}

/* Responsive adjustments for pricing */
@media (max-width: 768px) {
    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .pricing-item.featured {
        transform: none;
    }
    
    .addons-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}