/* Studio SMB V1.2: product pages and homepage cards. Existing components retained. */
.applications-page .application-hero { padding: calc(var(--header-h) + 58px) 0 24px; }
.applications-page .application-hero h1 { max-width: 970px; margin: 20px 0; font-size: clamp(2.45rem, 5.5vw, 4.6rem); line-height: 1.08; letter-spacing: -.045em; overflow-wrap: anywhere; }
.applications-page .application-hero .lead { max-width: 820px; }
.applications-page .application-back { display: inline-block; margin-bottom: 28px; }
.applications-page .application-hero .eyebrow { display: block; }
.applications-page .application-hero .hero-actions { margin-top: 24px; }
.applications-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.application-card { display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
.application-card > .application-image { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.application-card-copy { display: flex; flex-direction: column; flex: 1; padding: 26px; }
.application-card :is(h2, h3) { margin: 20px 0 14px; font-size: clamp(1.35rem, 2vw, 1.7rem); line-height: 1.2; }
.application-card p { color: var(--muted); line-height: 1.65; margin: 0 0 24px; }
.application-card .btn { align-self: flex-start; margin-top: auto; }
.application-status { display: inline-flex; align-self: flex-start; width: fit-content; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line-strong); color: var(--accent); background: rgba(var(--accent-rgb), .06); font-size: .78rem; font-weight: 700; }
.application-detail-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 44px; align-items: start; }
.application-story h2 { margin: 0 0 14px; font-size: 1.6rem; }
.application-story p { margin: 0 0 28px; color: var(--muted); line-height: 1.75; }
.application-figure { margin: 0; overflow: hidden; }
.application-figure .application-image { width: 100%; height: auto; display: block; }
.application-caption { color: var(--muted); font-size: .85rem; line-height: 1.65; margin: 22px 0; }
.application-figure .application-caption { margin: 0; padding: 20px 24px; }
.application-features, .application-context { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.application-features { margin-top: 26px; }
.application-features article, .application-context article { padding: 28px; }
.application-features h3, .application-context h2 { margin: 0 0 14px; font-size: 1.3rem; }
.application-features p, .application-context p { margin: 0; color: var(--muted); line-height: 1.7; }
.application-preview { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 16 / 10; background: radial-gradient(circle at center, rgba(var(--accent-rgb), .12), transparent 65%); }
.preview-orbit { width: 58%; aspect-ratio: 1; border: 1px solid var(--line-strong); border-radius: 50%; position: absolute; }
.preview-orbit::before, .preview-orbit::after { content: ""; position: absolute; inset: 20%; border-radius: 50%; border: 1px solid var(--line); }
.preview-orbit::after { inset: -24%; }
.preview-center { z-index: 1; color: var(--accent); font-weight: 800; letter-spacing: .16em; padding: 12px; background: var(--panel); }
.applications-page a:focus-visible, .applications-home #applications a:focus-visible, .applications-nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
@media (max-width: 1180px) {
  .applications-nav { display: none; }
  .applications-nav + .header-actions .mobile-toggle { display: inline-flex; }
}
@media (max-width: 1040px) {
  .applications-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-detail-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 760px) {
  .applications-grid, .application-features, .application-context { grid-template-columns: 1fr; }
  .applications-page .application-hero { padding-top: calc(var(--header-h) + 34px); }
  .application-card-copy, .application-features article, .application-context article { padding: 24px; }
  .application-card .btn { width: 100%; white-space: normal; text-align: center; }
}

/* V1.3: seven concise navigation entries, without widening the header. */
.applications-nav { gap: 2px; }
.applications-nav a { padding-inline: 8px; font-size: .86rem; }
@media (min-width: 1181px) and (max-width: 1360px) { .applications-nav + .header-actions > .btn { display: none; } }
