.apps-intro, .apps-list, .apps-contact { max-width: 1050px; margin-left: auto; margin-right: auto; }
.apps-intro { padding: 76px 20px 50px; text-align: center; }
.apps-intro h1 { font-size: clamp(30px, 4vw, 42px); margin: 8px 0 20px; letter-spacing: .08em; }
.apps-intro p { line-height: 2; }
.apps-eyebrow { color: #648c8d; font-family: Georgia, serif; letter-spacing: .18em; font-size: 13px; }
.apps-list { padding: 0 20px; }
.app-card { --app-color: #bf5261; display: grid; grid-template-columns: minmax(210px, 36%) 1fr; background: #fff; border: 1px solid #dfe9e6; margin-bottom: 28px; box-shadow: 0 8px 26px rgba(42, 72, 72, .07); }
.app-card--pharm { --app-color: #3473ad; } .app-card--cad { --app-color: #557877; }
.app-mark { display: flex; justify-content: center; align-items: center; padding: 42px; background: #faf3f3; }
.app-card--pharm .app-mark { background: #f0f6fa; } .app-card--cad .app-mark { background: #edf5f3; }
.app-mark img { max-width: 100%; max-height: 140px; object-fit: contain; }
.app-card--cad .app-mark img { max-width: 160px; }
.app-copy { padding: 38px 42px; color: #313f40; line-height: 1.95; }
.app-copy h2 { margin: 0 0 4px; font-family: Georgia, serif; font-size: 29px; letter-spacing: .04em; }
.app-copy h3 { margin: 0 0 18px; font-size: 17px; font-weight: 600; }
.app-copy p { margin: 0 0 16px; }
.app-category { color: var(--app-color); font-size: 12px; font-weight: bold; letter-spacing: .12em; }
.app-copy .app-note { color: #687574; font-size: 12px; }
.app-link { display: inline-block; padding: 10px 20px; color: white !important; background: var(--app-color, #578381); text-decoration: none; font-size: 14px; }
.app-link:hover { opacity: .82; } .app-link:focus-visible { outline: 3px solid #263f40; outline-offset: 3px; }
.apps-contact { margin-top: 40px; margin-bottom: 80px; padding: 40px 20px; text-align: center; background: #e5f1ed; line-height: 2; }
.apps-contact h2 { font-size: 23px; margin: 0 0 12px; }
@media (max-width: 680px) { .apps-intro { padding: 48px 20px 30px; } .app-card { grid-template-columns: 1fr; } .app-mark { padding: 30px; min-height: 130px; } .app-mark img { max-height: 75px; max-width: 220px; } .app-copy { padding: 28px 24px; } .apps-contact { margin: 30px 20px 60px; } }

.app-screen { grid-column: 1 / -1; margin: 0; padding: 0 32px 28px; background: #fff; }
.app-screen img { display: block; width: 100%; height: auto; border: 1px solid #d9e5e2; }
.app-screen figcaption { margin-top: 10px; color: #536361; font-size: 12px; line-height: 1.7; }
@media (max-width: 680px) { .app-screen { padding: 0 20px 24px; } }

.app-copy .app-free-access { display: inline-block; margin: 2px 0 12px; padding: 5px 12px; border: 1px solid var(--app-color); border-radius: 3px; color: var(--app-color); font-size: 14px; font-weight: 700; line-height: 1.6; }
