/* LSN 3.1 — product portfolio; no dependencies, trackers or remote assets. */
.project-card-link { display: block; min-width: 0; border-radius: 22px; }
.project-grid { row-gap: 48px; }
.project-caption > div { min-width: 0; }
.project-caption h3 { overflow-wrap: break-word; }
.project-store-shortcut { margin-top: 12px; font-size: 13px; }
.project-status { display: inline-flex; align-items: center; gap: 7px; width: fit-content; max-width: 100%; padding: 6px 10px; border-radius: 100px; background: #e7eddd; color: #3d5430; font-size: 10px; font-weight: 600; line-height: 1.4; }
.project-status > span { flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.project-caption .project-status { margin-top: 13px; }
.project-status--soon { background: var(--lime); color: var(--ink); font-size: 12px; padding: 7px 12px; }
.project-jump-nav { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 35px; }
.project-jump-nav a { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; min-height: 44px; border: 1px solid var(--line); border-radius: 100px; font-size: 12px; line-height: 1.5; transition: background .2s; }
.project-jump-nav a:hover { background: var(--lime); }
.project-jump-nav .icon { width: 16px; height: 16px; }
.project-detail-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.project-detail-top .project-status { margin: 0; }
.project-detail-copy { min-width: 0; }
.project-detail-copy h2 { overflow-wrap: break-word; }
.project-features { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.project-features li { display: inline-flex; align-items: center; gap: 7px; background: var(--tint); border: 1px solid var(--line); border-radius: 100px; padding: 7px 11px; font-size: 11px; line-height: 1.4; }
.project-features .icon { width: 14px; height: 14px; color: #496035; }
.project-detail-copy > p.project-store-note { margin-top: 13px; font-size: 12px; line-height: 1.6; }
.project-release-note { display: flex; align-items: flex-start; gap: 13px; margin-top: 26px; border-top: 1px solid var(--line); padding-top: 23px; }
.project-release-note > .icon { color: #536b3c; width: 26px; height: 26px; }
.project-release-note p { max-width: 400px; font-size: 13px; line-height: 1.7; }

/* Real product icons from the supplied App Store screenshots. */
.project-art--calories { background: #f1e0bd; color: #3b3123; }
.project-art--lumevra { background: #21173d; color: #f6efff; }
.project-art--calories .project-art-tag { background: #faf3e6; border-color: #c8ad815c; }
.project-art--calories .project-arrow { border-color: #8f78574d; }
.project-art--lumevra .project-art-tag { background: #382751; border-color: #bd95e440; }
.product-emblem { position: absolute; top: 18%; right: 12%; width: min(27%, 152px); aspect-ratio: 1; border-radius: 24%; transform: rotate(7deg); box-shadow: 0 18px 35px #372d2826; z-index: 2; }
.product-emblem img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.project-art--lumevra .product-emblem { transform: rotate(-7deg); box-shadow: 0 18px 40px #0b00296b; }
.product-orbit { position: absolute; aspect-ratio: 1; width: 77%; right: -6%; top: -20%; border: 1px solid #a4804440; border-radius: 50%; pointer-events: none; }
.product-orbit--two { width: 96%; right: -15.5%; top: -36%; }
.project-art--lumevra .product-orbit { border-color: #bc91fa2e; }
.project-art--lumevra::after { content: ''; position: absolute; width: 64%; height: 75%; right: -12%; top: -20%; background: radial-gradient(ellipse,#7546b848,transparent 68%); z-index: 0; }
.product-spark { position: absolute; top: 27%; left: 16%; color: #ab733e; transform: rotate(14deg); }
.product-spark .icon { width: 37px; height: 37px; stroke-width: 1.1; }
.project-art--lumevra .product-spark { color: #cdabff; }
.project-art--calories .project-art-bottom, .project-art--lumevra .project-art-bottom { z-index: 3; }
.project-art--calories .project-art-bottom strong, .project-art--lumevra .project-art-bottom strong { max-width: 85%; font-size: clamp(24px, 6.8cqw, 44px); }
.project-detail--calories .product-emblem, .project-detail--lumevra .product-emblem { top: 23%; right: 15%; width: min(29%, 156px); }
.project-detail--calories .product-orbit, .project-detail--lumevra .product-orbit { top: -5%; }
.project-detail--calories .product-orbit--two, .project-detail--lumevra .product-orbit--two { top: -16%; }
.project-detail--calories .product-spark, .project-detail--lumevra .product-spark { top: 34%; }

/* An honest pre-release announcement, not a fake download link. */
.project-art--games { background: #2b3428; color: var(--paper); }
.project-art--games .project-art-tag { border-color: #96a78b6b; color: #d8e1cf; }
.game-orbit { position: absolute; width: 65%; aspect-ratio: 1; right: -1%; top: -10%; border: 1px solid #d4ff622e; border-radius: 50%; }
.game-orbit--two { width: 85%; right: -11%; top: -24%; }
.game-emblem { position: absolute; top: 21%; right: 13%; transform: rotate(-13deg); color: var(--lime); }
.game-emblem .icon { width: 27cqw; height: 20cqw; stroke-width: .85; }
.game-spark { position: absolute; top: 27%; left: 17%; color: #b1c29f; transform: rotate(13deg); }
.game-spark .icon { width: 31px; height: 31px; stroke-width: 1; }
.project-art--games .project-art-bottom strong { font-size: clamp(24px, 6.6cqw, 44px); }
.project-detail--games .game-emblem { top: 26%; }
.project-detail--games .game-spark { top: 34%; }
.project-card--games { grid-column: 1 / -1; }
.project-card--games > .project-card-link { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; background: #e3e9d9; border: 1px solid #d2dbc5; overflow: hidden; }
.project-card--games .project-art { border-radius: 0; aspect-ratio: 1.85; height: 100%; min-height: 275px; }
.project-card--games .project-caption { display: block; padding: 28px 38px; }
.project-card--games .project-caption h3 { font-size: 30px; }
.project-card--games .project-caption > p { margin-top: 19px; max-width: 390px; font-size: 14px; }
.project-card--games .project-caption .project-status { margin-top: 16px; }
@media (max-width: 1199px) {
  .project-card--games .project-caption { padding: 26px; }
  .project-card--games .project-caption h3 { font-size: 26px; }
}
@media (max-width: 819px) {
  .project-jump-nav { gap: 8px; padding-bottom: 25px; }
  .project-jump-nav a { padding-inline: 12px; gap: 8px; }
  .project-grid { row-gap: 36px; }
  .project-art--calories .product-emblem, .project-art--lumevra .product-emblem { top: 20%; right: 12%; width: 28%; }
  .project-detail--calories .product-emblem, .project-detail--lumevra .product-emblem { top: 20%; width: min(25%, 150px); }
  .project-card--games .project-art { min-height: 235px; }
  .project-card--games .project-caption { padding: 24px; }
  .project-card--games .project-caption > p { font-size: 13px; }
  .project-card--games .game-emblem { top: 24%; }
  .project-status { font-size: 10px; }
  .project-status--soon { font-size: 12px; }
}
@media (max-width: 599px) {
  .project-card--games > .project-card-link { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
  .project-card--games .project-art { aspect-ratio: 1.4; min-height: 0; }
  .project-card--games .project-caption { padding: 25px 22px 29px; }
  .project-card--games .project-caption h3 { font-size: 26px; }
  .project-card--games .project-caption > p { font-size: 14px; margin-top: 16px; }
  .project-art--calories .product-emblem, .project-art--lumevra .product-emblem { top: 21%; width: 28%; }
  .product-spark { top: 30%; }
  .project-detail--calories .product-emblem, .project-detail--lumevra .product-emblem { top: 25%; width: 29%; }
  .project-jump-nav a { font-size: 11px; }
  .project-detail-top { gap: 12px; }
  .project-detail-copy h2 { font-size: 33px; }
  .project-features { gap: 7px; margin-top: 21px; }
  .project-features li { padding: 7px 9px; font-size: 10px; }
  .project-release-note { margin-top: 23px; padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) { .project-jump-nav a { transition: none; } }
@media (forced-colors: active) {
  .project-status, .project-features li, .project-card--games > .project-card-link { border: 1px solid ButtonText; }
}
@media print {
  .project-jump-nav { display: none; }
  .project-card, .project-detail { break-inside: avoid; }
  .project-card--games > .project-card-link { display: block; }
  .project-card--games .project-art { max-width: 400px; }
  .project-status, .project-features li, .project-release-note { border: 1px solid #ccc; }
}
