/* MISNEXUS public website. Brand colours live in these tokens: change them here to re-theme the site. */
:root {
    /* From the MISNEXUS logo: navy "MIS", blue "M", orange "NEXUS" and swoosh. */
    --site-navy: #00256a;
    --site-navy-2: #0142a6;
    --site-accent: #0165d8;
    --site-accent-dark: #0142a6;
    --site-accent-soft: #e8f1ff;
    --site-orange: #fe7600;
    --site-orange-hover: #e86b00;
    --site-orange-soft: #fff1e5;
    --site-ink: #14213d;
    --site-muted: #56627a;
    --site-line: #e2e8f2;
    --site-bg: #ffffff;
    --site-bg-alt: #f4f7fc;
    --site-warn-soft: #fff4e5;
    --site-warn: #b45309;
    --site-radius: 14px;
    --site-shadow: 0 1px 2px rgba(0, 37, 106, .06), 0 8px 24px rgba(0, 37, 106, .07);
}

body {
    background: var(--site-bg);
    color: var(--site-ink);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .h4, .h5, .h6 { color: var(--site-navy); letter-spacing: -.01em; }
a { color: var(--site-accent-dark); }
a:hover { color: var(--site-navy); }
:focus-visible { outline: 3px solid var(--site-accent); outline-offset: 2px; }

.site-skip { position: absolute; left: 1rem; top: .5rem; z-index: 2000; background: #fff; padding: .5rem 1rem; border-radius: 8px; }
.site-muted { color: var(--site-muted); }
.site-eyebrow { color: var(--site-accent-dark); font-weight: 600; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .5rem; }
.site-lead { font-size: 1.125rem; color: var(--site-muted); max-width: 46rem; }

/* Buttons */
.btn { border-radius: 10px; font-weight: 600; }
.site-btn-primary { background: var(--site-orange); border: 1px solid var(--site-orange); color: var(--site-navy); }
.site-btn-primary:hover, .site-btn-primary:focus { background: var(--site-orange-hover); border-color: var(--site-orange-hover); color: var(--site-navy); }
.site-btn-outline { border: 1px solid var(--site-line); color: var(--site-navy); background: #fff; }
.site-btn-outline:hover { border-color: var(--site-navy); color: var(--site-navy); }
.site-btn-light { background: #fff; color: var(--site-navy); border: 1px solid #fff; }
.site-btn-light:hover { background: var(--site-accent-soft); color: var(--site-navy); }
.site-btn-outline-light { border: 1px solid rgba(255, 255, 255, .5); color: #fff; }
.site-btn-outline-light:hover { background: rgba(255, 255, 255, .1); color: #fff; border-color: #fff; }

/* Header */
.site-header { background: rgba(255, 255, 255, .96); backdrop-filter: saturate(180%) blur(8px); border-bottom: 1px solid var(--site-line); }
.site-header .navbar { padding: .75rem 0; }
.site-brand { display: inline-flex; align-items: center; gap: .6rem; font-weight: 800; color: var(--site-navy); letter-spacing: .02em; text-decoration: none; }
.site-brand:hover { color: var(--site-navy); }
.site-brand-mark { height: 40px; width: auto; }
.site-brand-word { font-size: 1.35rem; font-weight: 900; letter-spacing: .01em; line-height: 1; }
.site-brand-word .mis { color: var(--site-navy); }
.site-brand-word .nexus { color: var(--site-orange); }
.site-brand-light .site-brand-word .mis { color: #fff; }
.site-brand-light .site-brand-mark { background: #fff; border-radius: 10px; padding: 4px 6px; height: 44px; }
.site-brand-light, .site-brand-light:hover { color: #fff; }
.site-header .nav-link { color: var(--site-ink); font-weight: 500; padding: .5rem .9rem !important; border-radius: 8px; }
.site-header .nav-link:hover, .site-header .nav-link.active { color: var(--site-accent-dark); }
.site-header .navbar-toggler { border: 1px solid var(--site-line); font-size: 1.5rem; color: var(--site-navy); padding: .2rem .6rem; }
.site-dropdown { border: 1px solid var(--site-line); border-radius: 12px; box-shadow: var(--site-shadow); padding: .5rem; }
.site-dropdown .dropdown-item { border-radius: 8px; padding: .5rem .75rem; }
.site-dropdown .dropdown-item:hover { background: var(--site-accent-soft); }
.site-phone { color: var(--site-navy); text-decoration: none; font-weight: 600; }

/* Hero */
.site-hero { padding: 4.5rem 0 4rem; background: radial-gradient(900px 420px at 90% -10%, var(--site-accent-soft), transparent 60%), var(--site-bg); }
.site-hero-title { font-size: clamp(2rem, 4.5vw, 3.25rem); font-weight: 800; line-height: 1.1; margin-bottom: 1rem; }
.site-checks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; color: var(--site-muted); font-size: .95rem; }
.site-checks i { color: var(--site-orange); margin-right: .35rem; }

.site-mock { background: #fff; border: 1px solid var(--site-line); border-radius: 18px; box-shadow: 0 30px 60px rgba(11, 37, 69, .12); overflow: hidden; }
.site-mock-bar { display: flex; gap: 6px; padding: .75rem 1rem; background: var(--site-bg-alt); border-bottom: 1px solid var(--site-line); }
.site-mock-bar span { width: 10px; height: 10px; border-radius: 50%; background: var(--site-line); }
.site-mock-body { padding: 1.25rem; display: grid; gap: 1rem; }
.site-mock-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.site-mock-tiles > div { border: 1px solid var(--site-line); border-radius: 12px; padding: .75rem; display: grid; gap: .5rem; }
.site-mock-tiles small { color: var(--site-muted); font-size: .72rem; }
.site-mock-value { display: block; height: 12px; border-radius: 6px; background: var(--site-navy); opacity: .85; }
.site-mock-chart { height: 150px; display: flex; align-items: flex-end; gap: 10px; padding: 1rem; border: 1px solid var(--site-line); border-radius: 12px; }
.site-mock-chart span { flex: 1; border-radius: 4px 4px 0 0; background: #0086fe; }
.site-mock-chart span:nth-child(odd) { background: var(--site-navy-2); }
.site-mock-chart span:nth-child(6) { background: var(--site-orange); }
.site-mock-rows { display: grid; gap: .5rem; }
.site-mock-rows span { height: 10px; border-radius: 5px; background: var(--site-bg-alt); }
.site-mock-rows span:nth-child(2) { width: 80%; }
.site-mock-rows span:nth-child(3) { width: 60%; }

/* Sections */
.site-section { padding: 4rem 0; }
.site-section-alt { background: var(--site-bg-alt); }
.site-section-head { max-width: 44rem; margin-bottom: 2rem; }
.site-section-head h2 { font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.1rem); }
.site-center { min-height: 60vh; display: flex; align-items: center; }
.site-page-header { padding: 3.5rem 0 2.5rem; background: linear-gradient(180deg, var(--site-accent-soft), var(--site-bg)); border-top: 3px solid var(--site-orange); border-bottom: 1px solid var(--site-line); }
.site-page-header h1 { font-weight: 800; font-size: clamp(1.9rem, 4vw, 2.75rem); }

/* Cards and panels */
.site-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 1.5rem; transition: border-color .15s, box-shadow .15s, transform .15s; }
.site-card:hover { border-color: var(--site-accent); box-shadow: var(--site-shadow); transform: translateY(-2px); }
.site-card:not(:has(.stretched-link)):hover { transform: none; }
.site-card a.stretched-link { color: var(--site-navy); text-decoration: none; }
.site-card-row { flex-direction: row; gap: 1rem; align-items: flex-start; }
.site-card-dashed { border-style: dashed; background: transparent; }
.site-card-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 12px; background: var(--site-accent-soft); color: var(--site-accent-dark); font-size: 1.3rem; margin-bottom: 1rem; }
.site-card-row .site-card-icon { margin-bottom: 0; }
.site-price { font-weight: 700; color: var(--site-navy); }
.site-panel { background: #fff; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 1.75rem; }
.site-panel-problem { background: var(--site-warn-soft); border-color: #fde2bd; }
.site-sticky { position: sticky; top: 96px; }
.site-feature i { font-size: 1.6rem; color: var(--site-orange); display: block; margin-bottom: .75rem; }
.site-chip { display: inline-flex; align-items: center; padding: .4rem .8rem; border: 1px solid var(--site-line); border-radius: 999px; text-decoration: none; color: var(--site-navy); background: #fff; font-size: .9rem; }
.site-chip:hover { border-color: var(--site-accent); color: var(--site-accent-dark); }

.site-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.site-list li { display: flex; gap: .6rem; align-items: flex-start; }
.site-list i { color: var(--site-orange); margin-top: .15rem; }
.site-list-problem i { color: var(--site-warn); }
.site-list-compact { gap: .4rem; }

.site-steps { list-style: none; counter-reset: step; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.site-steps li { counter-increment: step; background: #fff; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 1.5rem; }
.site-steps li::before { content: counter(step); display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--site-orange); color: var(--site-navy); font-weight: 800; margin-bottom: .75rem; }
.site-mini-steps { padding-left: 1.1rem; margin: 0; display: grid; gap: .6rem; color: var(--site-muted); }

/* Call to action band */
.site-cta { padding: 0 0 4rem; }
.site-section-alt + .site-cta { padding-top: 4rem; background: linear-gradient(var(--site-bg-alt) 50%, var(--site-bg) 50%); }
.site-cta-inner { background: linear-gradient(135deg, var(--site-navy), var(--site-navy-2)); color: #fff; border-radius: 20px; padding: 2.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.site-cta-inner h2 { color: #fff; font-weight: 800; margin-bottom: .5rem; }
.site-cta-inner p { color: rgba(255, 255, 255, .8); margin: 0; max-width: 36rem; }

/* Forms */
.site-form { background: #fff; border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 1.75rem; }
.site-legend { font-size: 1rem; font-weight: 700; color: var(--site-navy); margin-bottom: 1rem; }
.site-optional { font-weight: 400; color: var(--site-muted); font-size: .9rem; }
.site-required { color: #b42318; }
.site-form .form-control, .site-form .form-select { border-radius: 10px; padding: .65rem .85rem; border-color: #cfd7e0; }
.site-form .form-control:focus, .site-form .form-select:focus { border-color: var(--site-accent); box-shadow: 0 0 0 .2rem rgba(1, 101, 216, .18); }
.site-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.site-success-icon { display: inline-grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--site-accent-soft); color: var(--site-accent-dark); font-size: 2.2rem; margin-bottom: 1.5rem; }

.site-prose { max-width: 46rem; }
.site-prose h2 { margin-top: 2rem; }

/* Footer */
.site-footer { border-top: 4px solid var(--site-orange); background: var(--site-navy); color: rgba(255, 255, 255, .85); padding: 3.5rem 0 1.5rem; }
.site-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer-heading { color: #fff; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.site-footer-links { display: grid; gap: .5rem; font-size: .95rem; }
.site-footer-muted { color: rgba(255, 255, 255, .65); font-size: .95rem; }
.site-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 2.5rem; padding-top: 1.25rem; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; font-size: .875rem; color: rgba(255, 255, 255, .65); }

/* Floating WhatsApp button */
.site-whatsapp { position: fixed; right: 18px; bottom: 18px; z-index: 1030; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; font-size: 1.7rem; box-shadow: 0 8px 24px rgba(0, 0, 0, .2); text-decoration: none; }
.site-whatsapp:hover { color: #fff; transform: scale(1.05); }

@media (max-width: 991.98px) {
    .site-header .navbar-collapse { border-top: 1px solid var(--site-line); margin-top: .75rem; }
    .site-sticky { position: static; }
    .site-hero { padding: 3rem 0; }
}
@media (max-width: 575.98px) {
    .site-section { padding: 3rem 0; }
    .site-cta-inner { padding: 1.75rem; }
    .site-form, .site-panel { padding: 1.25rem; }
    .site-mock-tiles { grid-template-columns: 1fr 1fr; }
    .site-mock-tiles > div:nth-child(3) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .site-card, .site-whatsapp { transition: none; }
    .site-card:hover, .site-whatsapp:hover { transform: none; }
}

/* Adverts managed in CRM > Website */
.site-topbar { background: var(--site-navy); border-bottom: 2px solid var(--site-orange); color: #fff; font-size: .9rem; padding: .5rem 0; text-align: center; }
.site-topbar .container { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .35rem .75rem; }
.site-topbar span { color: rgba(255, 255, 255, .8); }
.site-topbar a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.site-offers { padding-top: 0; }
.site-offer { position: relative; overflow: hidden; border-radius: 18px; background: linear-gradient(135deg, var(--site-accent-dark), var(--site-navy)); color: #fff; min-height: 220px; display: flex; }
.site-offer img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.site-offer-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 37, 69, .92) 0%, rgba(11, 37, 69, .65) 55%, rgba(11, 37, 69, .25) 100%); }
.site-offer-body { position: relative; z-index: 1; padding: 1.75rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; max-width: 36rem; }
.site-offer-body h3 { color: #fff; font-weight: 800; }
.site-offer-body p { color: rgba(255, 255, 255, .85); }
.site-offer-tag { display: inline-block; background: var(--site-orange); color: var(--site-navy); border-radius: 999px; padding: .15rem .7rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .75rem; }

.site-footer-tagline { color: var(--site-orange); font-style: italic; font-weight: 600; margin-bottom: .75rem; }

/* Newsletter sign-up in the footer */
.site-newsletter { margin-top: 2.5rem; padding: 1.5rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.site-newsletter-form { display: grid; grid-template-columns: 1fr 1.3fr auto; gap: .5rem; }
.site-newsletter-form .form-control { border-radius: 10px; }
.site-newsletter-consent { grid-column: 1 / -1; font-size: .85rem; color: rgba(255, 255, 255, .75); }
.site-newsletter-consent a { text-decoration: underline; }
.site-newsletter-notice { border-radius: 10px; padding: .6rem .9rem; margin-bottom: .75rem; font-size: .9rem; }
.site-newsletter-ok { background: rgba(37, 211, 102, .15); color: #d7ffe6; }
.site-newsletter-error { background: rgba(255, 120, 120, .15); color: #ffe1e1; }
@media (max-width: 767.98px) { .site-newsletter-form { grid-template-columns: 1fr; } }

/* Careers */
.site-job { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; }
.site-job-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--site-muted); font-size: .9rem; }
.site-prose-block { white-space: pre-line; }

/* Compact footer */
.site-footer { padding: 2rem 0 1rem; font-size: .875rem; }
.site-footer .site-brand-word { font-size: 1.15rem; }
.site-footer .site-brand-light .site-brand-mark { height: 36px; padding: 3px 5px; }
.site-footer-tagline { font-size: .85rem; margin-bottom: 0; }
.site-footer-heading { font-size: .75rem; margin-bottom: .6rem; }
.site-footer-links { gap: .3rem; font-size: .875rem; }
.site-footer-links-2col { display: block; columns: 2; column-gap: 1.25rem; }
.site-footer-links-2col li { break-inside: avoid; margin-bottom: .3rem; }
.site-newsletter { margin-top: 1.25rem; padding: .85rem 1.1rem; }
.site-newsletter .form-control, .site-newsletter .btn { padding-top: .35rem; padding-bottom: .35rem; font-size: .875rem; }
.site-newsletter-consent { font-size: .78rem; }
.site-footer-bottom { margin-top: 1rem; padding-top: .8rem; font-size: .8rem; }
@media (max-width: 575.98px) { .site-footer-links-2col { columns: 1; } }

/* Gallery */
.site-gallery-albums { display: flex; flex-wrap: wrap; gap: .5rem; }
.site-chip.active { background: var(--site-navy); border-color: var(--site-navy); color: #fff; }
.site-chip-count { margin-left: .35rem; font-size: .75rem; opacity: .7; }
.site-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.site-gallery-item { margin: 0; }
.site-gallery-open { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; overflow: hidden; background: var(--site-bg-alt); aspect-ratio: 4 / 3; cursor: zoom-in; }
.site-gallery-open img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.site-gallery-open:hover img, .site-gallery-open:focus-visible img { transform: scale(1.04); }
.site-gallery-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, var(--site-navy), var(--site-navy-2)); color: rgba(255, 255, 255, .6); font-size: 2.5rem; }
.site-gallery-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--site-orange); color: var(--site-navy); font-size: 2rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .3); }
.site-gallery-item figcaption { padding: .5rem .15rem 0; font-size: .9rem; line-height: 1.35; }
.site-gallery-item figcaption strong { display: block; color: var(--site-navy); }
.site-gallery-item figcaption span { color: var(--site-muted); font-size: .85rem; }
.site-gallery-modal .modal-content { background: #0b1220; color: #fff; border: 0; }
.site-gallery-modal .modal-header, .site-gallery-modal .modal-footer { border-color: rgba(255, 255, 255, .1); }
.site-gallery-modal .modal-title { color: #fff; }
.site-gallery-stage { display: grid; place-items: center; min-height: 40vh; }
.site-gallery-stage img, .site-gallery-stage video { max-width: 100%; max-height: 72vh; border-radius: 8px; }
.site-gallery-stage iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 8px; }
.site-gallery-caption { margin: .75rem 0 0; color: rgba(255, 255, 255, .8); text-align: center; }
.site-gallery-caption:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .site-gallery-open img { transition: none; } }

/* Gallery filters: Photos / Videos, then albums */
.site-gallery-filters { display: grid; gap: .85rem; }
.site-gallery-types { display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .25rem; border-radius: 12px; background: var(--site-bg-alt); border: 1px solid var(--site-line); justify-self: start; }
.site-type { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .9rem; border-radius: 9px; color: var(--site-navy); text-decoration: none; font-weight: 600; font-size: .92rem; }
.site-type:hover { background: #fff; color: var(--site-navy); }
.site-type.active { background: var(--site-navy); color: #fff; }
.site-type.active .site-chip-count { opacity: .8; }


/* Hardware (optional add-on) */
.site-count { background: var(--site-orange); color: var(--site-navy); }
.site-hw-toolbar { display: grid; gap: .85rem; }
.site-hw-search { display: flex; gap: .5rem; max-width: 420px; }
.site-hw-search .form-control { border-radius: 10px; }
.site-hw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.site-hw-card { padding: 1rem; }
.site-hw-card h3 a { color: var(--site-navy); text-decoration: none; }
.site-hw-card h3 a:hover { text-decoration: underline; }
.site-hw-image { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--site-bg-alt); margin-bottom: .75rem; }
.site-hw-image img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.site-hw-icon { display: grid; place-items: center; width: 100%; height: 100%; color: var(--site-accent); font-size: 3rem; background: linear-gradient(135deg, var(--site-accent-soft), #fff); }
.site-hw-icon-sm { width: 64px; height: 48px; font-size: 1.4rem; border-radius: 8px; }
.site-hw-category { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--site-accent-dark); margin-bottom: .25rem; }
.site-availability { font-size: .75rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; }
.site-availability-success { background: #e6f6ec; color: #146c2e; }
.site-availability-warning { background: var(--site-orange-soft); color: #8a4200; }
.site-availability-secondary { background: #eef0f3; color: #4a5361; }
.site-hw-photos { display: grid; gap: .75rem; }
.site-hw-main { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--site-line); border-radius: 14px; }
.site-hw-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; }
.site-hw-thumb { width: 76px; height: 57px; padding: 0; border: 2px solid var(--site-line); border-radius: 8px; overflow: hidden; background: #fff; }
.site-hw-thumb.active { border-color: var(--site-orange); }
.site-hw-thumb img { width: 100%; height: 100%; object-fit: cover; }
.site-hw-notice { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; padding: .75rem 1rem; margin-bottom: 1.25rem; border-radius: 12px; background: #e6f6ec; color: #146c2e; font-weight: 600; }
.site-hw-strip { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2rem; align-items: center; padding: 2rem; border-radius: 18px; background: var(--site-bg-alt); border: 1px solid var(--site-line); }
.site-hw-strip-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .6rem; }
.site-hw-strip-cats a { display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem; border-radius: 10px; background: #fff; border: 1px solid var(--site-line); color: var(--site-navy); text-decoration: none; font-weight: 600; font-size: .9rem; }
.site-hw-strip-cats a:hover { border-color: var(--site-orange); }
.site-hw-strip-cats i { color: var(--site-orange); font-size: 1.2rem; }
@media (max-width: 991.98px) { .site-hw-strip { grid-template-columns: 1fr; padding: 1.5rem; } }


/* Product photos (software and services) */
.site-product-image { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--site-bg-alt); margin-bottom: 1rem; }
.site-product-image img { width: 100%; height: 100%; object-fit: cover; }
.site-product-photos { display: grid; gap: .75rem; max-width: 760px; }
