/* Corporate product pages; shared theme with room for each product's explanation. */
.product-opening, .suite-opening { background: var(--soft); }
.product-opening { padding-block: 29px 58px; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: var(--muted); font-size: 12px; line-height: 1.6; margin-bottom: 40px; }
.product-breadcrumb a { color: var(--brand); }
.product-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-opening-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.product-opening .software-product-logo { width: 260px; min-height: 78px; display: flex; align-items: center; }
.product-opening .software-product-logo > img:not(.snap-mark) { width: 260px; }
.product-opening .software-logo-snap { width: 290px; }
.product-opening h1 { font-size: clamp(33px, 3.3vw, 46px); color: var(--brand); font-weight: 650; letter-spacing: -.035em; line-height: 1.15; max-width: 530px; margin-top: 26px; }
.product-intro > p { font-size: 18px; line-height: 1.8; color: var(--muted); }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 25px; margin-top: 26px; }
.product-actions .button { gap: 27px; }
.product-intro > .product-site-note { font-size: 12px; line-height: 1.6; margin-top: 13px; }
.product-detail { --detail-text: var(--muted); --detail-title: var(--brand); --detail-line: var(--line); padding-block: 76px; scroll-margin-top: 18px; }
.product-detail--white { background: white; }
.product-detail--soft { background: var(--soft); padding-block: 58px; }
.product-detail--navy { background: var(--brand); --detail-text: #e0e6ef; --detail-title: white; --detail-line: #ffffff35; }
.product-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 90px; align-items: start; }
.products-page .product-detail h2 { font-size: clamp(30px, 2.8vw, 39px); color: var(--detail-title); max-width: 480px; }
.product-detail-copy p, .product-detail dd { font-size: 16px; line-height: 1.85; color: var(--detail-text); }
.product-detail-copy p + p { margin-top: 19px; }
.product-detail--scope .product-detail-copy { margin-top: 25px; }
.product-detail-copy .text-link { margin-top: 24px; min-height: 44px; }
.product-detail-technical { color: var(--detail-title); font-size: 13px; line-height: 1.8; margin-top: 23px; }
.product-detail dt { font-size: 22px; font-weight: 600; letter-spacing: -.025em; line-height: 1.3; color: var(--detail-title); }
.product-detail dd { margin: 12px 0 0; }
.product-detail-list { margin: 0; }
.product-detail-list > div { padding-block: 26px; border-top: 1px solid var(--detail-line); }
.product-detail-list > div:first-child { border-color: var(--detail-title); padding-top: 23px; }
.product-detail-list > div:last-child { padding-bottom: 0; }
.product-detail-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 90px; margin: 42px 0 0; }
.product-detail-columns > div { border-top: 1px solid var(--detail-line); padding-top: 25px; }
.product-detail-rows { margin: 38px 0 0; }
.product-detail-rows > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 90px; border-top: 1px solid var(--detail-line); padding-block: 26px; }
.product-detail-rows > div:last-child { padding-bottom: 0; }
.product-detail-rows dd { margin-top: 0; }
.product-detail-note { border-top: 1px solid var(--detail-line); padding-top: 22px; margin-top: 31px; max-width: 100%; font-size: 14px; line-height: 1.8; color: var(--detail-text); }
.product-detail--navy ::selection { background: white; color: var(--brand); }
.product-detail--navy :focus-visible { outline-color: white; }
.products-page .services-contact { padding-top: 0; }
.products-page .services-contact-inner h2 { font-size: clamp(30px, 3vw, 41px); }
.suite-opening { padding-block: 59px; }
.suite-opening .eyebrow { color: var(--brand); }
.suite-opening h1 { font-size: clamp(38px, 4.3vw, 61px); color: var(--brand); font-weight: 650; margin-top: 20px; }
.suite-opening p:last-child { color: var(--muted); max-width: 710px; margin-top: 22px; font-size: 18px; }
.suite-list-section { padding-block: 58px; }
.products-page .software-row { gap: 85px; padding-block: 40px; }
.products-page .software-row > div { min-width: 0; }
.products-page .software-row:first-child { padding-top: 0; }
.products-page .software-row:last-child { padding-bottom: 0; }
.suite-list-section + .services-contact { padding-top: 48px; }
@media (max-width: 1050px) {
  .product-detail-grid, .product-detail-columns, .product-detail-rows > div { gap: 48px; }
  .product-opening-grid, .products-page .software-row { gap: 48px; }
}
@media (max-width: 800px) {
  .product-detail { padding-block: 54px; }
  .product-detail--soft { padding-block: 44px; }
  .product-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .product-detail--scope .product-detail-copy { margin-top: 23px; }
  .product-detail-columns { gap: 34px; margin-top: 32px; }
  .product-detail-rows { margin-top: 30px; }
  .product-detail-rows > div { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 30px; }
  .product-opening { padding-block: 24px 42px; }
  .product-opening-grid { grid-template-columns: 1fr; gap: 28px; }
  .product-breadcrumb { margin-bottom: 25px; }
  .product-opening h1 { max-width: 650px; margin-top: 19px; }
  .product-intro { max-width: 660px; }
  .suite-opening { padding-block: 42px; }
  .products-page .software-row { grid-template-columns: 1fr 1.15fr; gap: 35px; }
}
@media (max-width: 540px) {
  .product-detail { padding-block: 43px; }
  .product-detail--soft { padding-block: 38px; }
  .products-page .product-detail h2 { font-size: 30px; }
  .product-detail dt { font-size: 21px; }
  .product-detail-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .product-detail-rows > div { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .product-opening { padding-bottom: 34px; }
  .product-opening h1 { font-size: 33px; }
  .product-intro > p { font-size: 16px; }
  .product-opening .software-product-logo { width: 230px; min-height: 69px; }
  .product-opening .software-logo-snap { width: min(290px,100%); }
  .product-actions { gap: 10px 22px; margin-top: 22px; }
  .product-actions .text-link, .product-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; }
  .product-breadcrumb { align-items: center; margin-top: -10px; margin-bottom: 17px; }
  .suite-opening { padding-block: 34px; }
  .suite-opening h1 { font-size: 36px; }
  .suite-opening p:last-child { font-size: 16px; }
  .suite-list-section { padding-block: 42px; }
  .products-page .software-row { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .suite-list-section + .services-contact { padding-top: 30px; }
}
