/* SWD Apps — panel with pitch + app screens (3 beside the text, 4+ in a row under it). */
.swd.swd-apps { padding: clamp(90px, 12vw, 190px) 0 0; }
.swd-apps .panel { border-radius: var(--r-xl); background: var(--card); box-shadow: inset 0 0 0 1px var(--edge); padding: clamp(28px, 5vw, 70px); }
.swd-apps .apps__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.swd-apps .apps__title { font-size: clamp(36px, 4.4vw, 64px); }
.swd-apps .lead { margin-top: 20px; font-size: clamp(17px, 1.5vw, 21px); color: var(--muted); }
.swd-apps .btn { margin-top: 36px; }
.swd-apps .phones { display: flex; justify-content: center; gap: clamp(14px, 2.4vw, 30px); align-items: flex-start; }
.swd-apps .phone { margin: 40px 0 0; width: min(210px, 30%); display: grid; gap: 14px; }
.swd-apps .phone img { width: 100%; height: auto; aspect-ratio: 471 / 1024; object-fit: cover; object-position: top; border-radius: 30px; border: 6px solid #0B1020; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 60px -30px rgba(0, 0, 0, .8); }
.swd-apps .phone--mid { margin-top: -30px; }
.swd-apps .phone figcaption { font-size: 14px; color: var(--muted); line-height: 1.35; }
.swd-apps .phone figcaption b { display: block; font-size: 15.5px; font-weight: 500; color: #fff; }

/* 4+ apps: text on top (title left, intro + button right), phones in one row under it */
.swd-apps .apps__grid--wide { grid-template-columns: minmax(0, 1fr); gap: clamp(30px, 4vw, 56px); }
.swd-apps .apps__grid--wide .apps__text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: end; }
.swd-apps .apps__grid--wide .apps__title { grid-row: span 2; }
.swd-apps .apps__grid--wide .lead { margin-top: 0; }
.swd-apps .apps__grid--wide .btn { margin-top: 0; justify-self: start; }
.swd-apps .apps__grid--wide .phones { gap: clamp(12px, 2vw, 28px); }
.swd-apps .apps__grid--wide .phone { width: auto; flex: 1 1 0; min-width: 0; max-width: 220px; margin-top: 40px; }
.swd-apps .apps__grid--wide .phone--mid { margin-top: 0; }
.swd-apps .apps__grid--wide .phone img { aspect-ratio: 1320 / 2868; }

@media (max-width: 980px) {
	.swd-apps .apps__grid--wide .apps__text { grid-template-columns: minmax(0, 1fr); }
	.swd-apps .apps__grid--wide .apps__title { grid-row: auto; }
	.swd-apps .apps__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.swd-apps .btn--lg { height: 54px; font-size: 18px; padding: 0 24px; }
	.swd-apps .phone img { border-width: 4px; border-radius: 22px; }
	.swd-apps .phone { margin-top: 20px; }
	.swd-apps .phone--mid { margin-top: -10px; }
	.swd-apps .apps__grid--wide .phones { justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; margin: 0 calc(-1 * clamp(28px, 5vw, 70px)); padding: 10px clamp(28px, 5vw, 70px) 6px; scrollbar-width: none; }
	.swd-apps .apps__grid--wide .phones::-webkit-scrollbar { display: none; }
	.swd-apps .apps__grid--wide .phone { flex: 0 0 58%; max-width: none; scroll-snap-align: center; margin-top: 24px; }
	.swd-apps .apps__grid--wide .phone--mid { margin-top: 0; }
}
