﻿.software-page { background: radial-gradient(ellipse at 60% 5%, #171714, transparent 33rem), var(--background); }
.software-intro { padding-block: 110px 72px; }
.software-intro > .eyebrow { color: var(--muted); margin-bottom: 28px; }
.software-intro h1 { line-height: 1.06; }
.software-intro-copy { max-width: 640px; color: var(--muted); font-size: 21px; line-height: 1.65; }
.software-index { display: flex; flex-wrap: wrap; gap: 20px 38px; margin-top: 48px; }
.software-index a { display: inline-flex; align-items: center; gap: 12px; padding-block: 10px; border-bottom: 1px solid #3c3c37; font-size: 16px; }
.software-index a > span:first-child { color: var(--red); font-size: 12px; letter-spacing: 1px; }
.software-index a > span:last-child { color: var(--muted); }
.software-index a:hover { color: var(--red); border-color: var(--red); }
.software-product { padding-block: 56px 100px; }
.software-product + .software-product { border-top: 1px solid #33332f; padding-top: 90px; }
.product-meta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 28px; }
.product-meta .eyebrow { margin: 0; font-size: 12px; letter-spacing: 3px; color: var(--muted); }
.product-meta .eyebrow span { margin-right: 16px; color: var(--red); }
.access-label { display: inline-block; padding: 9px 14px; border: 1px solid #464640; border-radius: 3px; color: var(--muted); font-size: 13px; letter-spacing: .4px; }
.access-free { color: var(--text); border-color: #83313a; background: #ed00180a; }
.product-image { display: block; position: relative; border: 1px solid #292926; border-radius: 5px; overflow: hidden; background: #0d0d0d; }
.product-image img { width: 100%; }
.product-image:hover { border-color: #68685f; }
.image-open { position: absolute; right: 16px; bottom: 14px; display: inline-flex; gap: 12px; align-items: center; border: 1px solid #45453f; padding: 8px 12px; background: #090909e8; color: #e7e4df; font-size: 12px; }
.product-details { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 56px; padding-top: 38px; }
.product-copy { max-width: 650px; }
.product-copy h2 { margin-bottom: 18px; font-size: clamp(27px, 2.6vw, 36px); line-height: 1.2; font-weight: 400; letter-spacing: -.3px; }
.product-copy p { color: var(--muted); font-size: 18px; line-height: 1.7; }
.product-copy .product-availability { margin-top: 14px; font-size: 15px; color: #aaa69f; }
.product-action { text-align: right; }
.product-action .button-primary { margin: 0; font-size: 18px; padding: 15px 24px; }
.product-action > p { color: #aaa69f; font-size: 13px; margin-top: 14px; line-height: 1.7; }
.product-action .product-access-note { font-size: 16px; color: var(--muted); margin: 0; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--muted); font-size: 14px; padding-block: 10px; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #59564f; }
.text-link:hover { color: var(--text); text-decoration-color: var(--red); }
.software-mentoring { border-block: 1px solid #30302d; padding-block: 100px; text-align: center; background: linear-gradient(180deg, #141413, #0c0c0b); }
.software-mentoring .eyebrow { color: var(--muted); margin-bottom: 24px; }
.software-mentoring h2 { font-size: clamp(32px, 4vw, 50px); font-weight: 400; line-height: 1.2; }
.software-mentoring p:not(.eyebrow) { max-width: 620px; margin: 24px auto 12px; font-size: 20px; line-height: 1.65; color: var(--muted); }
.software-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 35px; }
@media (max-width: 850px) {
  .product-details { gap: 30px; }
  .product-copy h2 { font-size: 28px; }
  .product-action .button { font-size: 16px; gap: 16px; padding-inline: 18px; }
}
@media (max-width: 700px) {
  .software-intro { padding-block: 72px 36px; }
  .software-intro h1 { font-size: clamp(42px, 9vw, 60px); }
  .software-intro-copy { font-size: 18px; }
  .software-index { gap: 8px 24px; margin-top: 30px; }
  .software-index a { font-size: 15px; }
  .software-product { padding-block: 34px 64px; }
  .software-product + .software-product { padding-top: 60px; }
  .product-meta { margin-bottom: 22px; gap: 12px; }
  .product-meta .eyebrow { font-size: 10px; letter-spacing: 2px; }
  .product-meta .eyebrow span { margin-right: 9px; }
  .access-label { font-size: 11px; padding: 8px 10px; }
  .image-open { position: static; display: flex; justify-content: center; border: 0; border-top: 1px solid #292926; padding: 11px; }
  .product-details { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
  .product-copy h2 { font-size: 28px; overflow-wrap: anywhere; }
  .product-copy p { font-size: 17px; }
  .product-action { text-align: left; }
  .product-action .button { min-height: 49px; }
  .software-mentoring { padding-block: 72px; }
  .software-mentoring p:not(.eyebrow) { font-size: 18px; }
  .software-mentoring .button { font-size: 16px; gap: 15px; padding-inline: 18px; }
  .software-footer { flex-direction: column; gap: 12px; padding-block: 30px; }
}
