.apps-hero .container { padding-block: 54px 50px; }
.apps-hero h1 { max-width: 850px; }
.apps-hero .lede { max-width: 680px; }

.apps-section { padding-block: 56px 64px; }
.apps-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.app-card { min-height: 0; }
.app-card .card-body { padding: 28px 30px 24px; }
.app-card h2 { font-size: 30px; margin: 20px 0 14px; }
.app-card p { font-size: 16px; max-width: 45ch; }
.app-card .app-data { font-size: 13px; margin-top: 20px; }
.app-card .card-result { min-height: 0; padding: 20px 30px; }
.app-card .text-link { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; }
.app-card .text-link span { display: inline; color: inherit; font-size: 18px; margin: 0; }
.app-status { display: flex; align-items: center; min-height: 44px; margin: 0; }
.app-card .app-status { color: var(--blue-dark); font-size: 14px; }

.apps-privacy { padding-block: 44px 50px; }
.apps-privacy .container { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 60px; }
.apps-privacy h2 { font-size: 32px; margin-bottom: 0; }
.apps-privacy p:not(.eyebrow) { color: var(--muted); }
.apps-page a:focus-visible, .apps-page summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.apps-page .site-footer a:focus-visible { outline-color: var(--white); }
.apps-page .mobile-menu a[aria-current="page"] { background: var(--lavender); color: var(--blue); }
.apps-page #main { scroll-margin-top: 96px; }

@media (max-width: 700px) {
  .apps-hero .container { padding-block: 36px 40px; }
  .apps-hero h1 { font-size: 42px; }
  .apps-section { padding-block: 36px 40px; }
  .apps-grid, .apps-privacy .container { grid-template-columns: 1fr; }
  .apps-privacy .container { gap: 24px; }
  .app-card .card-body { padding: 24px; }
  .app-card .card-result { padding: 16px 24px; }
}

/* Product philosophy */
#philosophy, #our-apps { scroll-margin-top: 110px; }
.philosophy { padding-block: 76px 64px; color: #e5e7ff; background: #16194c; }
.philosophy-layout { display: grid; grid-template-columns: 1fr 1.25fr; gap: 90px; }
.philosophy-intro .eyebrow { color: #bbc0ff; }
.philosophy-intro h2 { color: #fff; font-size: clamp(40px, 5vw, 64px); letter-spacing: -.045em; margin-bottom: 24px; }
.philosophy-intro h2 span { color: #c7caff; }
.philosophy-intro > p:not(.eyebrow) { max-width: 28ch; font-size: 18px; }
.philosophy-mark { display: inline-flex; align-items: baseline; font-size: 132px; font-weight: 800; letter-spacing: -.09em; line-height: 1; margin-top: 32px; color: #414883; }
.philosophy-mark span { font-size: 88px; color: #868ef2; margin-left: 20px; }
.principles { list-style: none; padding: 0; margin: 0; counter-reset: principle; }
.principles li { counter-increment: principle; position: relative; padding: 23px 0 23px 54px; border-top: 1px solid #454973; }
.principles li:first-child { padding-top: 0; border-top: 0; }
.principles li::before { content: "0" counter(principle); position: absolute; left: 0; color: #b6bcff; font-size: 13px; font-weight: 700; letter-spacing: .08em; padding-top: 4px; }
.principles h3 { color: #fff; font-size: 23px; margin-bottom: 8px; }
.principles p { max-width: 47ch; font-size: 16px; line-height: 1.6; }
.philosophy-promise { border-top: 1px solid #454973; margin: 36px 0 0; padding-top: 34px; font-size: clamp(24px, 3vw, 38px); line-height: 1.3; letter-spacing: -.025em; }
.philosophy-promise strong { color: #fff; }
@media (max-width: 760px) {
  .philosophy { padding-block: 44px; }
  .philosophy-layout { grid-template-columns: 1fr; gap: 36px; }
  .philosophy-mark { display: none; }
  .philosophy-intro > p:not(.eyebrow) { max-width: 40ch; }
  .principles li { padding-left: 42px; }
  .philosophy-promise { margin-top: 16px; }
}
