:root {
    --csw-navy: #0F2742;
    --csw-blue: #1D75BC;
    --csw-blue-dark: #0A4D8C;
    --csw-gold: #F5B942;
    --csw-light: #F6F8FB;
    --csw-text: #1E293B;
}

body {
    color: var(--csw-text);
    background: #fff;
}

.text-navy { color: var(--csw-navy) !important; }
.text-gold { color: var(--csw-gold) !important; }

.btn-primary {
    --bs-btn-bg: var(--csw-blue);
    --bs-btn-border-color: var(--csw-blue);
    --bs-btn-hover-bg: #155f99;
    --bs-btn-hover-border-color: #155f99;
}

.csw-navbar { backdrop-filter: blur(12px); }
.csw-logo { width: min(300px, 70vw); max-width: 300px; max-height: 72px; height: auto; object-fit: contain; }
.csw-logo-footer { width: min(300px, 80vw); max-width: 300px; max-height: 92px; height: auto; object-fit: contain; }

.csw-hero {
    background:
        radial-gradient(circle at 15% 20%, rgba(29,117,188,.13), transparent 30%),
        radial-gradient(circle at 85% 10%, rgba(245,185,66,.18), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.csw-badge {
    background: rgba(29,117,188,.1);
    color: var(--csw-blue);
    border: 1px solid rgba(29,117,188,.15);
}

.csw-quote-card {
    background: #fff;
    padding: .8rem 1rem;
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(15,39,66,.08);
    font-weight: 600;
}

.csw-hero-panel {
    background: #fff;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(15,39,66,.08);
}

.csw-browser-bar {
    background: var(--csw-navy);
    padding: 1rem;
    display: flex;
    gap: .5rem;
}
.csw-browser-bar span {
    width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,.55);
}
.csw-web-preview-header {
    height: 110px;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--csw-blue), var(--csw-navy));
}
.csw-skeleton {
    min-height: 150px;
    border-radius: 18px;
    background: linear-gradient(135deg, #edf2f7, #f8fafc);
}
.csw-skeleton.small { min-height: 65px; }
.csw-preview-card {
    border: 1px solid rgba(15,39,66,.08);
    border-radius: 18px;
    padding: 1rem;
    background: #fff;
}

.csw-card {
    border-radius: 24px;
    transition: transform .2s ease, box-shadow .2s ease;
}
.csw-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(15,39,66,.12) !important;
}
.csw-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(29,117,188,.1);
    color: var(--csw-blue);
    font-size: 1.4rem;
}
.csw-step {
    border-radius: 20px;
    padding: 1.2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.csw-step span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--csw-gold);
    color: var(--csw-navy);
    font-weight: 800;
}

.csw-page-title {
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}
.demo-card img {
    min-height: 190px;
    object-fit: cover;
    background: var(--csw-light);
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
}
.csw-cta {
    background: linear-gradient(135deg, var(--csw-navy), var(--csw-blue));
}
.csw-footer {
    background: var(--csw-navy);
    color: #fff;
}
.footer-links a {
    display: inline-block;
    color: rgba(255,255,255,.78);
    text-decoration: none;
    margin-bottom: .5rem;
}
.footer-links a:hover { color: #fff; }
.csw-honeypot {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.csw-thankyou { max-width: 700px; }

@media (max-width: 575.98px) {
    .display-4 { font-size: 2.3rem; }
    .display-5 { font-size: 2rem; }
}

.navbar .nav-link.active {
    color: var(--csw-blue) !important;
    font-weight: 700;
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.card-header {
    border-bottom-color: rgba(15,39,66,.08);
}

/* v0.3.1 conversion and pricing polish */
.csw-price {
    color: var(--csw-navy);
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -.03em;
}
.csw-price.small-price { font-size: 1.55rem; }
.csw-plan-highlight {
    border: 1px solid rgba(245,185,66,.55) !important;
    box-shadow: 0 20px 55px rgba(245,185,66,.18) !important;
}
.csw-feature-list li {
    margin-bottom: .65rem;
}
.csw-feature-list i {
    color: var(--csw-blue);
}
.csw-featured-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    border-radius: 999px;
    box-shadow: 0 10px 25px rgba(15,39,66,.18);
}
.csw-demo-conversion {
    background: linear-gradient(135deg, rgba(29,117,188,.08), rgba(245,185,66,.18));
    border: 1px solid rgba(15,39,66,.06);
}
.csw-request-demo-img {
    min-height: 220px;
    object-fit: cover;
    background: var(--csw-light);
}
.csw-pricing-card .btn {
    box-shadow: 0 10px 24px rgba(29,117,188,.14);
}

.csw-pricing-disclaimer { max-width: 980px; }


/* v0.4 trust and admin improvements */
.csw-number-badge {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--csw-gold);
    color: var(--csw-navy);
    font-weight: 900;
    font-size: 1.1rem;
}
.csw-faq .accordion-button {
    color: var(--csw-navy);
    background: #fff;
}
.csw-faq .accordion-button:not(.collapsed) {
    color: var(--csw-blue);
    background: rgba(29,117,188,.06);
    box-shadow: none;
}
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--csw-blue);
}

/* v0.5 visual upgrade / brand energy */
:root {
    --csw-navy: #071B33;
    --csw-blue: #1769B3;
    --csw-blue-2: #0B4D8B;
    --csw-sky: #EAF5FF;
    --csw-gold: #F5B942;
    --csw-orange: #FF8C42;
    --csw-light: #F4F7FB;
    --csw-text: #172033;
    --csw-ink: #071B33;
}

body {
    background: #f8fbff;
}

.btn {
    font-weight: 700;
}
.btn-primary {
    --bs-btn-bg: var(--csw-orange);
    --bs-btn-border-color: var(--csw-orange);
    --bs-btn-color: #111827;
    --bs-btn-hover-bg: #f57922;
    --bs-btn-hover-border-color: #f57922;
    --bs-btn-hover-color: #111827;
    box-shadow: 0 12px 28px rgba(255,140,66,.28);
}
.btn-outline-primary {
    --bs-btn-color: var(--csw-blue-2);
    --bs-btn-border-color: var(--csw-blue);
    --bs-btn-hover-bg: var(--csw-blue);
    --bs-btn-hover-border-color: var(--csw-blue);
    --bs-btn-hover-color: #fff;
}
.btn-outline-dark {
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: rgba(255,255,255,.72);
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-hover-color: var(--csw-navy);
}

.csw-navbar {
    border-top: 5px solid var(--csw-gold);
    box-shadow: 0 14px 40px rgba(7,27,51,.10) !important;
}
.navbar .nav-link {
    font-weight: 700;
}
.navbar .nav-link.active {
    color: var(--csw-orange) !important;
}

.csw-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(245,185,66,.36), transparent 29%),
        radial-gradient(circle at 86% 12%, rgba(255,140,66,.26), transparent 27%),
        linear-gradient(135deg, #071B33 0%, #0B4D8B 52%, #1769B3 100%);
}
.csw-hero::after {
    content: "";
    position: absolute;
    inset: auto -10% -42% 45%;
    height: 420px;
    background: rgba(255,255,255,.10);
    transform: rotate(-12deg);
    border-radius: 60px;
}
.csw-hero .container { position: relative; z-index: 1; }
.csw-hero .text-navy,
.csw-page-title .text-navy,
.csw-section-blue .text-navy {
    color: #fff !important;
}
.csw-hero .text-muted,
.csw-page-title .text-muted,
.csw-section-blue .text-muted {
    color: rgba(255,255,255,.78) !important;
}
.csw-hero .lead { font-size: 1.2rem; }
.csw-hero .csw-badge,
.csw-page-title .csw-badge {
    background: rgba(255,255,255,.15);
    color: #fff;
    border-color: rgba(255,255,255,.24);
}
.csw-quote-card {
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(10px);
}
.csw-hero-panel {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.42);
    box-shadow: 0 30px 80px rgba(0,0,0,.32) !important;
}
.csw-browser-bar {
    background: linear-gradient(90deg, var(--csw-navy), var(--csw-blue-2));
}
.csw-web-preview-header {
    background: linear-gradient(135deg, var(--csw-orange), var(--csw-gold));
}
.csw-skeleton {
    background: linear-gradient(135deg, var(--csw-sky), #ffffff);
}

.csw-page-title {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 25%, rgba(245,185,66,.32), transparent 25%),
        linear-gradient(135deg, #071B33 0%, #0B4D8B 55%, #1769B3 100%);
}
.csw-page-title::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -150px;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
}
.csw-page-title .container { position: relative; z-index: 1; }

.csw-proof-strip {
    color: #fff;
    background: linear-gradient(90deg, var(--csw-navy), var(--csw-blue-2));
    border-bottom: 4px solid var(--csw-gold);
}
.csw-proof-strip .text-navy,
.csw-proof-strip .text-muted { color: #fff !important; }
.csw-proof-strip p { opacity: .82; }

.csw-section-light {
    background:
        linear-gradient(180deg, #ffffff 0%, #eef6ff 100%);
}
.csw-section-white {
    background: #ffffff;
}
.csw-section-blue {
    background:
        radial-gradient(circle at 90% 15%, rgba(245,185,66,.22), transparent 26%),
        linear-gradient(135deg, var(--csw-navy), var(--csw-blue-2));
}
.csw-section-gold {
    background:
        radial-gradient(circle at 10% 10%, rgba(255,255,255,.60), transparent 24%),
        linear-gradient(135deg, #FFF7DF 0%, #FFE4A6 58%, #FFD27D 100%);
}

.csw-card {
    overflow: hidden;
    border: 1px solid rgba(7,27,51,.08) !important;
    box-shadow: 0 16px 45px rgba(7,27,51,.10) !important;
}
.csw-card::before {
    content: "";
    display: block;
    height: 5px;
    background: linear-gradient(90deg, var(--csw-blue), var(--csw-gold), var(--csw-orange));
}
.csw-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(7,27,51,.18) !important;
}
.csw-icon {
    background: linear-gradient(135deg, var(--csw-blue), var(--csw-blue-2));
    color: #fff;
    box-shadow: 0 12px 26px rgba(23,105,179,.25);
}
.csw-number-badge,
.csw-step span {
    background: linear-gradient(135deg, var(--csw-gold), var(--csw-orange));
    color: var(--csw-navy);
    box-shadow: 0 12px 24px rgba(255,140,66,.22);
}
.csw-step {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.55);
}

.demo-card img {
    min-height: 210px;
    background: linear-gradient(135deg, var(--csw-sky), #ffffff);
}
.demo-card .badge.bg-primary-subtle {
    background: rgba(23,105,179,.12) !important;
    color: var(--csw-blue-2) !important;
    border: 1px solid rgba(23,105,179,.18);
}
.csw-featured-badge {
    background: linear-gradient(135deg, var(--csw-gold), var(--csw-orange)) !important;
    color: var(--csw-navy) !important;
}
.csw-demo-conversion,
.csw-cta-soft {
    background:
        radial-gradient(circle at 12% 20%, rgba(245,185,66,.46), transparent 27%),
        linear-gradient(135deg, #EAF5FF 0%, #ffffff 62%, #FFF0C7 100%) !important;
    border: 1px solid rgba(7,27,51,.08);
    box-shadow: 0 20px 60px rgba(7,27,51,.10);
}

.csw-price {
    color: var(--csw-blue-2);
}
.csw-plan-highlight {
    border: 2px solid var(--csw-orange) !important;
    box-shadow: 0 28px 70px rgba(255,140,66,.28) !important;
    transform: translateY(-4px);
}
.csw-plan-highlight::before {
    height: 7px;
    background: linear-gradient(90deg, var(--csw-orange), var(--csw-gold));
}
.csw-feature-list i {
    color: var(--csw-orange);
}

.csw-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 28%, rgba(245,185,66,.32), transparent 26%),
        linear-gradient(135deg, #071B33 0%, #0B4D8B 62%, #1769B3 100%);
    box-shadow: 0 30px 80px rgba(7,27,51,.25);
}
.csw-cta::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -90px;
    bottom: -120px;
    border-radius: 50%;
    background: rgba(255,255,255,.10);
}
.csw-cta > * { position: relative; z-index: 1; }
.csw-cta .btn-light {
    color: var(--csw-navy);
    background: linear-gradient(135deg, var(--csw-gold), var(--csw-orange));
    border: 0;
    box-shadow: 0 16px 34px rgba(255,140,66,.30);
    font-weight: 800;
}

.csw-faq .accordion-item {
    border-left: 5px solid var(--csw-gold) !important;
}
.csw-faq .accordion-button:not(.collapsed) {
    color: #fff;
    background: linear-gradient(90deg, var(--csw-navy), var(--csw-blue-2));
}

.alert-info {
    background: #EAF5FF;
    color: var(--csw-navy);
}
.alert-warning {
    background: #FFF0C7;
    color: var(--csw-navy);
}

.csw-footer {
    background:
        radial-gradient(circle at 12% 18%, rgba(245,185,66,.18), transparent 24%),
        linear-gradient(135deg, #06172B 0%, #071B33 62%, #0B4D8B 100%);
    border-top: 6px solid var(--csw-gold);
}
.csw-footer h5,
.csw-footer h6 { color: #fff; }
.footer-links a:hover { color: var(--csw-gold); }

@media (max-width: 991.98px) {
    .csw-plan-highlight { transform: none; }
}

/* v0.6 free consultation conversion landing */
.csw-consultation-card {
    background:
        radial-gradient(circle at 85% 15%, rgba(245,185,66,.22), transparent 28%),
        #ffffff;
}
.csw-mini-check {
    width: 34px;
    height: 34px;
    min-width: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--csw-gold), var(--csw-orange));
    color: var(--csw-navy);
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(255,140,66,.20);
}
.csw-check-option {
    cursor: pointer;
    border: 1px solid rgba(7,27,51,.10);
    border-radius: 16px;
    padding: .85rem 1rem;
    background: #fff;
    display: flex;
    gap: .65rem;
    align-items: center;
    transition: all .18s ease;
}
.csw-check-option:hover {
    border-color: rgba(23,105,179,.40);
    box-shadow: 0 10px 25px rgba(7,27,51,.08);
    transform: translateY(-2px);
}
.csw-check-option input {
    accent-color: var(--csw-orange);
}
.csw-check-option span {
    font-weight: 700;
    color: var(--csw-navy);
}
.csw-consultation-strip .btn-primary {
    box-shadow: 0 16px 34px rgba(255,140,66,.32);
}

/* v0.7 Tickets Lite */
.csw-ticket-hero {
    background:
        radial-gradient(circle at 12% 18%, rgba(245,185,66,.24), transparent 28%),
        linear-gradient(135deg, rgba(15,39,66,.08), rgba(29,117,188,.12));
}
.csw-ticket-info-card {
    border-top: 5px solid var(--csw-gold) !important;
}
.csw-ticket-info-card .csw-icon {
    background: linear-gradient(135deg, var(--csw-blue), var(--csw-navy));
    color: #fff;
}
.admin-ticket-meta {
    background: #f8fafc;
    border: 1px solid rgba(15,39,66,.08);
    border-radius: 1rem;
}

/* v0.8 Client Portal */
.csw-client-nav {
    background: linear-gradient(135deg, var(--csw-navy), var(--csw-blue-dark));
    box-shadow: 0 14px 32px rgba(15, 39, 66, .18);
}
.client-portal .card {
    border-radius: 1.25rem;
}
.csw-client-hero {
    background:
        radial-gradient(circle at 20% 20%, rgba(245, 185, 66, .28), transparent 30%),
        linear-gradient(135deg, var(--csw-navy), var(--csw-blue), var(--csw-blue-dark));
    box-shadow: 0 22px 60px rgba(15, 39, 66, .22);
}
.client-portal .table thead th {
    color: var(--csw-navy);
    font-size: .84rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: rgba(15, 39, 66, .04);
}

/* v1.0.1 Flow Review + Security */
.csw-stat-card {
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    border: 1px solid rgba(15, 39, 66, .08);
    border-radius: 1.15rem;
    padding: 1rem 1.1rem;
    box-shadow: 0 12px 30px rgba(15, 39, 66, .07);
    min-height: 98px;
}
.csw-stat-card span {
    display: block;
    color: #64748b;
    font-weight: 700;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .35rem;
}
.csw-stat-card strong {
    display: block;
    color: var(--csw-navy);
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
}
.client-portal .list-group-item {
    border-color: rgba(15, 39, 66, .08);
}
.client-portal .list-group-item:hover {
    background: rgba(29, 117, 188, .05);
}

/* v1.3 Ticket Conversations */
.csw-ticket-thread {
    display: grid;
    gap: 1rem;
}
.csw-ticket-message {
    border: 1px solid rgba(15, 39, 66, 0.12);
    border-radius: 1rem;
    padding: 1rem;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 39, 66, 0.05);
}
.csw-ticket-message-client {
    border-left: 5px solid #1D75BC;
    background: #F7FBFF;
}
.csw-ticket-message-staff {
    border-left: 5px solid #F5B942;
    background: #FFFCF2;
}
.csw-ticket-message-internal {
    border-left: 5px solid #1E293B;
    background: #F4F7FB;
}

/* v1.3 Proposal Document / Printable Proposal */
.csw-proposal-doc {
    color: #1E293B;
    border: 1px solid rgba(15, 39, 66, .08);
}
.csw-proposal-cover {
    background: linear-gradient(135deg, #0F2742 0%, #0A4D8C 55%, #1D75BC 100%);
}
.csw-proposal-metric {
    border: 1px solid rgba(15, 39, 66, .10);
    background: #F4F7FB;
    border-radius: 1rem;
    padding: 1rem;
    min-height: 100%;
}
.csw-proposal-metric span {
    display: block;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #64748B;
    margin-bottom: .25rem;
}
.csw-proposal-metric strong {
    display: block;
    color: #0F2742;
    font-size: 1rem;
}
.csw-proposal-section {
    border: 1px solid rgba(15, 39, 66, .10);
    border-radius: 1.25rem;
    padding: 1.25rem;
    margin-bottom: 1rem;
    background: #fff;
}
.csw-proposal-section h2 {
    color: #0F2742;
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: .75rem;
}
.csw-proposal-section p:last-child,
.csw-proposal-section ul:last-child {
    margin-bottom: 0;
}
.csw-check-list,
.csw-minus-list {
    padding-left: 0;
    list-style: none;
}
.csw-check-list li,
.csw-minus-list li {
    position: relative;
    padding-left: 1.65rem;
    margin-bottom: .55rem;
}
.csw-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #198754;
    font-weight: 800;
}
.csw-minus-list li::before {
    content: "—";
    position: absolute;
    left: 0;
    top: 0;
    color: #DC3545;
    font-weight: 800;
}
.csw-proposal-signature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.csw-proposal-signature > div {
    border-top: 2px solid #0F2742;
    padding-top: .75rem;
    min-height: 4rem;
}
.csw-proposal-print-page .csw-print-container {
    max-width: 980px;
}
@media print {
    body {
        background: #fff !important;
    }
    .print-hide,
    .navbar,
    .btn,
    .alert {
        display: none !important;
    }
    .container,
    .csw-print-container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .csw-proposal-doc {
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
    }
    .csw-proposal-cover {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
    .csw-proposal-section,
    .csw-proposal-metric {
        break-inside: avoid;
        page-break-inside: avoid;
    }
    a[href]::after {
        content: "" !important;
    }
}

/* v1.3.3 Staff portal contrast hotfix */
body.staff-portal {
    background: #f4f7fb !important;
    color: #1E293B;
}
.staff-portal .csw-client-nav {
    background: linear-gradient(135deg, #0F2742, #0A4D8C) !important;
}
.staff-portal .csw-client-nav .navbar-brand,
.staff-portal .csw-client-nav .nav-link {
    color: rgba(255,255,255,.92) !important;
}
.staff-portal .csw-client-nav .nav-link:hover,
.staff-portal .csw-client-nav .nav-link.active {
    color: #F5B942 !important;
}
.csw-staff-hero {
    background:
        radial-gradient(circle at 20% 20%, rgba(245,185,66,.28), transparent 30%),
        linear-gradient(135deg, #0F2742, #1D75BC, #0A4D8C) !important;
    box-shadow: 0 22px 60px rgba(15,39,66,.22);
}
.csw-staff-hero,
.csw-staff-hero h1,
.csw-staff-hero p {
    color: #ffffff !important;
}

/* v1.3.9 proposal + footer polish */
.csw-proposal-cover {
    position: relative;
    overflow: hidden;
}
.csw-proposal-cover::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    background: rgba(245, 185, 66, .20);
}
.csw-proposal-cover > .d-flex {
    position: relative;
    z-index: 1;
}
.csw-proposal-brand-logo {
    max-width: 300px;
    max-height: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.18));
}
.csw-proposal-cover-main {
    max-width: 650px;
}
.csw-proposal-section {
    box-shadow: 0 10px 28px rgba(15, 39, 66, .045);
}
.csw-proposal-section h2::after {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    background: var(--csw-gold);
    border-radius: 999px;
    margin-top: .45rem;
}
.csw-proposal-doc-footer {
    text-align: center;
    border-top: 1px solid rgba(15, 39, 66, .12);
    padding-top: 1rem;
    color: #64748B;
    font-size: .92rem;
}
.csw-send-proposal-card {
    border: 1px solid rgba(245, 185, 66, .35);
    background: linear-gradient(135deg, #FFF7DF 0%, #FFFFFF 100%);
}
.csw-send-proposal-card .btn-warning {
    box-shadow: 0 10px 24px rgba(245, 185, 66, .28);
}
@media (max-width: 575.98px) {
    .csw-proposal-brand-logo {
        max-width: 220px;
        max-height: 90px;
    }
}
@media print {
    .csw-proposal-brand-logo {
        max-width: 260px !important;
        max-height: 90px !important;
        filter: none !important;
    }
    .csw-proposal-cover::after {
        display: none !important;
    }
    .csw-proposal-section {
        box-shadow: none !important;
    }
}


/* v1.4.1 Operational QA + 360 polish */
@media (max-width: 767.98px) {
    .csw-logo { width: min(220px, 65vw); max-height: 58px; }
    .csw-logo-footer { width: min(240px, 75vw); max-height: 76px; }
}
.csw-360-hero {
    background: radial-gradient(circle at 12% 18%, rgba(245,185,66,.32), transparent 30%), linear-gradient(135deg, #0F2742, #1D75BC, #0A4D8C);
    color: #fff;
    box-shadow: 0 22px 60px rgba(15, 39, 66, .20);
}
.csw-360-stat {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1rem;
    padding: .85rem .5rem;
    backdrop-filter: blur(8px);
}
.csw-360-stat strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
}
.csw-360-stat span {
    display: block;
    font-size: .75rem;
    opacity: .86;
    margin-top: .35rem;
}


/* v1.6.7 Final Logo + Header/Footer Brand Colors */
:root {
    --csw-navy: #041934;
    --csw-blue: #0954C3;
    --csw-blue-2: #073F95;
    --csw-blue-dark: #052D6B;
    --csw-gold: #F2B431;
    --csw-orange: #F2B431;
    --csw-light: #F6F8FB;
    --csw-text: #1E293B;
    --csw-ink: #041934;
}

.csw-site-header {
    z-index: 1030;
}
.csw-phone-bar {
    background: var(--csw-blue-dark);
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: #ffffff;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .01em;
}
.csw-phone-bar .container {
    min-height: 34px;
    gap: .45rem 1.5rem;
    padding-top: .3rem;
    padding-bottom: .3rem;
}
.csw-phone-bar a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
}
.csw-phone-bar a:hover,
.csw-phone-bar a:focus {
    color: var(--csw-gold);
}
.csw-phone-bar .bi {
    color: var(--csw-gold);
}

.csw-navbar {
    background: var(--csw-navy) !important;
    border-top: 0 !important;
    border-bottom: 3px solid var(--csw-gold);
    box-shadow: 0 14px 34px rgba(4, 25, 52, .28) !important;
    padding-top: .55rem;
    padding-bottom: .55rem;
}
.csw-navbar .navbar-brand {
    padding-top: .1rem;
    padding-bottom: .1rem;
}
.csw-navbar .navbar-toggler {
    border-color: rgba(255,255,255,.32);
}
.csw-navbar .nav-link {
    color: rgba(255,255,255,.90) !important;
    font-weight: 700;
    letter-spacing: .01em;
}
.csw-navbar .nav-link:hover,
.csw-navbar .nav-link:focus,
.csw-navbar .nav-link.active,
.csw-navbar .show > .nav-link {
    color: var(--csw-gold) !important;
}
.csw-navbar .dropdown-menu {
    background: #061E3D;
    border: 1px solid rgba(242,180,49,.28);
    box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.csw-navbar .dropdown-item {
    color: rgba(255,255,255,.88);
    font-weight: 600;
}
.csw-navbar .dropdown-item:hover,
.csw-navbar .dropdown-item:focus,
.csw-navbar .dropdown-item.active,
.csw-navbar .dropdown-item:active {
    background: rgba(242,180,49,.14);
    color: var(--csw-gold);
}
.csw-navbar .btn-primary {
    --bs-btn-bg: var(--csw-gold);
    --bs-btn-border-color: var(--csw-gold);
    --bs-btn-color: var(--csw-navy);
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-hover-color: var(--csw-navy);
    box-shadow: none;
}
.csw-navbar .btn-outline-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: rgba(255,255,255,.70);
    --bs-btn-hover-bg: var(--csw-gold);
    --bs-btn-hover-border-color: var(--csw-gold);
    --bs-btn-hover-color: var(--csw-navy);
    box-shadow: none;
}
.csw-logo {
    width: min(340px, 72vw);
    max-width: 340px;
    max-height: 82px;
    height: auto;
    object-fit: contain;
    display: block;
}

.csw-footer {
    background: var(--csw-navy) !important;
    color: #ffffff;
    border-top: 3px solid var(--csw-gold);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.csw-footer h5,
.csw-footer h6 {
    color: #ffffff;
    letter-spacing: .06em;
}
.csw-footer h6::after {
    content: "";
    display: block;
    width: 38px;
    height: 3px;
    background: var(--csw-gold);
    border-radius: 999px;
    margin-top: .55rem;
}
.csw-logo-footer {
    width: min(340px, 82vw);
    max-width: 340px;
    max-height: 96px;
    height: auto;
    object-fit: contain;
    display: block;
}
.footer-links a,
.csw-footer a {
    color: rgba(255,255,255,.78);
    text-decoration: none;
}
.footer-links a:hover,
.csw-footer a:hover {
    color: var(--csw-gold);
}
.csw-footer .bi {
    color: var(--csw-gold);
}
.csw-footer hr {
    border-color: rgba(255,255,255,.20) !important;
}

@media (max-width: 991.98px) {
    .csw-navbar .navbar-collapse {
        padding-top: .85rem;
    }
    .csw-navbar .navbar-nav {
        align-items: stretch !important;
    }
    .csw-navbar .nav-link {
        padding: .7rem 0;
    }
    .csw-navbar .nav-item.ms-lg-3,
    .csw-navbar .nav-item.ms-lg-2 {
        margin-left: 0 !important;
        margin-top: .6rem !important;
    }
    .csw-navbar .btn {
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    .csw-phone-bar {
        font-size: .76rem;
    }
    .csw-phone-bar .container {
        gap: .2rem .8rem;
    }
    .csw-logo {
        width: min(260px, 70vw);
        max-height: 64px;
    }
    .csw-logo-footer {
        width: min(280px, 78vw);
        max-height: 78px;
    }
}

/* v1.6.9 Hero Images + Footer Width Refinement */
.csw-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(4,25,52,.92) 0%, rgba(4,25,52,.84) 42%, rgba(4,25,52,.62) 100%),
        url('../uploads/hero-bg-tech.png') center center / cover no-repeat !important;
}
.csw-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 18%, rgba(242,180,49,.14), transparent 26%),
        radial-gradient(circle at 18% 26%, rgba(9,84,195,.18), transparent 24%);
    pointer-events: none;
}
.csw-hero::after {
    content: none !important;
}
.csw-hero .container {
    position: relative;
    z-index: 1;
}
.csw-hero .lead {
    max-width: 680px;
}
.csw-hero-visual {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
    box-shadow: 0 32px 84px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(8px);
}
.csw-hero-visual img {
    display: block;
    width: 100%;
    height: auto;
}
.csw-footer .footer-links li + li {
    margin-top: .3rem;
}
@media (max-width: 991.98px) {
    .csw-hero {
        background-position: center center;
    }
    .csw-hero-visual {
        margin-top: .5rem;
    }
}

/* v1.6.9 Business Growth Cards Polish */
.csw-services-section {
    position: relative;
    overflow: hidden;
    padding-top: 6.5rem;
    padding-bottom: 6.5rem;
    background:
        radial-gradient(circle at 12% 12%, rgba(9,84,195,.08), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(242,180,49,.12), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}
.csw-services-section::before {
    content: "";
    position: absolute;
    inset: 3rem auto auto -7rem;
    width: 18rem;
    height: 18rem;
    border-radius: 999px;
    border: 1px solid rgba(9,84,195,.12);
    pointer-events: none;
}
.csw-services-section::after {
    content: "";
    position: absolute;
    right: -8rem;
    bottom: -8rem;
    width: 22rem;
    height: 22rem;
    border-radius: 999px;
    background: rgba(242,180,49,.10);
    pointer-events: none;
}
.csw-services-section .container {
    position: relative;
    z-index: 1;
}
.csw-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .85rem;
    border-radius: 999px;
    background: rgba(4,25,52,.06);
    border: 1px solid rgba(4,25,52,.08);
    color: var(--csw-blue);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.csw-section-kicker::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 999px;
    background: var(--csw-gold);
    box-shadow: 0 0 0 .28rem rgba(242,180,49,.16);
}
.csw-services-grid {
    --bs-gutter-y: 1.75rem;
}
.csw-service-card {
    position: relative;
    overflow: hidden;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(4,25,52,.08) !important;
    box-shadow: 0 18px 46px rgba(4,25,52,.07) !important;
}
.csw-service-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--csw-gold), var(--csw-blue));
}
.csw-service-card::after {
    content: "";
    position: absolute;
    right: -2.25rem;
    top: -2.25rem;
    width: 6.5rem;
    height: 6.5rem;
    border-radius: 999px;
    background: rgba(9,84,195,.06);
    transition: transform .22s ease, background .22s ease;
}
.csw-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 64px rgba(4,25,52,.13) !important;
}
.csw-service-card:hover::after {
    transform: scale(1.12);
    background: rgba(242,180,49,.12);
}
.csw-service-icon {
    position: relative;
    z-index: 1;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: var(--csw-navy);
    color: var(--csw-gold);
    font-size: 1.45rem;
    box-shadow: 0 14px 30px rgba(4,25,52,.18);
}
.csw-service-card .card-body {
    position: relative;
    z-index: 1;
}
.csw-service-card h5 {
    color: var(--csw-navy);
}
@media (max-width: 991.98px) {
    .csw-services-section {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}
@media (max-width: 575.98px) {
    .csw-services-section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .csw-services-section .text-center {
        text-align: left !important;
    }
}


/* v1.6.10 Process Section Polish */
.csw-process-section {
    position: relative;
    overflow: hidden;
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
    background: var(--csw-navy) !important;
    color: #ffffff;
    border-top: 5px solid var(--csw-gold);
    border-bottom: 5px solid var(--csw-gold);
}
.csw-process-section::before {
    content: "";
    position: absolute;
    left: -10rem;
    bottom: -12rem;
    width: 26rem;
    height: 26rem;
    border-radius: 999px;
    background: rgba(242,180,49,.08);
    pointer-events: none;
}
.csw-process-section::after {
    content: "";
    position: absolute;
    right: -9rem;
    top: 5rem;
    width: 26rem;
    height: 26rem;
    border-radius: 999px;
    border: 1px solid rgba(242,180,49,.22);
    box-shadow: 0 0 0 4rem rgba(242,180,49,.035);
    pointer-events: none;
}
.csw-process-section .container {
    position: relative;
    z-index: 1;
}
.csw-process-section h2 {
    color: #ffffff;
}
.csw-process-section p {
    color: rgba(255,255,255,.78);
}
.csw-process-kicker {
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.16);
    color: var(--csw-gold);
}
.csw-process-grid {
    --bs-gutter-y: 1.65rem;
}
.csw-process-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 1.65rem;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 22px 58px rgba(0,0,0,.20);
    transition: transform .22s ease, box-shadow .22s ease;
}
.csw-process-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 72px rgba(0,0,0,.28);
}
.csw-process-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: var(--csw-gold);
}
.csw-process-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
}
.csw-process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    height: 2.25rem;
    padding: 0 .75rem;
    border-radius: 999px;
    background: var(--csw-gold);
    color: var(--csw-navy);
    font-weight: 900;
    letter-spacing: .04em;
}
.csw-process-icon {
    width: 50px;
    height: 50px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    background: var(--csw-navy);
    color: var(--csw-gold);
    font-size: 1.35rem;
}
.csw-process-card h5 {
    color: var(--csw-navy);
}
.csw-process-card p {
    color: #5f6f82;
}
@media (max-width: 991.98px) {
    .csw-process-section {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}
@media (max-width: 575.98px) {
    .csw-process-section {
        padding-top: 4.25rem;
        padding-bottom: 4.25rem;
    }
    .csw-process-section .text-center {
        text-align: left !important;
    }
}

/* v1.6.12 Final CTA + Footer Join Polish */
.csw-final-cta {
    position: relative;
    padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
    background: var(--csw-navy) !important;
    border-top: 5px solid var(--csw-gold);
    box-shadow: none !important;
}
.csw-final-cta::after {
    content: none !important;
}
.csw-final-cta .container {
    max-width: 920px;
}
.csw-final-cta h2 {
    font-size: clamp(2rem, 3.2vw, 3.05rem);
    letter-spacing: -.035em;
}
.csw-final-cta p {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: rgba(255,255,255,.82);
}
.csw-final-cta .btn {
    min-width: 210px;
    margin-top: .35rem;
}
.csw-final-cta .btn-outline-light {
    border-color: rgba(255,255,255,.72);
    color: #ffffff;
    font-weight: 800;
}
.csw-final-cta .btn-outline-light:hover {
    background: #ffffff;
    color: var(--csw-navy);
    border-color: #ffffff;
}
.csw-footer {
    margin-top: 0 !important;
}
@media (max-width: 575.98px) {
    .csw-final-cta {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }
    .csw-final-cta .btn {
        width: 100%;
    }
    .csw-final-cta .btn-outline-light {
        margin-left: 0 !important;
    }
}


/* v1.6.12 Website Style Gallery - Safer Demo Presentation */
.csw-style-gallery-section {
    padding-top: 5.5rem !important;
    padding-bottom: 5.75rem !important;
}
.csw-safe-gallery-notice {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(4,25,52,.08);
    box-shadow: 0 24px 70px rgba(4,25,52,.09);
}
.csw-safe-gallery-notice::after {
    content: "";
    position: absolute;
    right: -6rem;
    bottom: -7rem;
    width: 18rem;
    height: 18rem;
    border-radius: 999px;
    background: rgba(242,180,49,.12);
    pointer-events: none;
}
.csw-safe-gallery-notice > .row {
    position: relative;
    z-index: 1;
}
.csw-safe-gallery-mini-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: var(--csw-navy);
    color: #ffffff;
    border-radius: 1.35rem;
    padding: 1.25rem;
    box-shadow: 0 18px 44px rgba(4,25,52,.22);
}
.csw-safe-gallery-mini-card i {
    display: grid;
    place-items: center;
    flex: 0 0 3.25rem;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    background: var(--csw-gold);
    color: var(--csw-navy);
    font-size: 1.35rem;
}
.csw-safe-gallery-mini-card span {
    font-size: .94rem;
    color: rgba(255,255,255,.84);
}
.csw-safe-demo-card .card-body {
    min-height: 290px;
}
.csw-safe-demo-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .62rem;
    border-radius: 999px;
    background: rgba(4,25,52,.06);
    color: var(--csw-navy);
    border: 1px solid rgba(4,25,52,.08);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .02em;
    white-space: nowrap;
}
.csw-safe-demo-pill i {
    color: var(--csw-gold);
}
.csw-safe-demo-pill-light {
    background: rgba(255,255,255,.12);
    color: #ffffff;
    border-color: rgba(255,255,255,.2);
}
.csw-demo-highlights li {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    margin-bottom: .45rem;
    color: #526173;
}
.csw-demo-highlights i {
    color: var(--csw-blue);
    margin-top: .1rem;
}
.csw-style-modal-header {
    background: var(--csw-navy);
    color: #ffffff;
    border-bottom: 4px solid var(--csw-gold);
    padding: 1.25rem 1.5rem;
}
.csw-style-modal-image {
    min-height: 280px;
    max-height: 430px;
    object-fit: cover;
    background: var(--csw-light);
}
.csw-safe-demo-note {
    background: rgba(4,25,52,.045);
    border: 1px solid rgba(4,25,52,.08);
    color: #526173;
}
.csw-safe-demo-note h6 {
    color: var(--csw-navy);
}
.csw-demo-highlights-modal li {
    margin-bottom: .65rem;
}
@media (max-width: 575.98px) {
    .csw-style-gallery-section {
        padding-top: 4.25rem !important;
        padding-bottom: 4.5rem !important;
    }
    .csw-safe-demo-card .card-body {
        min-height: auto;
    }
    .csw-style-modal-header {
        padding: 1rem;
    }
}


/* v1.6.14 Internal Pages + Demo Preview Polish */
body.csw-internal-page .csw-page-title {
    background:
        linear-gradient(90deg, rgba(4,25,52,.92) 0%, rgba(4,25,52,.78) 46%, rgba(4,25,52,.48) 100%),
        url('../img/internal-page-banner.png') center center / cover no-repeat;
    min-height: 280px;
    display: flex;
    align-items: center;
    border-bottom: 4px solid rgba(245,185,66,.92);
    margin-bottom: 100px;
}
body.csw-internal-page .csw-page-title > .container {
    width: 100%;
}
body.csw-internal-page .csw-footer {
    margin-top: 100px;
}
.csw-demo-preview-btn {
    --bs-btn-color: var(--csw-navy);
    --bs-btn-border-color: rgba(15,39,66,.18);
    --bs-btn-bg: #ffffff;
    --bs-btn-hover-bg: var(--csw-navy);
    --bs-btn-hover-border-color: var(--csw-navy);
    --bs-btn-hover-color: #ffffff;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15,39,66,.08);
}
.csw-demo-preview-btn:hover,
.csw-demo-preview-btn:focus {
    box-shadow: 0 10px 24px rgba(15,39,66,.16);
}
.csw-style-modal-image {
    width: 100%;
    height: 430px;
    min-height: 430px;
    max-height: 430px;
    object-fit: contain;
    object-position: center top;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
    padding: 1rem;
}
.csw-request-demo-img {
    width: 100%;
    height: 520px;
    min-height: 520px;
    object-fit: contain;
    object-position: center top;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
    padding: 1rem;
}
.csw-request-demo-img[src$="internal-page-banner.png"] {
    object-fit: cover;
    object-position: center center;
}
@media (max-width: 991.98px) {
    body.csw-internal-page .csw-page-title {
        margin-bottom: 72px;
    }
    body.csw-internal-page .csw-footer {
        margin-top: 72px;
    }
    .csw-request-demo-img {
        height: 420px;
        min-height: 420px;
    }
}
@media (max-width: 575.98px) {
    body.csw-internal-page .csw-page-title {
        min-height: 240px;
        margin-bottom: 56px;
    }
    body.csw-internal-page .csw-footer {
        margin-top: 56px;
    }
    .csw-style-modal-image {
        height: 320px;
        min-height: 320px;
        max-height: 320px;
        padding: .75rem;
    }
    .csw-request-demo-img {
        height: 320px;
        min-height: 320px;
        padding: .75rem;
    }
}

/* v1.6.15 Public Navigation + Web Design Service Page */
.csw-main-nav .nav-link {
    white-space: nowrap;
    padding-left: .55rem;
    padding-right: .55rem;
}
.csw-login-btn {
    min-width: 82px;
}
.csw-home-design-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
    background:
        radial-gradient(circle at 8% 12%, rgba(245,185,66,.16), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.csw-home-design-card .csw-icon,
.csw-web-design-card .csw-icon {
    background: linear-gradient(135deg, rgba(23,105,179,.14), rgba(245,185,66,.18));
    color: var(--csw-blue-2);
}
.csw-web-design-overview {
    padding-top: 1rem;
    padding-bottom: 6rem;
}
.csw-web-design-band {
    padding-top: 6rem;
    padding-bottom: 6rem;
    background:
        radial-gradient(circle at 15% 22%, rgba(245,185,66,.22), transparent 26%),
        linear-gradient(135deg, #06172B 0%, #071B33 58%, #0B4D8B 100%);
    border-top: 4px solid rgba(245,185,66,.92);
    border-bottom: 4px solid rgba(245,185,66,.92);
}
.csw-path-pill {
    display: flex;
    align-items: center;
    gap: .9rem;
    min-height: 74px;
    padding: 1rem 1.1rem;
    border-radius: 1.25rem;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 16px 34px rgba(0,0,0,.13);
}
.csw-path-pill span {
    display: grid;
    place-items: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: .9rem;
    background: var(--csw-gold);
    color: var(--csw-navy);
    font-weight: 900;
}
.csw-path-pill strong {
    color: #ffffff;
}
.csw-fit-item {
    display: flex;
    align-items: center;
    gap: .9rem;
    height: 100%;
    padding: 1.15rem 1.25rem;
    border-radius: 1.25rem;
    background: #ffffff;
    border: 1px solid rgba(7,27,51,.08);
    box-shadow: 0 14px 34px rgba(7,27,51,.07);
    font-weight: 800;
    color: var(--csw-navy);
}
.csw-fit-item i {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    border-radius: .95rem;
    background: rgba(245,185,66,.22);
    color: var(--csw-blue-2);
    font-size: 1.25rem;
}
@media (min-width: 992px) and (max-width: 1399.98px) {
    .csw-logo { max-width: 250px; }
    .csw-main-nav .nav-link { font-size: .88rem; padding-left: .42rem; padding-right: .42rem; }
    .csw-login-btn { min-width: auto; padding-left: .85rem !important; padding-right: .85rem !important; }
}
@media (max-width: 575.98px) {
    .csw-home-design-section,
    .csw-web-design-band {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
    .csw-web-design-overview {
        padding-bottom: 4.5rem;
    }
}


/* v1.6.17 Optimized Hero Images + Why Section Fixes */
body.csw-page-home .csw-hero {
    background-color: #041934 !important;
    background-image: url('../uploads/hero-bg-tech.webp') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
body.csw-page-home .csw-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(4, 25, 52, .78) !important;
    pointer-events: none;
}
body.csw-internal-page .csw-page-title {
    background-color: #041934 !important;
    background-image: url('../img/internal-page-banner.png') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
body.csw-internal-page .csw-page-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(4, 25, 52, .76) !important;
    pointer-events: none;
    z-index: 0;
}
body.csw-internal-page .csw-page-title::after {
    content: none !important;
}
body.csw-internal-page .csw-page-title > .container {
    position: relative;
    z-index: 1;
}
.csw-home-design-card {
    min-height: 100%;
}
.csw-home-design-card h5,
.csw-home-design-card p {
    display: block;
    min-height: 1px;
}


/* v1.6.17 Hero image performance + lower why cards */
.csw-hero-visual {
    background-color: rgba(4,25,52,.72);
    min-height: 360px;
}
.csw-hero-visual img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center center;
}
.csw-why-section {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}
.csw-why-card {
    border-top: 4px solid var(--csw-gold) !important;
    min-height: 100%;
}
.csw-why-card .csw-icon {
    background: var(--csw-blue);
    color: #fff;
}
@media (max-width: 575.98px) {
    .csw-hero-visual {
        min-height: 260px;
    }
    .csw-why-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
}


/* Trust Section + Client Page Polish */
.csw-trust-section {
    padding: 6.5rem 0;
    background: var(--csw-navy);
    border-top: 4px solid rgba(245,185,66,.88);
    border-bottom: 4px solid rgba(245,185,66,.88);
}
.csw-badge-dark {
    background: rgba(255,255,255,.10);
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    letter-spacing: .12em;
    text-transform: uppercase;
}
.csw-trust-card {
    min-height: 150px;
    display: flex;
    gap: 1rem;
    padding: 1.35rem;
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 22px 55px rgba(0,0,0,.18);
}
.csw-trust-icon,
.csw-client-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    color: var(--csw-blue);
    background: #fff;
    box-shadow: 0 14px 28px rgba(0,0,0,.16);
}
.csw-trust-card h3 {
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: .35rem;
}
.csw-trust-card p {
    margin: 0;
    color: rgba(255,255,255,.78);
}
.csw-client-overview-section,
.csw-client-process-section {
    padding: 0 0 6rem;
}
.csw-client-card {
    padding: 1.6rem;
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(15,39,66,.08);
    box-shadow: 0 22px 55px rgba(15,39,66,.08);
    border-top: 4px solid var(--csw-gold);
}
.csw-client-card h3 {
    color: var(--csw-navy);
    font-size: 1.1rem;
    font-weight: 800;
    margin: 1.1rem 0 .55rem;
}
.csw-client-card p {
    color: #4f5f73;
    margin-bottom: 0;
}
.csw-client-process-section {
    background: #fff;
}
.csw-client-timeline {
    display: grid;
    gap: 1rem;
}
.csw-client-timeline-item {
    display: flex;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-radius: 22px;
    background: var(--csw-light);
    border: 1px solid rgba(15,39,66,.08);
}
.csw-client-timeline-item > span {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-weight: 900;
    color: var(--csw-navy);
    background: linear-gradient(135deg, var(--csw-gold), #fff1c2);
}
.csw-client-timeline-item strong {
    display: block;
    color: var(--csw-navy);
    font-size: 1.05rem;
    margin-bottom: .25rem;
}
.csw-client-timeline-item p {
    margin: 0;
    color: #4f5f73;
}
.csw-client-ready-section {
    padding: 6rem 0;
    background: var(--csw-navy);
    border-top: 4px solid rgba(245,185,66,.88);
    border-bottom: 4px solid rgba(245,185,66,.88);
}
.csw-client-ready-box {
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 28px;
    padding: 1.5rem;
}
.csw-client-ready-box li + li {
    margin-top: .75rem;
}
.opacity-90 {
    opacity: .9;
}
@media (max-width: 991.98px) {
    .csw-trust-section,
    .csw-client-ready-section {
        padding: 4.5rem 0;
    }
    .csw-client-overview-section,
    .csw-client-process-section {
        padding-bottom: 4.5rem;
    }
}


/* v1.6.19 Trust Placement + Footer Legal/Commercial Copy */
.csw-footer-legal-copy {
    color: rgba(255,255,255,.72);
    line-height: 1.65;
}
.csw-footer-legal-copy strong {
    color: #fff;
}
.csw-footer-note {
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.11);
}
.csw-footer-note i {
    color: var(--csw-gold);
    font-size: 1.05rem;
    margin-top: .15rem;
}
.csw-home-design-section + .csw-trust-section {
    margin-top: 0;
}
.csw-trust-section + .csw-why-section {
    margin-top: 0;
}
@media (max-width: 991.98px) {
    .csw-footer-note {
        padding: .9rem;
    }
}

/* v1.6.21 Ticket internal collaboration */
.csw-internal-note-card {
    border-top: 4px solid #1E293B !important;
}
.csw-ticket-message-internal .badge {
    vertical-align: middle;
}
.csw-ticket-thread .csw-ticket-message-internal {
    background: linear-gradient(180deg, #F4F7FB 0%, #EEF3F8 100%);
}

/* v1.6.22 inbound email admin */
.csw-email-body {
    white-space: pre-wrap;
    max-height: 620px;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .92rem;
    line-height: 1.55;
}
