:root {
    --bg: #f7fbff;
    --bg-soft: #f2f7fd;
    --bg-accent: #eaf2fb;
    --card: rgba(255,255,255,.96);
    --card-border: rgba(17, 73, 145, .10);
    --text: #122540;
    --muted: #617591;
    --primary: #0d2f69;
    --primary-dark: #081a38;
    --accent: #ddeaf9;
    --shadow: 0 24px 60px rgba(16, 44, 86, .08);
    --shadow-soft: 0 12px 28px rgba(16, 44, 86, .07);
    --radius: 1.6rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top right, rgba(13,47,105,.08), transparent 22%),
        radial-gradient(circle at top left, rgba(13,47,105,.05), transparent 18%),
        linear-gradient(180deg, #fcfeff 0%, #f6faff 100%);
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

a:hover { color: var(--primary-dark); }
img { max-width: 100%; display: block; }

.site-header {
    backdrop-filter: blur(16px);
    background: rgba(255,255,255,.84);
    border-bottom: 1px solid rgba(17,73,145,.08);
    box-shadow: 0 10px 30px rgba(18,43,85,.04);
    transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.site-header.is-scrolled {
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 34px rgba(18,43,85,.08);
}
.ai-navbar {
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: padding .3s ease;
}
.site-header.is-scrolled .ai-navbar {
    padding-top: .6rem;
    padding-bottom: .6rem;
}
.navbar { --bs-navbar-toggler-border-color: rgba(17,73,145,.16); }
.navbar-toggler {
    border-radius: 1rem;
    padding: .65rem .8rem;
}
.navbar-toggler:focus { box-shadow: 0 0 0 .22rem rgba(13,47,105,.12); }
.navbar-toggler-icon { filter: invert(14%) sepia(21%) saturate(2000%) hue-rotate(182deg) brightness(88%) contrast(88%); }
.navbar-brand {
    margin-right: 1rem;
    display: inline-flex;
    align-items: center;
}
.brand-mark {
    width: 220px;
    min-width: 220px;
    height: auto;
    transition: width .3s ease, min-width .3s ease, transform .3s ease;
}
.site-header.is-scrolled .brand-mark {
    width: 132px;
    min-width: 132px;
}
.navbar .nav-link {
    color: var(--text) !important;
    font-weight: 600;
    padding-left: .9rem !important;
    padding-right: .9rem !important;
}
.navbar .nav-link.active,
.navbar .nav-link:hover { color: var(--primary) !important; }
.navbar-collapse {
    justify-content: flex-end;
}

.py-lg-6 { padding-top: 6rem; padding-bottom: 6rem; }
.hero-section,
.page-hero {
    position: relative;
    overflow: hidden;
}
.hero-section::before,
.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 85% 12%, rgba(13,47,105,.10), transparent 24%);
    pointer-events: none;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .58rem .95rem;
    border: 1px solid rgba(13,47,105,.14);
    background: rgba(13,47,105,.06);
    border-radius: 999px;
    text-transform: uppercase;
    font-size: .72rem;
    letter-spacing: .12em;
    color: var(--primary-dark);
    font-weight: 800;
}
.text-gradient { color: var(--primary); }
.text-secondary { color: var(--muted) !important; }
.display-3,
.display-4,
.display-5,
.section-title {
    color: var(--text);
    letter-spacing: -.03em;
}
.section-title {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
}
.lead {
    color: var(--muted);
    font-size: 1.1rem;
}

.card-glow,
.feature-card,
.product-card,
.cta-panel,
.contact-card,
.form-card,
.mini-card,
.metric-card,
.trust-item {
    background: var(--card);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.card-glow {
    position: relative;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,255,.98));
}
.card-glow::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
    pointer-events: none;
}

.hero-stack {
    position: relative;
    min-height: 100%;
}
.hero-main-image {
    width: 100%;
    min-height: 450px;
    object-fit: cover;
}
.floating-card {
    position: absolute;
    z-index: 2;
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    width: min(280px, 72%);
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(17,73,145,.10);
    border-radius: 1.25rem;
    box-shadow: var(--shadow-soft);
}
.floating-card strong {
    display: block;
    color: var(--text);
    margin-bottom: .2rem;
}
.floating-card span { color: var(--muted); font-size: .92rem; line-height: 1.5; }
.floating-card-top { top: 1.5rem; right: -1rem; }
.floating-card-bottom { bottom: 1.5rem; left: -1rem; }
.floating-icon,
.product-icon,
.mini-icon {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    background: rgba(13,47,105,.08);
    border: 1px solid rgba(13,47,105,.12);
    flex: 0 0 auto;
}
.product-icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
}
.mini-icon {
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: .75rem;
}
.svg-icon {
    width: 1.15rem;
    height: 1.15rem;
    stroke-width: 1.9;
}
.icon-badge {
    width: 3.3rem;
    height: 3.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: rgba(13,47,105,.10);
    color: var(--primary);
    border: 1px solid rgba(13,47,105,.12);
}
.icon-badge .svg-icon,
.product-icon .svg-icon,
.floating-icon .svg-icon,
.mini-icon .svg-icon,
.metric-card .svg-icon,
.contact-point .svg-icon,
.footer-facts .svg-icon,
.meta-pill .svg-icon,
.trust-item .svg-icon {
    width: 1.3rem;
    height: 1.3rem;
}

.hero-metrics .metric-card {
    padding: 1rem;
    box-shadow: var(--shadow-soft);
    display: flex;
    flex-direction: column;
    gap: .45rem;
}
.metric-card strong {
    display: block;
    font-size: 1.04rem;
    color: var(--text);
}
.metric-card span {
    color: var(--muted);
    font-size: .92rem;
}

.trust-strip { margin-top: 2rem; }
.trust-item {
    height: 100%;
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.1rem;
    box-shadow: var(--shadow-soft);
}
.trust-item span {
    color: var(--text);
    font-weight: 600;
    line-height: 1.5;
}

.bg-dark-soft {
    background: linear-gradient(180deg, rgba(232,239,248,.78), rgba(246,249,253,.98));
    border-top: 1px solid rgba(17,73,145,.05);
    border-bottom: 1px solid rgba(17,73,145,.05);
}
.bg-white-soft {
    background: rgba(255,255,255,.72);
}
.feature-card,
.product-card,
.contact-card,
.form-card,
.cta-panel {
    padding: 2rem;
}
.feature-card h3,
.product-card h3,
.contact-card h3,
.cta-panel h3 {
    font-size: 1.3rem;
    margin: 1rem 0 .85rem;
    color: var(--text);
}
.feature-card p,
.product-card p,
.accordion-body,
.contact-card li,
.contact-card p,
.form-card p,
.cta-panel p,
.mini-card p { color: var(--muted); }
.product-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}
.product-card ul {
    margin: 1rem 0 0;
    padding-left: 1.1rem;
    color: #27456a;
}
.product-card li + li { margin-top: .4rem; }
.mini-card {
    padding: 1.15rem 1.1rem;
    border-radius: 1.1rem;
    box-shadow: var(--shadow-soft);
    color: var(--muted);
}
.mini-card strong {
    display: block;
    color: var(--text);
    margin-bottom: .35rem;
}
.highlight-card strong { display: block; color: var(--text); margin: .2rem 0 .45rem; }
.solution-detail + .solution-detail {
    padding-top: 4rem;
    border-top: 1px solid rgba(17,73,145,.08);
}

.accordion-dark .accordion-item { background: transparent; border: 0; margin-bottom: 1rem; }
.accordion-dark .accordion-button {
    background: rgba(255,255,255,.92);
    color: var(--text);
    border-radius: 1rem !important;
    box-shadow: var(--shadow-soft);
    font-weight: 600;
}
.accordion-dark .accordion-button:not(.collapsed) {
    background: rgba(13,47,105,.10);
    color: var(--primary-dark);
}
.accordion-dark .accordion-button::after { filter: none; }
.accordion-dark .accordion-body {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(17,73,145,.08);
    border-top: 0;
    border-radius: 0 0 1rem 1rem;
}

.btn {
    border-radius: 1rem;
    padding: .88rem 1.35rem;
    font-weight: 700;
}
.btn-primary {
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 12px 26px rgba(13,47,105,.18);
}
.btn-primary:hover { background: #0f57bf; border-color: #0f57bf; }
.btn-outline-light {
    border-color: rgba(17,73,145,.14);
    color: var(--text);
    background: #fff;
}
.btn-outline-light:hover {
    background: #f2f7fd;
    border-color: rgba(17,73,145,.16);
    color: var(--text);
}
.btn-outline-primary {
    color: var(--primary-dark);
    border-color: rgba(13,47,105,.20);
    background: rgba(255,255,255,.72);
}
.btn-outline-primary:hover {
    background: rgba(13,47,105,.08);
    border-color: rgba(13,47,105,.24);
    color: var(--primary-dark);
}
.shadow-soft { box-shadow: var(--shadow); }

.contact-points {
    display: grid;
    gap: .9rem;
}
.contact-point {
    display: flex;
    align-items: center;
    gap: .85rem;
    color: var(--text);
    padding: .9rem 1rem;
    border-radius: 1rem;
    background: rgba(247,251,255,.9);
    border: 1px solid rgba(17,73,145,.08);
}
.contact-point a,
.contact-point span { color: inherit; }
.form-intro { padding-bottom: .35rem; border-bottom: 1px solid rgba(17,73,145,.08); }
.form-control,
.form-select {
    background: #fff;
    border: 1px solid rgba(17,73,145,.12);
    color: var(--text);
    border-radius: 1rem;
    padding: .9rem 1rem;
}
.form-control:focus,
.form-select:focus {
    background: #fff;
    color: var(--text);
    border-color: rgba(13,47,105,.36);
    box-shadow: 0 0 0 .25rem rgba(13,47,105,.12);
}
.form-label { color: var(--text); font-weight: 600; }
.form-card .alert { border-radius: 1rem; }

.site-footer {
    background: rgba(255,255,255,.9);
    border-top: 1px solid rgba(17,73,145,.08);
    line-height: 1.65;
}
.site-footer h6 {
    color: var(--text);
    margin-bottom: 1rem;
    line-height: 1.65;
}
.footer-logo {
    width: 200px;
    height: auto;
}
.footer-copy,
.footer-block,
.footer-bottom p,
.site-footer .text-secondary,
.site-footer .small,
.site-footer p,
.site-footer a,
.site-footer span {
    line-height: 1.65;
}
.footer-block {
    margin: 0;
    color: var(--muted);
}
.footer-block a {
    color: var(--muted);
    display: inline-flex;
    align-items: flex-start;
    gap: .65rem;
    margin: 0 0 .55rem 0;
    text-decoration: none;
}
.footer-block a:last-of-type {
    margin-bottom: 0;
}
.footer-block a:hover {
    color: var(--primary-dark);
}
.footer-block .svg-icon,
.footer-copy .svg-icon,
.footer-bottom .svg-icon {
    flex: 0 0 auto;
    transform: translateY(.08rem);
}
.footer-meta { margin-top: 1rem; }
.meta-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .8rem;
    border-radius: 999px;
    background: rgba(13,47,105,.06);
    color: var(--primary-dark);
    border: 1px solid rgba(13,47,105,.10);
    font-size: .92rem;
    font-weight: 600;
}
.footer-divider { border-color: rgba(17,73,145,.08); }

.reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s ease, transform .6s ease;
}
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1199.98px) {
    .navbar-collapse {
        margin-top: 1rem;
        padding: 1rem;
        border-radius: 1.25rem;
        background: rgba(255,255,255,.96);
        border: 1px solid rgba(17,73,145,.08);
        box-shadow: var(--shadow-soft);
    }
}

@media (max-width: 991.98px) {
    .brand-mark {
        width: 200px;
        min-width: 200px;
    }
    .site-header.is-scrolled .brand-mark {
        width: 120px;
        min-width: 120px;
    }
    .py-lg-6 { padding-top: 4.75rem; padding-bottom: 4.75rem; }
    .hero-main-image { min-height: 320px; }
    .floating-card {
        position: static;
        width: 100%;
        margin-top: 1rem;
    }
    .footer-logo { width: 180px; }
}

@media (max-width: 767.98px) {
    .display-3 { font-size: calc(1.7rem + 1.8vw); }
    .ai-navbar {
        padding-top: .85rem;
        padding-bottom: .85rem;
    }
    .brand-mark {
        width: 200px;
        min-width: 200px;
    }
    .site-header.is-scrolled .brand-mark {
        width: 102px;
        min-width: 102px;
    }
    .feature-card,
    .product-card,
    .contact-card,
    .form-card,
    .cta-panel { padding: 1.4rem; }
    .trust-item,
    .contact-point { padding: .9rem; }
}

/* Premium pass v3 */
.hero-section,
.page-hero {
    isolation: isolate;
}
.hero-section::before,
.page-hero::before {
    background:
        radial-gradient(circle at 88% 14%, rgba(13,47,105,.14), transparent 18%),
        radial-gradient(circle at 84% 22%, rgba(13,47,105,.10), transparent 26%),
        radial-gradient(circle at 16% 18%, rgba(13,47,105,.06), transparent 24%);
}
.hero-section::after,
.page-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='640' viewBox='0 0 1600 640'%3E%3Cg fill='none' stroke='%231263dc' stroke-width='1.5' stroke-opacity='0.10'%3E%3Cpath d='M1040 86h220l90 90v220'/%3E%3Cpath d='M980 136h160l56 56v112'/%3E%3Cpath d='M1130 328h126l42-42v-62'/%3E%3Cpath d='M260 496h220l60-60h160'/%3E%3Cpath d='M112 442h120l44-44h88'/%3E%3C/g%3E%3Cg fill='%231263dc' fill-opacity='0.16'%3E%3Ccircle cx='1040' cy='86' r='7'/%3E%3Ccircle cx='1260' cy='176' r='7'/%3E%3Ccircle cx='1350' cy='396' r='9'/%3E%3Ccircle cx='980' cy='136' r='6'/%3E%3Ccircle cx='1196' cy='248' r='6'/%3E%3Ccircle cx='260' cy='496' r='8'/%3E%3Ccircle cx='540' cy='436' r='8'/%3E%3Ccircle cx='112' cy='442' r='6'/%3E%3Ccircle cx='364' cy='398' r='6'/%3E%3C/g%3E%3Cg fill='none' stroke='%230d2f69' stroke-width='1.2' stroke-opacity='0.07'%3E%3Cpath d='M840 120c80 0 80 110 160 110s80-110 160-110'/%3E%3Cpath d='M760 468c64 0 64-82 128-82s64 82 128 82 64-82 128-82'/%3E%3C/g%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
}
.hero-shell {
    position: relative;
}
.hero-shell::before {
    content: '';
    position: absolute;
    right: 0;
    top: 1.5rem;
    width: min(42vw, 540px);
    height: min(42vw, 540px);
    border-radius: 2rem;
    background: linear-gradient(135deg, rgba(255,255,255,.85), rgba(220,234,250,.30));
    border: 1px solid rgba(13,47,105,.08);
    box-shadow: var(--shadow-soft);
    filter: blur(0.2px);
    transform: rotate(6deg);
    z-index: 0;
}
.hero-shell::after {
    content: '';
    position: absolute;
    right: 6%;
    top: 8%;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(13,47,105,.16), rgba(13,47,105,0) 65%);
    z-index: 0;
}

.mini-card.mini-card-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .1rem;
    min-height: 100%;
}
.mini-card.mini-card-stack .mini-icon {
    margin-bottom: .9rem;
}
.mini-card.mini-card-stack strong {
    margin-bottom: .45rem;
}
.mini-card.mini-card-stack p {
    margin-bottom: 0;
    line-height: 1.6;
}

.team-card {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1.5rem;
    padding: 1.6rem;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(17,73,145,.10);
    border-radius: 1.6rem;
    box-shadow: var(--shadow);
    align-items: start;
}
.team-photo {
    width: 100%;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
    border-radius: 1.35rem;
    border: 1px solid rgba(17,73,145,.10);
    background: linear-gradient(180deg, #eef5fe, #ffffff);
}
.team-role {
    display: inline-flex;
    align-items: center;
    padding: .42rem .72rem;
    border-radius: 999px;
    background: rgba(13,47,105,.08);
    color: var(--primary-dark);
    font-weight: 700;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .10em;
}
.team-copy h3 {
    margin: .85rem 0 .65rem;
    color: var(--text);
}
.team-copy p {
    color: var(--muted);
    line-height: 1.7;
}
.team-list {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: grid;
    gap: .72rem;
}
.team-list li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    color: var(--text);
}
.team-list li span {
    color: var(--muted);
    line-height: 1.5;
}

@media (max-width: 991.98px) {
    .hero-shell::before,
    .hero-shell::after {
        display: none;
    }
    .team-card {
        grid-template-columns: 1fr;
    }
    .team-photo {
        max-width: 220px;
    }
}

@media (max-width: 767.98px) {
    .team-card {
        padding: 1.35rem;
    }
}


/* Navy premium motion pass */
.btn, .feature-card, .product-card, .contact-card, .form-card, .cta-panel, .mini-card, .trust-item, .team-card {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.btn:hover { transform: translateY(-2px); }
.feature-card:hover, .product-card:hover, .contact-card:hover, .form-card:hover, .cta-panel:hover, .mini-card:hover, .trust-item:hover, .team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 48px rgba(8,26,56,.12);
    border-color: rgba(13,47,105,.16);
}
.hero-section::after, .page-hero::after {
    animation: heroFlow 18s linear infinite;
}
.hero-shell::before {
    animation: floatPanel 8s ease-in-out infinite;
}
.hero-shell::after {
    animation: pulseGlow 6s ease-in-out infinite;
}
.hero-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}
.hero-particles span {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(13,47,105,.18);
    box-shadow: 0 0 0 6px rgba(13,47,105,.04);
    animation: driftUp linear infinite;
}
@keyframes heroFlow {
    0% { transform: translateX(0); opacity: .75; }
    50% { transform: translateX(-12px); opacity: .95; }
    100% { transform: translateX(0); opacity: .75; }
}
@keyframes floatPanel {
    0%,100% { transform: rotate(6deg) translateY(0); }
    50% { transform: rotate(4deg) translateY(-10px); }
}
@keyframes pulseGlow {
    0%,100% { opacity: .7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.05); }
}
@keyframes driftUp {
    0% { transform: translateY(20px); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateY(-90px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-section::after, .page-hero::after, .hero-shell::before, .hero-shell::after, .hero-particles span { animation: none !important; }
    .btn, .feature-card, .product-card, .contact-card, .form-card, .cta-panel, .mini-card, .trust-item, .team-card { transition: none; }
}


/* v4.4 accents + footer cleanup */
:root {
    --secondary: #1f5a4a;
    --secondary-dark: #153d33;
    --secondary-soft: rgba(31,90,74,.10);
}
.eyebrow {
    border-color: rgba(31,90,74,.18);
    background: rgba(31,90,74,.07);
    color: var(--secondary-dark);
}
.icon-badge,
.product-icon,
.floating-icon,
.mini-icon {
    color: var(--secondary);
    background: var(--secondary-soft);
    border-color: rgba(31,90,74,.14);
}
.meta-pill {
    background: rgba(31,90,74,.07);
    color: var(--secondary-dark);
    border-color: rgba(31,90,74,.16);
}
.btn-outline-primary {
    color: var(--secondary);
    border-color: rgba(31,90,74,.45);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--secondary);
    border-color: var(--secondary);
    color: #fff;
}
.text-gradient {
    color: var(--secondary);
}
.hero-section::after,
.page-hero::after {
    filter: hue-rotate(110deg) saturate(.75);
}
.site-footer h6 {
    margin-bottom: 1rem;
    color: var(--text);
    line-height: 1.5;
}
.footer-copy,
.footer-block,
.footer-bottom p,
.site-footer .text-secondary,
.site-footer .small,
.site-footer p,
.site-footer a,
.site-footer span {
    line-height: 1.75 !important;
}
.footer-block {
    color: var(--muted);
}
.footer-block a {
    display: inline-flex;
    align-items: flex-start;
    gap: 0;
    line-height: 1.75 !important;
}
.footer-logo {
    width: 220px;
    height: auto;
}
.footer-fa {
    width: 1rem;
    min-width: 1rem;
    display: inline-flex;
    justify-content: center;
    color: var(--secondary);
    margin-right: .7rem;
    vertical-align: top;
    transform: translateY(.18rem);
}
.footer-fa-spacer {
    visibility: hidden;
}
.footer-block > span,
.footer-block a > span {
    display: inline-block;
}
.team-photo {
    background: #edf4f8;
}


/* v4.6 font-awesome throughout + stronger green accents + background-only hero art */
:root {
    --secondary: #215e4b;
    --secondary-dark: #153f33;
    --secondary-soft: rgba(33,94,75,.10);
    --secondary-line: rgba(33,94,75,.24);
}

/* Font Awesome icon handling across the whole site */
.svg-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    min-width: 1.15rem;
    height: 1.15rem;
    font-size: 1rem;
    line-height: 1;
}
.icon-badge .svg-icon,
.product-icon .svg-icon,
.floating-icon .svg-icon,
.mini-icon .svg-icon,
.metric-card .svg-icon,
.contact-point .svg-icon,
.footer-facts .svg-icon,
.meta-pill .svg-icon,
.trust-item .svg-icon,
.team-list .svg-icon {
    width: 1.3rem;
    min-width: 1.3rem;
    height: 1.3rem;
    font-size: 1.1rem;
}

/* More green accent usage */
.navbar .nav-link.active,
.navbar .nav-link:hover {
    color: var(--secondary) !important;
}
.navbar .nav-link {
    position: relative;
}
.navbar .nav-link::after {
    content: '';
    position: absolute;
    left: .9rem;
    right: .9rem;
    bottom: .25rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--secondary), rgba(33,94,75,0));
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease;
}
.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
    transform: scaleX(1);
}
.btn-primary {
    background: linear-gradient(135deg, var(--primary) 0%, #173e66 55%, var(--secondary) 100%);
    border: 0;
    box-shadow: 0 12px 30px rgba(33,94,75,.18);
}
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--primary-dark) 0%, #143654 50%, var(--secondary-dark) 100%);
    box-shadow: 0 16px 34px rgba(33,94,75,.24);
}
.btn-outline-light {
    color: var(--primary-dark);
    border-color: rgba(33,94,75,.32);
    background: rgba(255,255,255,.82);
}
.btn-outline-light:hover,
.btn-outline-light:focus {
    background: rgba(33,94,75,.10);
    color: var(--secondary-dark);
    border-color: rgba(33,94,75,.45);
}
.text-gradient,
.footer-fa,
.team-role,
.eyebrow,
.contact-point .svg-icon,
.metric-card .svg-icon,
.trust-item .svg-icon,
.team-list .svg-icon {
    color: var(--secondary);
}
.eyebrow {
    border-color: rgba(33,94,75,.18);
    background: rgba(33,94,75,.08);
}
.icon-badge,
.product-icon,
.floating-icon,
.mini-icon {
    color: var(--secondary);
    background: rgba(33,94,75,.10);
    border-color: rgba(33,94,75,.16);
}
.meta-pill,
.team-role {
    background: rgba(33,94,75,.08);
    border: 1px solid rgba(33,94,75,.14);
}
.metric-card,
.trust-item,
.contact-point,
.team-card {
    position: relative;
}
.metric-card::before,
.trust-item::before,
.contact-point::before,
.team-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1rem;
    bottom: 1rem;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(33,94,75,.45), rgba(33,94,75,0));
}
.team-card::before { top: 1.2rem; bottom: 1.2rem; }
.product-card,
.feature-card,
.mini-card,
.cta-panel,
.contact-card,
.form-card {
    border-color: rgba(17,73,145,.10);
}
.feature-card:hover,
.product-card:hover,
.contact-card:hover,
.form-card:hover,
.cta-panel:hover,
.mini-card:hover,
.trust-item:hover,
.team-card:hover {
    border-color: rgba(33,94,75,.24);
}

/* Hero art as an actual background behind content */
.hero-section,
.page-hero {
    background: linear-gradient(180deg, #f7fbfc 0%, #eef4f2 100%);
}
.hero-section::before,
.page-hero::before,
.hero-section::after,
.page-hero::after,
.hero-particles {
    z-index: 0;
}
.hero-section > .container,
.page-hero > .container {
    position: relative;
    z-index: 2;
}
.hero-shell::before,
.hero-shell::after {
    display: none !important;
}
.hero-section::before,
.page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 86% 18%, rgba(13,47,105,.18), transparent 22%),
        radial-gradient(circle at 18% 22%, rgba(33,94,75,.18), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0));
    pointer-events: none;
}
.hero-section::after,
.page-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 1;
    background-image:
      linear-gradient(rgba(13,47,105,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(13,47,105,.07) 1px, transparent 1px),
      radial-gradient(circle at 12% 72%, rgba(33,94,75,.18) 0 6px, transparent 7px),
      radial-gradient(circle at 80% 24%, rgba(13,47,105,.16) 0 7px, transparent 8px),
      radial-gradient(circle at 72% 68%, rgba(33,94,75,.14) 0 5px, transparent 6px),
      linear-gradient(125deg, transparent 0 44%, rgba(13,47,105,.08) 44% 44.5%, transparent 44.5% 100%),
      linear-gradient(145deg, transparent 0 62%, rgba(33,94,75,.08) 62% 62.5%, transparent 62.5% 100%);
    background-size: 140px 140px, 140px 140px, auto, auto, auto, 100% 100%, 100% 100%;
    background-position: center center, center center, 0 0, 0 0, 0 0, 0 0, 0 0;
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.72));
    mask-image: linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.72));
}
.hero-particles span {
    width: 8px;
    height: 8px;
    background: rgba(33,94,75,.28);
    box-shadow: 0 0 0 10px rgba(33,94,75,.06);
}
.hero-section .card-glow,
.page-hero .contact-card,
.page-hero .mini-card,
.hero-section .metric-card,
.hero-section .trust-item,
.hero-section .floating-card {
    position: relative;
    z-index: 2;
}

/* Keep footer Font Awesome alignment */
.footer-block a {
    display: inline-flex;
    align-items: flex-start;
    gap: 0;
}
.footer-fa {
    width: 1rem;
    min-width: 1rem;
    margin-right: .7rem;
}


/* v4.6.1 layout fixes */
html, body {
    overflow-x: hidden;
}
body, .site-header, .hero-section, .page-hero, .site-footer {
    max-width: 100%;
}
.hero-section,
.page-hero,
.site-header,
.site-footer {
    overflow-x: clip;
}
.hero-stack {
    padding: .35rem;
}
.hero-main-image {
    min-height: 500px;
}
.floating-card {
    width: min(248px, calc(100% - 2rem));
}
.floating-card-top {
    top: 1rem;
    right: 1rem;
}
.floating-card-bottom {
    bottom: 1rem;
    left: 1rem;
}
@media (max-width: 1399.98px) {
    .floating-card {
        width: min(228px, calc(100% - 2rem));
        padding: .9rem 1rem;
    }
    .floating-card span {
        font-size: .88rem;
    }
}
@media (max-width: 1199.98px) {
    .hero-main-image {
        min-height: 420px;
    }
    .floating-card {
        width: min(210px, calc(100% - 2rem));
    }
}
@media (max-width: 991.98px) {
    .hero-main-image {
        min-height: 320px;
    }
}


.lang-switcher{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem;border:1px solid rgba(17,73,145,.10);border-radius:999px;background:rgba(255,255,255,.78)}
.lang-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;height:2.1rem;padding:0 .75rem;border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lang-link.active,.lang-link:hover{background:rgba(33,94,75,.10);color:var(--secondary-dark)}
html,body{overflow-x:hidden}


/* hero card overlap fix */
.floating-card{width:min(220px, calc(100% - 2rem));}
.floating-card-top{top:1rem;right:1rem;}
.floating-card-bottom{left:auto;right:1rem;bottom:1rem;}
.hero-main-image{min-height:560px;}
@media (max-width: 1399.98px){
  .floating-card{width:min(205px, calc(100% - 2rem));}
  .hero-main-image{min-height:500px;}
}
@media (max-width: 1199.98px){
  .floating-card{width:min(190px, calc(100% - 2rem));}
  .hero-main-image{min-height:460px;}
}
@media (max-width: 991.98px){
  .floating-card-bottom{left:1rem;right:auto;bottom:1rem;}
  .hero-main-image{min-height:320px;}
}

/* v2.2 hero floating cards side by side */
@media (min-width: 992px) {
  .hero-stack {
    position: relative;
    overflow: hidden;
  }
  .hero-stack .floating-card {
    width: calc(50% - 1.4rem);
    max-width: none;
    min-height: 108px;
  }
  .hero-stack .floating-card-top {
    top: 1rem;
    left: 1rem;
    right: auto;
  }
  .hero-stack .floating-card-bottom {
    top: 1rem;
    right: 1rem;
    left: auto;
    bottom: auto;
  }
}


/* v2.3 real side-by-side hero cards */
.hero-stack {
  position: relative;
}
.hero-card-row {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  z-index: 3;
}
.hero-card-row .floating-card {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 104px;
  margin: 0;
}
.hero-card-row .floating-card span {
  display: block;
}
.hero-main-image {
  min-height: 520px !important;
}
@media (max-width: 1199.98px) {
  .hero-card-row {
    gap: .85rem;
  }
  .hero-card-row .floating-card {
    min-height: 112px;
    padding: .9rem 1rem;
  }
  .hero-main-image {
    min-height: 500px !important;
  }
}
@media (max-width: 991.98px) {
  .hero-card-row {
    position: static;
    grid-template-columns: 1fr;
    margin-top: 1rem;
    left: auto;
    right: auto;
    bottom: auto;
  }
  .hero-card-row .floating-card {
    min-height: 0;
  }
  .hero-main-image {
    min-height: 320px !important;
  }
}
