.apps-page { background:#f5f8f8; }
.apps-header { display:flex; justify-content:space-between; align-items:center; max-width:1120px; margin:0 auto; padding:28px 34px; }
.back-link { color:#315f78; font-size:.9rem; font-weight:600; text-decoration:none; }
.apps-language { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid #cbd9dd; border-radius:999px; color:#315f78; font-size:.78rem; line-height:1; }
.apps-language a,.apps-language span { padding:8px 11px; border-radius:999px; text-decoration:none; }
.apps-language span { background:#315f78; color:#fff; font-weight:600; }
.apps-main { max-width:1120px; margin:0 auto; padding:52px 34px 80px; }
.apps-intro { max-width:780px; margin-bottom:24px; }
.apps-eyebrow { margin:0 0 10px; color:#50758a; font-size:.76rem; font-weight:600; letter-spacing:.19em; }
.apps-intro h1 { margin:0; color:#17303d; font-size:clamp(1.35rem,4.5vw,2.4rem); line-height:1.25; white-space:nowrap; }
.app-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.app-item { display:grid; grid-template-columns:92px 1fr; gap:24px; min-height:290px; padding:28px; border:1px solid #dce4e5; border-radius:22px; background:#fff; box-shadow:0 8px 30px rgba(23,48,61,.05); }
.app-icon { width:92px; height:92px; border-radius:21px; object-fit:cover; box-shadow:0 8px 18px rgba(23,48,61,.14); }
.app-info h2 { margin:0 0 10px; color:#17303d; font-family:"Shippori Mincho",serif; font-size:1.4rem; line-height:1.4; }
.app-name-en { margin:0 0 10px; color:#65777f; font-size:.9rem; line-height:1.5; }
.app-devices { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.app-device { display:inline-block; padding:4px 10px; border-radius:999px; background:#e9f1f3; color:#315f78; font-size:.75rem; font-weight:600; line-height:1.35; }
.app-site-link { margin:0 0 10px; line-height:1.5; }
.app-site-link a { color:#315f78; font-size:.9rem; font-weight:600; text-decoration-color:#82bfd2; text-decoration-thickness:2px; text-underline-offset:5px; }
.app-description { margin:0; color:#556b75; font-size:.9rem; line-height:1.75; }
.app-links { display:flex; align-items:center; flex-wrap:wrap; gap:9px 16px; margin-top:18px; }
.app-links a { color:#315f78; font-size:.84rem; font-weight:600; text-underline-offset:5px; }
.app-links .store-badge { display:inline-flex; align-items:center; flex:0 0 auto; text-decoration:none; }
.store-badge img { display:block; width:auto; height:40px; }
.apps-footer { border-top:1px solid #dce4e5; }
@media (max-width:760px) {
  .apps-header { padding:20px 22px; }
  .apps-language { font-size:.7rem; }
  .apps-language a,.apps-language span { padding:7px 9px; }
  .apps-main { padding:30px 22px 54px; }
  .apps-intro { margin-bottom:18px; }
  .apps-intro h1 { font-size:clamp(1.25rem,5.7vw,1.75rem); }
  .app-list { grid-template-columns:1fr; gap:12px; }
  .app-item { grid-template-columns:68px 1fr; gap:15px; min-height:auto; padding:20px 17px; border-radius:17px; }
  .app-icon { width:68px; height:68px; border-radius:16px; }
  .app-info h2 { font-size:1.17rem; }
  .app-name-en { margin-bottom:12px; font-size:.82rem; }
  .app-devices { margin-bottom:9px; }
  .app-device { font-size:.7rem; }
  .app-description { font-size:.85rem; line-height:1.7; }
  .app-links { gap:7px 13px; margin-top:12px; }
  .apps-footer { padding-inline:22px; }
}
