.software-platform {padding: 88px 0; background: #fff; color: #66777b;}
.software-platform .container {padding-left: 24px; padding-right: 24px;}
.platform-intro {max-width: 760px; margin-bottom: 48px;}
.software-platform h2, .software-platform h3 {color: #102e32;}
.platform-intro h2 {font-size: clamp(28px, 3vw, 42px); line-height: 1.2; margin: 0 0 20px; letter-spacing: -.035em;}
.software-platform p {font-size: 17px; line-height: 1.75; margin: 0;}
.platform-apps {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px;}
.platform-image {display: grid; place-items: center; aspect-ratio: 4 / 3; background: #d9d9d9; color: #626262; text-align: center; padding: 24px;}
.platform-image span {font-size: 15px;}
.platform-app-copy {padding-top: 28px;}
.platform-category {color: #00875b; font-size: 14px; font-weight: 600;}
.platform-app h2 {font-size: 30px; margin: 10px 0 16px; letter-spacing: -.035em;}
.platform-link {display: inline-flex; align-items: center; gap: 14px; margin-top: 24px; color: #00875b; font-weight: 700; line-height: 1.5;}
.platform-link:hover {color: #005c3d; text-decoration: underline; text-underline-offset: 4px;}
.platform-link span {font-size: 24px;}
.platform-support {margin-top: 80px; padding-top: 64px; border-top: 1px solid #e5eae7;}
.platform-support-intro {margin-bottom: 36px; max-width: 760px;}
.platform-support-intro h2 {font-size: clamp(26px, 2.5vw, 34px); margin: 0 0 16px; letter-spacing: -.035em;}
.platform-support-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;}
.platform-tool-image {aspect-ratio: 3 / 2;}
.platform-tool h3 {font-size: 23px; margin: 24px 0 12px;}
@media (max-width: 767px) {
    .software-platform {padding: 56px 0;}
    .platform-intro {margin-bottom: 32px;}
    .platform-apps, .platform-support-grid {grid-template-columns: 1fr; gap: 40px;}
    .platform-app h2 {font-size: 27px;}
    .platform-support {margin-top: 56px; padding-top: 40px;}
}

.platform-stores {display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px;}
.platform-stores a {display: inline-flex; max-width: 100%;}
.platform-stores img {display: block; width: auto; height: 48px; max-width: 100%; object-fit: contain;}

/* Give RFID a full-width feature panel above the supporting dashboards. */
.software-platform .platform-support-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
#rfid {grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: center; padding: 48px; border-radius: 20px; background: #103e31; color: #dcebe3; overflow: hidden;}
.rfid-visual {position: relative; aspect-ratio: 1.15; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #d9d9d9; border-radius: 14px; padding: 16px;}
.rfid-visual.has-image {padding: 0; overflow: hidden; background: #fff;}
.rfid-visual.has-image > img {display: block; width: 100%; height: 100%; object-fit: contain;}
#rfid h3 {color: #bbd7c5; font-size: 16px; font-weight: 600; margin: 0 0 20px;}
.software-platform #rfid .rfid-headline {color: #fff; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.15; letter-spacing: -.04em; font-weight: 700; margin-bottom: 24px;}
.rfid-headline span {color: #acf17e;}
#rfid .rfid-description {color: #dcebe3; font-size: 17px; line-height: 1.75;}
.rfid-tap-note {display: flex; align-items: center; gap: 12px; padding-top: 24px; margin-top: 28px; border-top: 1px solid #527162; color: #c4edb1; font-size: 14px;}
.rfid-tap-note svg {width: 25px; height: 25px; flex-shrink: 0;}
@media (max-width: 767px) {
    .software-platform .platform-support-grid {grid-template-columns: 1fr;}
    #rfid {grid-template-columns: 1fr; padding: 24px; gap: 28px; border-radius: 14px;}
    .rfid-visual {aspect-ratio: 1.2;}
    .software-platform #rfid .rfid-headline {font-size: clamp(29px, 7.5vw, 40px);}
}

.platform-image.has-image {position: relative; padding: 0; overflow: hidden; background: #f6f7f6;}
.platform-image.has-image > img {position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain;}
