.software-overview-body {
    --software-navy: #071a38;
    --software-blue: #174b87;
    --software-teal: #16796f;
    --software-gold: #dda735;
    --software-gold-dark: #94620b;
    --software-ink: #0c213d;
    --software-muted: #5f7086;
    --software-line: rgba(12, 33, 61, .13);
    --software-paper: #f3f6f3;
    --page-backdrop-photo: url("../media/software-index-backdrop-v39.webp");
    --page-backdrop-position: center 50%;
    color: var(--software-ink);
    background: radial-gradient(circle at 7% 3%, rgba(221, 167, 53, .12), transparent 28rem), radial-gradient(circle at 95% 28%, rgba(22, 121, 111, .09), transparent 34rem), var(--software-paper);
}

.software-overview-body .page-content { width: 100%; max-width: none; padding: 0 0 clamp(72px, 7vw, 112px); grid-template-columns: minmax(0, 1fr); }
.software-overview-body .page-shell { width: 100%; max-width: none; }
.software-overview-body .showcase-footer { margin-top: 0; }
.software-overview-page { width: 100%; min-width: 0; overflow: clip; }
.software-overview-page *, .software-overview-page *::before, .software-overview-page *::after { box-sizing: border-box; }
.software-overview-page img { display: block; max-width: 100%; }
.software-overview-page section[id], .software-overview-page article[id] { scroll-margin-top: 116px; }
.software-overview-hero, .software-overview-nav, .software-overview-section, .software-overview-platform, .software-overview-final { width: min(1380px, calc(100% - clamp(28px, 5vw, 88px))); margin-inline: auto; }

.software-overview-kicker { margin: 0 0 .8rem; color: var(--software-gold-dark); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.software-overview-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .82rem 1.3rem; color: var(--software-navy); border: 1px solid var(--software-line); border-radius: 14px; background: #fff; font-size: .9rem; font-weight: 850; text-align: center; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.software-overview-button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(7, 26, 56, .13); }
.software-overview-button.is-primary { color: #fff; border-color: var(--software-navy); background: var(--software-navy); }
.software-overview-button.is-gold { color: var(--software-navy); border-color: #e2b451; background: #e4b64f; }
.software-overview-button.is-light { color: #fff; border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .08); }
.software-overview-text-link { color: var(--software-navy); font-size: .84rem; font-weight: 850; text-underline-offset: 4px; }

.software-overview-hero { display: grid; min-height: min(760px, calc(100vh - 112px)); margin-top: clamp(14px, 1.8vw, 28px); overflow: hidden; border: 1px solid var(--software-line); border-radius: clamp(28px, 3.2vw, 46px); background: rgba(255, 253, 248, .96); box-shadow: 0 30px 90px rgba(7, 26, 56, .12); grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); }
.software-overview-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 5vw, 78px); }
.software-overview-hero h1 { max-width: 10ch; margin: 0; color: var(--software-navy); font-family: "Errailium Sans", "Aptos Display", sans-serif; font-size: clamp(3.25rem, 5.2vw, 5.5rem); letter-spacing: -.065em; line-height: .93; }
.software-overview-lead { max-width: 660px; margin: 1.55rem 0 0; color: var(--software-muted); font-size: clamp(1rem, 1.2vw, 1.16rem); line-height: 1.7; }
.software-overview-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.software-overview-proof { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin: 2rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid var(--software-line); color: var(--software-ink); font-size: .82rem; font-weight: 780; list-style: none; }
.software-overview-proof li::before { margin-right: .45rem; color: var(--software-teal); content: "\2713"; }
.software-overview-hero-visual { position: relative; min-height: 620px; overflow: hidden; background: var(--software-navy); }
.software-overview-hero-visual figure, .software-overview-hero-visual figure img { width: 100%; height: 100%; margin: 0; }
.software-overview-hero-visual figure { position: absolute; inset: 0; }
.software-overview-hero-visual figure img { object-fit: cover; object-position: center; filter: saturate(.74) contrast(1.02); }
.software-overview-hero-visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 26, 56, .08), rgba(7, 26, 56, .88)); content: ""; }
.software-overview-hero-products { position: absolute; z-index: 2; right: clamp(20px, 3vw, 42px); bottom: clamp(20px, 3vw, 42px); left: clamp(20px, 3vw, 42px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255, 255, 255, .25); border-radius: 26px; background: rgba(7, 26, 56, .88); box-shadow: 0 24px 58px rgba(0, 0, 0, .25); backdrop-filter: blur(18px); }
.software-overview-hero-products article { display: grid; min-height: 142px; align-items: center; gap: 1rem; padding: 1.25rem; color: #fff; border-right: 1px solid rgba(255, 255, 255, .13); grid-template-columns: auto minmax(0, 1fr); }
.software-overview-hero-products article:nth-child(2) { border-right: 0; }
.software-overview-hero-products article div:last-child { display: grid; gap: .2rem; }
.software-overview-hero-products article span { color: #e9bd60; font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.software-overview-hero-products article strong { font-size: 1.2rem; }
.software-overview-hero-products article small { color: rgba(255, 255, 255, .72); font-size: .78rem; }
.software-overview-hero-products > p { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: .55rem; margin: 0; padding: .95rem 1.2rem; color: rgba(255, 255, 255, .76); border-top: 1px solid rgba(255, 255, 255, .14); background: rgba(22, 121, 111, .25); font-size: .78rem; text-align: center; }
.software-overview-hero-products > p strong { color: #fff; }
.software-overview-logo { display: grid; width: 98px; height: 98px; flex: 0 0 auto; place-items: center; overflow: hidden; padding: 11px; border: 1px solid var(--software-line); border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(7, 26, 56, .09); }
.software-overview-logo.is-small { width: 64px; height: 64px; padding: 7px; border-color: rgba(255, 255, 255, .2); border-radius: 17px; }
.software-overview-logo img { width: 100%; height: 100%; object-fit: contain; }
.software-overview-logo b { color: var(--software-blue); font-size: 1.4rem; }

.software-overview-nav { display: grid; gap: 1rem; margin-top: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.software-overview-nav a { display: grid; min-height: 88px; align-items: center; gap: 1rem; padding: 1rem 1.2rem; color: var(--software-ink); border: 1px solid var(--software-line); border-radius: 20px; background: rgba(255, 255, 255, .9); box-shadow: 0 10px 28px rgba(7, 26, 56, .06); grid-template-columns: auto minmax(0, 1fr) auto; text-decoration: none; }
.software-overview-nav a > span { display: grid; width: 40px; height: 40px; place-items: center; color: var(--software-gold-dark); border-radius: 12px; background: #fbf0d8; font-size: .72rem; font-weight: 900; }
.software-overview-nav a div { display: grid; gap: .15rem; }
.software-overview-nav a strong { color: var(--software-navy); }
.software-overview-nav a small { color: var(--software-muted); font-size: .78rem; }
.software-overview-nav a > b { color: var(--software-teal); }

.software-overview-section { padding-top: clamp(78px, 7vw, 112px); }
.software-overview-section-head { display: grid; align-items: end; gap: 2rem; margin-bottom: clamp(28px, 3.4vw, 48px); grid-template-columns: minmax(0, 1fr) minmax(280px, .5fr); }
.software-overview-section-head h2 { max-width: 15ch; margin: 0; color: var(--software-navy); font-family: "Errailium Sans", "Aptos Display", sans-serif; font-size: clamp(2.45rem, 3.8vw, 4.15rem); letter-spacing: -.055em; line-height: .98; }
.software-overview-section-head > p { margin: 0; color: var(--software-muted); font-size: .98rem; line-height: 1.7; }
.software-overview-products { display: grid; gap: 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.software-overview-product { display: flex; min-height: 680px; flex-direction: column; padding: clamp(28px, 3.5vw, 48px); border: 1px solid var(--software-line); border-radius: 32px; background: #fff; box-shadow: 0 18px 48px rgba(7, 26, 56, .07); }
.software-overview-product.is-2shoot { background: linear-gradient(145deg, #fff, #edf5fb); }
.software-overview-product.is-fornb { background: linear-gradient(145deg, #fff, #f4f1e9); }
.software-overview-product header { display: flex; align-items: center; gap: 1.2rem; }
.software-overview-product header > div:last-child { display: grid; gap: .18rem; }
.software-overview-product header p { margin: 0; color: var(--software-gold-dark); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.software-overview-product h3 { margin: 0; color: var(--software-navy); font-family: "Errailium Sans", "Aptos Display", sans-serif; font-size: clamp(2.2rem, 3vw, 3.4rem); letter-spacing: -.05em; line-height: 1; }
.software-overview-product header span { color: var(--software-teal); font-size: .78rem; font-weight: 850; }
.software-overview-product-lead { margin: 2rem 0 0; color: var(--software-ink); font-size: 1.02rem; line-height: 1.68; }
.software-overview-product ul { display: grid; gap: .8rem; margin: 1.7rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--software-line); list-style: none; }
.software-overview-product li { color: var(--software-muted); font-size: .9rem; line-height: 1.55; }
.software-overview-product li::before { margin-right: .55rem; color: var(--software-teal); content: "\2713"; font-weight: 900; }
.software-overview-compatibility, .software-overview-production-tags { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.6rem; }
.software-overview-compatibility span { display: grid; width: 118px; height: 58px; place-items: center; padding: 9px 12px; border: 1px solid var(--software-line); border-radius: 15px; background: rgba(255, 255, 255, .82); }
.software-overview-compatibility img { width: auto; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; }
.software-overview-compatibility span:nth-child(2) img { width: 42px; height: 42px; }
.software-overview-production-tags span { padding: .75rem .9rem; color: var(--software-navy); border: 1px solid var(--software-line); border-radius: 13px; background: rgba(255, 255, 255, .76); font-size: .78rem; font-weight: 850; }
.software-overview-product footer { display: grid; gap: 1.2rem; margin-top: auto; padding-top: 2rem; border-top: 1px solid var(--software-line); }
.software-overview-product footer > span { display: grid; gap: .3rem; }
.software-overview-product footer small { color: var(--software-muted); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.software-overview-product footer strong { color: var(--software-navy); font-size: .92rem; }
.software-overview-product footer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }

.software-overview-platform { display: grid; align-items: center; gap: clamp(36px, 6vw, 88px); margin-top: clamp(82px, 8vw, 126px); padding: clamp(36px, 5vw, 72px); color: #fff; border-radius: 38px; background: radial-gradient(circle at 100% 0, rgba(221, 167, 53, .16), transparent 24rem), linear-gradient(135deg, #071a38, #12335f); box-shadow: 0 30px 80px rgba(7, 26, 56, .2); grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); }
.software-overview-platform .software-overview-kicker { color: #efc66e; }
.software-overview-platform h2 { max-width: 12ch; margin: 0; font-family: "Errailium Sans", "Aptos Display", sans-serif; font-size: clamp(2.55rem, 4.1vw, 4.5rem); letter-spacing: -.06em; line-height: .97; }
.software-overview-platform > div > p:not(.software-overview-kicker) { max-width: 650px; margin: 1.3rem 0 1.8rem; color: rgba(255, 255, 255, .76); font-size: .98rem; line-height: 1.7; }
.software-overview-flow { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.software-overview-flow li { position: relative; display: grid; gap: .3rem; padding: 1.25rem 1.4rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: 19px; background: rgba(255, 255, 255, .07); }
.software-overview-flow li + li::before { position: absolute; top: -12px; left: 50%; color: #efc66e; content: "\2193"; transform: translateX(-50%); }
.software-overview-flow li.is-platform { border-color: rgba(239, 198, 110, .5); background: rgba(221, 167, 53, .13); }
.software-overview-flow span { color: #efc66e; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.software-overview-flow strong { font-size: 1.12rem; }
.software-overview-flow small { color: rgba(255, 255, 255, .72); font-size: .8rem; line-height: 1.5; }

.software-overview-table-wrap { overflow-x: auto; border: 1px solid var(--software-line); border-radius: 28px; background: #fff; box-shadow: 0 20px 55px rgba(7, 26, 56, .07); }
.software-overview-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.software-overview-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.software-overview-table th, .software-overview-table td { padding: 1.35rem 1.5rem; border-right: 1px solid var(--software-line); border-bottom: 1px solid var(--software-line); text-align: left; }
.software-overview-table tr > *:last-child { border-right: 0; }
.software-overview-table tbody tr:last-child > * { border-bottom: 0; }
.software-overview-table thead th { color: #fff; background: var(--software-navy); font-size: .9rem; }
.software-overview-table thead th:first-child { color: rgba(255, 255, 255, .72); }
.software-overview-table tbody th { width: 26%; color: var(--software-navy); background: #f7f9f8; font-size: .86rem; }
.software-overview-table td { color: var(--software-muted); font-size: .88rem; line-height: 1.55; }
.software-overview-table tbody tr:hover td, .software-overview-table tbody tr:hover th { background: #fbf5e8; }

.software-overview-choice { padding-top: clamp(74px, 6vw, 96px); }
.software-overview-choice-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.software-overview-choice-grid article { min-height: 270px; padding: clamp(28px, 3.5vw, 46px); border: 1px solid var(--software-line); border-radius: 28px; background: rgba(255, 255, 255, .9); }
.software-overview-choice-grid span { color: var(--software-gold-dark); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.software-overview-choice-grid h3 { margin: 1.5rem 0 .8rem; color: var(--software-navy); font-size: clamp(1.8rem, 2.5vw, 2.8rem); letter-spacing: -.045em; }
.software-overview-choice-grid p { margin: 0; color: var(--software-muted); font-size: .9rem; line-height: 1.65; }
.software-overview-choice-grid a { display: inline-flex; margin-top: 1.5rem; color: var(--software-teal); font-size: .86rem; font-weight: 900; text-underline-offset: 4px; }
.software-overview-combined { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1rem; padding: 1.35rem 1.5rem; color: #fff; border-radius: 22px; background: var(--software-navy); }
.software-overview-combined div { display: grid; gap: .25rem; }
.software-overview-combined span { color: #efc66e; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.software-overview-combined strong { font-size: .96rem; }

.software-overview-final { display: grid; align-items: center; gap: 2rem; margin-top: clamp(82px, 8vw, 126px); padding: clamp(38px, 5vw, 70px); color: #fff; border-radius: 38px; background: linear-gradient(135deg, #071a38, #194a7d); grid-template-columns: minmax(0, 1fr) auto; }
.software-overview-final .software-overview-kicker { color: #efc66e; }
.software-overview-final h2 { max-width: 14ch; margin: 0; font-family: "Errailium Sans", "Aptos Display", sans-serif; font-size: clamp(2.5rem, 4vw, 4.25rem); letter-spacing: -.055em; line-height: .98; }
.software-overview-final p:not(.software-overview-kicker) { max-width: 720px; margin: 1.2rem 0 0; color: rgba(255, 255, 255, .76); font-size: .96rem; line-height: 1.7; }
.software-overview-final aside { display: grid; gap: .75rem; min-width: 260px; }

@media (max-width: 1080px) {
    .software-overview-hero { min-height: 0; grid-template-columns: 1fr; }
    .software-overview-hero-copy { min-height: 590px; }
    .software-overview-hero-visual { min-height: 620px; }
    .software-overview-products { grid-template-columns: 1fr; }
    .software-overview-product { min-height: 0; }
    .software-overview-platform { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .software-overview-hero, .software-overview-nav, .software-overview-section, .software-overview-platform, .software-overview-final { width: min(100% - 24px, 1380px); }
    .software-overview-hero { border-radius: 25px; }
    .software-overview-hero-copy { min-height: 0; padding: 36px 24px 40px; }
    .software-overview-hero h1 { max-width: 11ch; font-size: clamp(2.7rem, 12vw, 3.35rem); }
    .software-overview-actions, .software-overview-product footer > div { display: grid; }
    .software-overview-button { width: 100%; }
    .software-overview-proof { display: grid; }
    .software-overview-hero-visual { min-height: 590px; }
    .software-overview-hero-products { grid-template-columns: 1fr; }
    .software-overview-hero-products article { min-height: 102px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .13); }
    .software-overview-hero-products article:nth-child(2) { border-bottom: 0; }
    .software-overview-hero-products > p { display: grid; gap: .2rem; }
    .software-overview-nav, .software-overview-section-head, .software-overview-choice-grid { grid-template-columns: 1fr; }
    .software-overview-section { padding-top: 72px; }
    .software-overview-section-head { gap: 1rem; }
    .software-overview-section-head h2 { font-size: clamp(2.3rem, 10.5vw, 2.8rem); }
    .software-overview-product { padding: 26px 22px; border-radius: 25px; }
    .software-overview-product header { align-items: flex-start; }
    .software-overview-logo { width: 80px; height: 80px; border-radius: 18px; }
    .software-overview-product h3 { font-size: 2.35rem; }
    .software-overview-platform { margin-top: 74px; padding: 36px 24px; border-radius: 27px; }
    .software-overview-platform h2 { font-size: clamp(2.35rem, 10.5vw, 3rem); }
    .software-overview-table-wrap { margin-right: -12px; scrollbar-width: thin; }
    .software-overview-choice-grid article { min-height: 0; }
    .software-overview-combined { display: grid; padding: 1.4rem; }
    .software-overview-final { grid-template-columns: 1fr; margin-top: 74px; padding: 36px 24px; border-radius: 27px; }
    .software-overview-final h2 { font-size: clamp(2.3rem, 10vw, 2.9rem); }
    .software-overview-final aside { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) { .software-overview-button { transition: none; } }
