/* Light theme correction layer: readability first, modern but not dark. */
:root {
    --page-bg: #f6f9fc;
    --page-bg-2: #edf7f7;
    --ink-strong: #10212b;
    --ink: #1d3340;
    --ink-soft: #5a6d78;
    --ink-muted: #7d8b94;
    --brand-blue: #006fb9;
    --brand-teal: #009b9f;
    --brand-green: #2ea44f;
    --card: #ffffff;
    --card-soft: #f8fbfd;
    --line: #dce7ee;
    --line-strong: #bfd5df;
    --shadow-clean: 0 18px 48px rgba(18, 45, 60, 0.12);
    --shadow-soft-light: 0 10px 28px rgba(18, 45, 60, 0.08);
}

html,
body {
    background: var(--page-bg) !important;
    color: var(--ink) !important;
}

body:before,
body:after {
    display: none !important;
}

body {
    background:
        radial-gradient(circle at top left, rgba(0, 155, 159, 0.12), transparent 34rem),
        radial-gradient(circle at top right, rgba(0, 111, 185, 0.12), transparent 32rem),
        linear-gradient(180deg, #fbfdff, var(--page-bg) 48%, #f4f8fb) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
section h2,
.benefit-card h3,
.benefit-card h4,
.challenge-card h3,
.team-member h3,
.team-member-detailed h3,
.value-card h3,
.component-card h3,
.stack-card h3,
.validation-card h3,
.ip-card h3,
.case-study-card h3,
.testimonial-card h3,
.contact-card h3,
.stat-card h3 {
    color: var(--ink-strong) !important;
}

p,
li,
.lead,
.section-intro,
.note,
.subtitle,
.benefit-card p,
.challenge-card p,
.team-member p,
.team-member li,
.team-member-detailed p,
.value-card p,
.component-card p,
.stack-card p,
.validation-card p,
.ip-card p,
.case-study-card p,
.testimonial-card p,
.contact-card p,
.stat-card p {
    color: var(--ink-soft) !important;
}

a {
    color: var(--brand-blue);
}

a:hover {
    color: var(--brand-teal);
}

.navbar {
    background: rgba(255, 255, 255, 0.9) !important;
    border-bottom: 1px solid rgba(220, 231, 238, 0.86) !important;
    box-shadow: 0 12px 32px rgba(18, 45, 60, 0.08) !important;
}

.navbar-brand {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-height: auto !important;
    padding: 0 !important;
}

.navbar-light .navbar-toggler {
    background: var(--card) !important;
    border-color: var(--line) !important;
}

.navbar-light .navbar-toggler-icon {
    filter: none !important;
}

.navbar-light .navbar-nav .nav-link {
    color: #314654 !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-item.active .nav-link {
    background: #e8f6f5 !important;
    color: var(--brand-teal) !important;
}

.btn-primary,
.cta .btn {
    background: var(--brand-teal) !important;
    border-color: var(--brand-teal) !important;
    box-shadow: 0 12px 26px rgba(0, 155, 159, 0.22) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.cta .btn:hover,
.cta .btn:focus {
    background: #007f86 !important;
    border-color: #007f86 !important;
    color: #ffffff !important;
}

.btn-outline-primary {
    background: #ffffff !important;
    border-color: var(--line-strong) !important;
    color: var(--brand-blue) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: #eef8fb !important;
    border-color: var(--brand-blue) !important;
    color: var(--brand-blue) !important;
}

.hero,
.technology-hero,
.solutions-hero,
.benefits-hero,
.contact-hero,
.about-hero,
.downloads {
    background:
        radial-gradient(circle at 84% 22%, rgba(0, 155, 159, 0.16), transparent 25rem),
        radial-gradient(circle at 12% 18%, rgba(0, 111, 185, 0.12), transparent 27rem),
        linear-gradient(135deg, #ffffff, #eef8fb 58%, #f6fbf6) !important;
    color: var(--ink-strong) !important;
}

.hero:before,
.hero:after,
.technology-hero:before,
.technology-hero:after,
.solutions-hero:before,
.solutions-hero:after,
.benefits-hero:before,
.benefits-hero:after,
.contact-hero:before,
.contact-hero:after,
.about-hero:before,
.about-hero:after,
.downloads:before,
.downloads:after {
    display: none !important;
}

.hero h1,
.technology-hero h1,
.solutions-hero h1,
.benefits-hero h1,
.contact-hero h1,
.about-hero h1,
.downloads h1,
.hero .lead,
.technology-hero .lead,
.solutions-hero .lead,
.benefits-hero .lead,
.contact-hero .lead,
.about-hero .subtitle,
.downloads .lead {
    color: var(--ink-strong) !important;
}

.hero .lead,
.technology-hero .lead,
.solutions-hero .lead,
.benefits-hero .lead,
.contact-hero .lead,
.about-hero .subtitle,
.downloads .lead {
    color: var(--ink-soft) !important;
}

.hero-tagline span {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
    box-shadow: var(--shadow-soft-light);
}

.hero-tagline span:before {
    color: var(--brand-green) !important;
}

.next-home {
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 111, 185, 0.12), transparent 34rem),
        radial-gradient(circle at 88% 20%, rgba(0, 155, 159, 0.14), transparent 32rem),
        linear-gradient(180deg, #ffffff, var(--page-bg) 52%, #f5fafb) !important;
    color: var(--ink) !important;
}

.next-home section {
    border-color: var(--line) !important;
}

.next-hero {
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.96), rgba(238, 248, 251, 0.96)),
        radial-gradient(circle at 82% 22%, rgba(0, 155, 159, 0.18), transparent 28rem) !important;
}

.next-hero:before {
    background-image:
        linear-gradient(rgba(0, 111, 185, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 111, 185, 0.05) 1px, transparent 1px) !important;
    opacity: 1 !important;
}

.eyebrow {
    color: var(--brand-teal) !important;
}

.eyebrow:before {
    background: var(--brand-green) !important;
}

.next-hero-copy h1,
.proof-grid h2,
.next-system h2,
.next-applications h2,
.next-comparison h2 {
    color: var(--ink-strong) !important;
    letter-spacing: -0.045em;
}

.next-hero-copy p,
.section-split p {
    color: var(--ink-soft) !important;
}

.next-hero-visual {
    background:
        linear-gradient(145deg, #ffffff, #eef6f8) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-clean) !important;
}

.next-hero-visual:before {
    background: conic-gradient(from 120deg, transparent, rgba(0, 155, 159, 0.18), transparent 44%) !important;
}

.telemetry-card {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-soft-light) !important;
}

.telemetry-card span {
    color: var(--ink-muted) !important;
}

.telemetry-card strong,
.proof-stat strong,
.comparison-grid strong,
.challenge-card h3,
.stat-card h3,
.stats-section .number,
.performance-table .highlight,
.comparison-table .highlight,
.blue-heading,
.member-title {
    color: var(--brand-teal) !important;
}

.proof-stat,
.system-grid article,
.comparison-grid div,
.benefit-card,
.challenge-card,
.team-member,
.team-member-detailed,
.value-card,
.component-card,
.stack-card,
.validation-card,
.ip-card,
.case-study-card,
.testimonial-card,
.contact-card,
.contact-form,
.contact-form-container,
.contact-info,
.timeline-content,
.stat-card,
.newsletter-container,
.faq .card,
.company-logo,
.partner-logo,
.media-logo {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-soft-light) !important;
    color: var(--ink) !important;
    backdrop-filter: none !important;
}

.proof-stat span,
.comparison-grid span {
    color: var(--ink-soft) !important;
}

.system-grid article span {
    color: var(--brand-blue) !important;
}

.application-panel {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-soft-light) !important;
}

.application-panel:before {
    background: linear-gradient(180deg, transparent 42%, rgba(7, 29, 38, 0.88)) !important;
}

.application-panel img {
    filter: saturate(0.96) contrast(1.02) !important;
}

.application-panel span {
    color: #ffffff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.tech-features li,
.solution-features li,
.impact-list li,
.member-achievements li {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: var(--ink-soft) !important;
}

.tech-features li:before,
.solution-features li:before,
.impact-list li:before,
.member-achievements li:before {
    color: var(--brand-green) !important;
}

.performance-table,
.comparison-table {
    background: #ffffff !important;
    border-color: var(--line) !important;
    box-shadow: var(--shadow-soft-light) !important;
}

.performance-table thead,
.comparison-table thead {
    background: #e9f4f8 !important;
    color: var(--ink-strong) !important;
}

.performance-table th,
.performance-table td,
.comparison-table th,
.comparison-table td {
    border-color: var(--line) !important;
    color: var(--ink) !important;
}

.media-logo img,
.partner-logo img,
.company-logo img {
    filter: grayscale(100%) !important;
}

.media-logo:hover img,
.partner-logo:hover img,
.company-logo:hover img {
    filter: none !important;
}

.form-control {
    background: #ffffff !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
}

.form-control::placeholder {
    color: var(--ink-muted) !important;
}

label,
.form-check-label,
.faq .card-body {
    color: var(--ink-soft) !important;
}

.faq .card-header {
    background: #ffffff !important;
    border-color: var(--line) !important;
}

.faq .btn-link {
    color: var(--ink-strong) !important;
}

.cta {
    background:
        radial-gradient(circle at 18% 20%, rgba(0, 155, 159, 0.13), transparent 22rem),
        linear-gradient(135deg, #ffffff, #eaf7f8) !important;
    border-color: var(--line) !important;
}

.cta p,
.cta-stat p {
    color: var(--ink-soft) !important;
}

.cta-stat {
    background: #ffffff !important;
    border-color: var(--line) !important;
}

.footer {
    background: #ffffff !important;
    border-top: 1px solid var(--line) !important;
    box-shadow: 0 -16px 40px rgba(18, 45, 60, 0.05);
}

.footer h5,
.footer-logo p {
    color: var(--ink-strong) !important;
}

.footer p,
.footer-links a,
.footer-contact a,
.footer-bottom p {
    color: var(--ink-soft) !important;
}

.footer h5:after {
    background: var(--brand-teal) !important;
}

.footer-links a:hover,
.footer-contact a:hover,
.footer-contact i {
    color: var(--brand-teal) !important;
}

.footer-bottom {
    border-top-color: var(--line) !important;
}

.social-icon {
    align-items: center !important;
    background: #eef8fb !important;
    border: 1px solid var(--line) !important;
    color: var(--brand-blue) !important;
    display: inline-flex !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.social-icon:hover {
    background: var(--brand-teal) !important;
    color: #ffffff !important;
}

.footer .social-icons {
    align-items: center !important;
    display: flex !important;
    gap: 18px !important;
    justify-content: center !important;
    margin-top: 28px !important;
    width: 100% !important;
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        background: #ffffff !important;
        border-color: var(--line) !important;
        box-shadow: var(--shadow-soft-light);
    }
}

/* Desktop review refinements: larger type, tighter rhythm, OEM-grade polish. */
body {
    font-size: 17px !important;
    line-height: 1.68 !important;
}

.container,
.navbar .container {
    max-width: 1220px !important;
}

section {
    padding: 96px 0 !important;
}

section h2 {
    font-size: clamp(2.5rem, 3.5vw, 3rem) !important;
    line-height: 1.08 !important;
    margin-bottom: 22px !important;
}

section h3 {
    font-size: 1.28rem !important;
    line-height: 1.25 !important;
}

.section-intro,
.lead,
p,
li {
    font-size: 1rem !important;
}

.navbar {
    min-height: 72px !important;
    padding: 10px 0 !important;
}

.navbar-brand {
    min-height: 52px !important;
    padding: 8px 18px !important;
}

.navbar-brand img {
    max-height: 42px !important;
}

.navbar-light .navbar-nav .nav-link {
    font-size: 0.9rem !important;
    letter-spacing: 0.02em !important;
    margin-left: 8px !important;
    padding: 11px 12px !important;
    text-transform: none !important;
}

.btn {
    align-items: center;
    display: inline-flex;
    font-size: 0.92rem !important;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px !important;
    text-transform: none !important;
}

.hero {
    min-height: auto !important;
    padding: 145px 0 92px !important;
}

.hero .row {
    min-height: 440px !important;
}

.hero h1 {
    font-size: clamp(4rem, 5.4vw, 4.6rem) !important;
    letter-spacing: -0.025em !important;
    line-height: 0.92 !important;
    margin-bottom: 24px !important;
    max-width: 700px !important;
}

.hero .lead {
    font-size: 1.18rem !important;
    line-height: 1.55 !important;
    max-width: 630px !important;
}

.hero-tagline {
    gap: 12px !important;
    margin: 28px 0 30px !important;
}

.hero-tagline span {
    border-radius: 10px !important;
    font-size: 0.92rem !important;
    letter-spacing: 0 !important;
    padding: 9px 13px !important;
    text-transform: none !important;
}

.hero .text-center {
    text-align: left !important;
}

.animated-image:before {
    display: none !important;
}

.hero-image {
    background: transparent !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 22px 54px rgba(18, 45, 60, 0.18) !important;
    max-height: 390px;
    object-fit: contain;
    padding: 0 !important;
    transform: none !important;
}

.benefits,
.technology,
.market-challenge,
.performance,
.media-coverage,
.partners,
.team,
.cta {
    padding-top: 92px !important;
    padding-bottom: 92px !important;
}

.benefits .row,
.market-challenge .row,
.team .row {
    row-gap: 24px;
}

.benefit-card,
.challenge-card,
.team-member,
.team-member-detailed,
.value-card,
.component-card,
.stack-card,
.validation-card,
.ip-card,
.case-study-card,
.testimonial-card,
.contact-card,
.stat-card,
.cta-stat {
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(18, 45, 60, 0.06) !important;
    padding: 28px !important;
}

.benefit-card:hover,
.challenge-card:hover,
.team-member:hover,
.team-member-detailed:hover,
.value-card:hover,
.component-card:hover,
.stack-card:hover,
.validation-card:hover,
.ip-card:hover,
.case-study-card:hover,
.testimonial-card:hover,
.contact-card:hover,
.stat-card:hover {
    box-shadow: 0 14px 34px rgba(18, 45, 60, 0.1) !important;
    transform: translateY(-3px) !important;
}

.benefit-card .icon,
.value-card .icon,
.stack-card .icon,
.contact-card .icon,
.mission-icon,
.icon-large,
.contact-method .icon {
    border-radius: 12px !important;
    font-size: 1.8rem !important;
    height: 64px !important;
    margin-bottom: 22px !important;
    width: 64px !important;
}

.benefit-card p,
.challenge-card p,
.challenge-card .note,
.team-member p,
.team-member li,
.team-member-detailed p,
.value-card p,
.component-card p,
.stack-card p,
.validation-card p,
.ip-card p,
.case-study-card p,
.testimonial-card p,
.contact-card p,
.stat-card p {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
}

.technology .row,
.technology-overview .row,
.solutions-overview .row {
    align-items: center !important;
}

.tech-image,
.solutions-image,
.solution-image,
.impact-image,
.supply-chain-image,
.cost-image,
.performance-image,
.component-image {
    border-radius: 14px !important;
    box-shadow: 0 18px 42px rgba(18, 45, 60, 0.12) !important;
}

.tech-image img,
.solutions-image img,
.solution-image img,
.impact-image img,
.supply-chain-image img,
.cost-image img,
.performance-image img,
.component-image img {
    min-height: 360px !important;
}

.tech-features,
.solution-features,
.impact-list,
.member-achievements {
    gap: 8px !important;
    margin: 22px 0 28px !important;
}

.tech-features li,
.solution-features li,
.impact-list li {
    border-radius: 10px !important;
    font-size: 0.96rem !important;
    padding: 9px 14px 9px 38px !important;
}

.challenge-card h3 {
    font-size: clamp(2.6rem, 4vw, 3.5rem) !important;
    letter-spacing: -0.04em !important;
    margin-bottom: 14px !important;
}

.performance-table,
.comparison-table {
    font-size: 0.95rem !important;
}

.performance-table th,
.performance-table td,
.comparison-table th,
.comparison-table td {
    padding: 18px 20px !important;
}

.performance-table th:nth-child(2),
.performance-table td:nth-child(2),
.comparison-table th:nth-child(2),
.comparison-table td:nth-child(2) {
    background: #eef9f8 !important;
    color: var(--brand-teal) !important;
    font-weight: 800 !important;
}

.performance-note {
    font-size: 0.94rem !important;
    line-height: 1.6 !important;
    max-width: 940px !important;
}

.media-coverage,
.partners {
    padding-top: 82px !important;
    padding-bottom: 82px !important;
}

.media-coverage .section-intro,
.partners .section-intro {
    margin-bottom: 26px !important;
}

.media-logo,
.partner-logo,
.company-logo {
    border-radius: 10px !important;
    height: 128px !important;
    margin: 10px !important;
    padding: 22px !important;
}

.media-logo img,
.partner-logo img,
.company-logo img {
    max-height: 86px !important;
    max-width: 92% !important;
    opacity: 0.82 !important;
}

.media-logo:hover img,
.partner-logo:hover img,
.company-logo:hover img {
    opacity: 1 !important;
}

.team {
    padding-top: 88px !important;
}

.stats-section {
    gap: 24px !important;
    justify-content: flex-start !important;
    margin: 8px 0 36px !important;
    padding: 0 !important;
}

.stats-section .stat-card {
    max-width: 260px !important;
    padding: 24px !important;
}

.stats-section .number {
    font-size: 2.8rem !important;
}

.team-member {
    padding: 0 !important;
    overflow: hidden !important;
}

.team-member .member-image {
    align-items: flex-end !important;
    background:
        radial-gradient(circle at 50% 12%, rgba(0, 155, 159, 0.12), transparent 18rem),
        linear-gradient(180deg, #f4fbfc, #eaf5f8) !important;
    border-bottom: 1px solid var(--line) !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 380px !important;
    padding: 0 !important;
}

.team-member .member-image img {
    aspect-ratio: auto !important;
    height: 380px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    width: 100% !important;
}

.team-member h3 {
    font-size: 1.12rem !important;
    margin: 18px 0 6px !important;
    padding: 0 22px !important;
}

.member-title {
    font-size: 0.96rem !important;
    padding: 0 22px !important;
}

.member-achievements {
    display: block !important;
    margin: 14px 0 0 !important;
    padding: 0 22px 24px !important;
}

.member-achievements li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ink-soft) !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
    margin-bottom: 8px !important;
    padding: 0 0 0 18px !important;
}

.member-achievements li:before {
    left: 0 !important;
}

.team .row > [class*="col-"] {
    display: flex;
}

.team-member {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
}

.company-logos {
    margin-top: 36px !important;
}

.company-logos h3 {
    font-size: 1rem !important;
    margin-bottom: 18px !important;
}

.cta h2 {
    font-size: clamp(2.2rem, 3vw, 2.8rem) !important;
}

.cta-stat {
    min-height: 150px;
}

.footer {
    padding: 58px 0 18px !important;
}

.footer h5 {
    font-size: 0.98rem !important;
}

.footer p,
.footer a,
.footer li {
    font-size: 0.94rem !important;
    line-height: 1.6 !important;
}

.footer-bottom {
    margin-top: 42px !important;
}

@media (max-width: 991.98px) {
    body {
        font-size: 16px !important;
    }

    section {
        padding: 72px 0 !important;
    }

    .hero {
        padding: 128px 0 74px !important;
    }

    .hero h1 {
        font-size: clamp(3rem, 12vw, 4rem) !important;
    }

    .hero .text-center {
        text-align: center !important;
    }

    .hero-tagline {
        justify-content: center !important;
    }
}
