.software-page { background: radial-gradient(circle at 70% 8%, rgba(18,93,139,.18), transparent 28%), var(--bg); }
.software-hero { padding: 155px 0 70px; border-bottom: 1px solid var(--line); overflow: hidden; }
.software-hero::after { content:"SOFTWARE / ISP"; position:absolute; right:-20px; bottom:-32px; color:rgba(37,217,248,.035); font:700 clamp(5rem,13vw,11rem) var(--font-display); letter-spacing:-.08em; white-space:nowrap; }
.software-hero .container { position:relative; z-index:2; display:grid; grid-template-columns:1fr .55fr; gap:80px; align-items:end; }
.software-hero h1 { margin:18px 0 22px; font-size:clamp(3.2rem,6vw,5.6rem); }
.software-hero p { max-width:680px; margin:0; color:var(--muted); font-size:1.08rem; }
.hero-product-count { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); background:rgba(8,14,21,.78); }
.hero-product-count div { padding:22px; border-right:1px solid var(--line); }
.hero-product-count div:last-child { border:0; }
.hero-product-count strong { display:block; color:var(--cyan); font:600 2.7rem var(--font-display); }
.hero-product-count span { color:#768a9b; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.product-explorer { padding:0 0 100px; }
.product-tabs-wrap { position:sticky; top:78px; z-index:50; background:rgba(5,8,13,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.product-tabs { display:grid; grid-template-columns:repeat(4,1fr); }
.product-tab { min-height:84px; padding:13px 18px; border:0; border-right:1px solid var(--line); border-bottom:2px solid transparent; background:transparent; color:#8295a5; text-align:left; cursor:pointer; transition:.2s; }
.product-tab:last-child { border-right:0; }
.product-tab small, .product-tab strong, .product-tab span { display:block; }
.product-tab small { color:#506576; font:600 .54rem var(--font-display); letter-spacing:.1em; }
.product-tab strong { margin:2px 0; color:#d7e2eb; font:600 .91rem var(--font-display); }
.product-tab span { font-size:.69rem; }
.product-tab:hover, .product-tab[aria-selected="true"] { background:rgba(37,217,248,.04); border-bottom-color:var(--cyan); }
.product-tab[aria-selected="true"] small, .product-tab[aria-selected="true"] strong { color:var(--cyan); }
.product-panel { animation:panelIn .35s ease; }
.product-panel[hidden] { display:none; }
@keyframes panelIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.product-overview { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:start; padding:85px 0 65px; }
.product-status { display:inline-flex; align-items:center; gap:8px; padding:5px 9px; border:1px solid rgba(81,227,164,.3); color:var(--green); font:600 .58rem var(--font-display); letter-spacing:.11em; text-transform:uppercase; }
.product-status.dev { color:var(--amber); border-color:rgba(241,184,91,.3); }
.product-overview h2 { margin:18px 0; font-size:clamp(3rem,5vw,5rem); }
.product-overview .lead { max-width:720px; color:#c3d0db; font:500 1.22rem/1.48 var(--font-display); }
.product-overview p { color:var(--muted); }
.product-price-card { padding:32px; border:1px solid rgba(37,217,248,.28); background:linear-gradient(145deg,rgba(13,28,39,.96),rgba(7,12,18,.96)); }
.product-price-card > span { color:#678094; font:600 .59rem var(--font-display); letter-spacing:.12em; }
.product-price-card h3 { margin:12px 0 3px; font-size:2.1rem; }
.product-price-card .price { display:block; color:var(--cyan); font:600 2.9rem var(--font-display); letter-spacing:-.05em; }
.product-price-card .price small { font-size:.9rem; color:#8aa0b2; letter-spacing:0; }
.product-price-card p { margin:10px 0 22px; font-size:.86rem; }
.price-options { display:grid; gap:7px; margin:18px 0 25px; }
.price-options div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; border-bottom:1px solid #192a38; color:#91a5b5; font-size:.8rem; }
.price-options b { color:var(--text); }
.product-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.product-actions .button { min-width:0; padding-inline:14px; }
.product-section { padding:65px 0; border-top:1px solid var(--line); }
.product-section-head { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; margin-bottom:35px; }
.product-section-head span { color:var(--cyan); font:600 .63rem var(--font-display); letter-spacing:.13em; }
.product-section-head h3 { font-size:clamp(2rem,4vw,3.4rem); }
.product-section-head p { margin:0; color:var(--muted); }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.capability-grid article { min-height:210px; padding:26px; background:#080e15; }
.capability-grid article > span { color:#466174; font:600 .6rem var(--font-display); }
.capability-grid h4 { margin:42px 0 10px; font:600 1.06rem var(--font-display); }
.capability-grid p { margin:0; color:var(--muted); font-size:.84rem; }
.install-layout { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.install-card { padding:32px; border:1px solid var(--line); background:#080e15; }
.install-card h4 { margin:0 0 24px; font:600 1.15rem var(--font-display); }
.install-steps { list-style:none; margin:0; padding:0; counter-reset:step; }
.install-steps li { position:relative; min-height:55px; padding:0 0 22px 48px; color:#a3b3c0; font-size:.87rem; }
.install-steps li::before { counter-increment:step; content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; color:var(--cyan); font:600 .63rem var(--font-display); }
.install-steps li:not(:last-child)::after { content:""; position:absolute; left:11px; top:20px; bottom:5px; width:1px; background:#203443; }
.code-line { display:block; overflow:auto; margin-top:8px; padding:10px 12px; border:1px solid #1d3344; background:#05090e; color:#8cecff; font:500 .72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; }
.requirements { width:100%; border-collapse:collapse; }
.requirements th, .requirements td { padding:13px 0; border-bottom:1px solid #1a2a37; text-align:left; vertical-align:top; font-size:.84rem; }
.requirements th { width:42%; color:#6f879a; font-weight:500; }
.requirements td { color:#d5e0e8; }
.product-cta { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:42px; border:1px solid rgba(37,217,248,.24); background:radial-gradient(circle at 80% 0,rgba(37,217,248,.08),transparent 35%),#09111a; }
.product-cta h3 { font-size:clamp(1.7rem,3vw,2.6rem); }
.product-cta p { margin:10px 0 0; color:var(--muted); }
.scope-note { margin-top:18px; padding:14px 16px; border-left:2px solid var(--amber); background:rgba(241,184,91,.04); color:#9ba9b5; font-size:.78rem; }
@media (max-width:900px) {
  .software-hero .container, .product-overview { grid-template-columns:1fr; gap:40px; }
  .product-section-head { grid-template-columns:1fr; gap:18px; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .install-layout { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .software-hero { padding-top:120px; }
  .software-hero .container { gap:30px; }
  .hero-product-count { max-width:360px; }
  .product-tabs-wrap { top:68px; overflow-x:auto; }
  .product-tabs { width:680px; }
  .product-tab { min-height:72px; padding:10px 13px; }
  .product-overview { padding:55px 0 45px; }
  .product-overview h2 { font-size:3rem; }
  .product-actions { grid-template-columns:1fr; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-grid article { min-height:170px; }
  .capability-grid h4 { margin-top:28px; }
  .install-card { padding:24px; }
  .product-cta { align-items:stretch; flex-direction:column; padding:28px 24px; }
}
