/* ============================================================
   דברים שבניתי בקוד · apps-page.css  (v4, 28.10.2026)
   בשפה של האתר (dy.css): לילה, Daniel Letters, קו דיו וצל קשיח.
   כל פרויקט הוא עולם: רקע מטושטש מהאתר עצמו שמתמזג ברקע של השכן ונושם לאט, ומכשירים עם סרטון שונה בכל מכשיר.
   תצוגות: duo = מחשב + טלפון, focus = הטלפון במרכז, solo = טלפון אחד (+ מרחפים אמיתיים מהאתר), twins = שני טלפונים.
   v4: לכל מכשיר פרספקטיבה משלו (בלי preserve-3d ובלי translateZ): ב-v3 הטלפון ישב 110px "לפני" המחשב
   והסיבוב של הזוג הניף אותו בקשת רחבה (≈77px) = הקפיצה שדניאל ראה. הריחוף (translate) מתחיל רק אחרי הכניסה,
   וכל האנימציות של סקשן נעצרות כשהוא לא על המסך (is-vis).
   ============================================================ */
.ap { --app: var(--gold); overflow-x: clip; }
.ap > .next-wrap { position: relative; z-index: 1; }

/* ---------- הפתיחה: קיר המסכים ---------- */
.ap-hero { position: relative; z-index: 1; min-height: min(88svh, 900px); display: grid; align-items: end; overflow: hidden; isolation: isolate;
  padding: calc(var(--nav-h) + 80px) 0 clamp(48px, 7vw, 96px); }
.ap-wall { position: absolute; inset: 0; z-index: -1; perspective: 1300px; pointer-events: none; }
.ap-wall::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--night) 4%, rgba(12, 16, 48, .55) 42%, rgba(12, 16, 48, .2) 70%, rgba(12, 16, 48, .65)),
              radial-gradient(70% 80% at 85% 85%, rgba(12, 16, 48, .85), transparent 70%); }
.ap-wall__plane { position: absolute; top: 6%; left: -20%; right: -20%; transform: rotateX(22deg) rotateZ(-7deg); transform-origin: 50% 0; }
.ap-wall__row { display: flex; gap: clamp(16px, 2vw, 30px); width: max-content; direction: ltr; animation: ap-drift 90s linear infinite; will-change: transform; }
.ap-wall__row i { flex: none; width: clamp(120px, 11vw, 196px); aspect-ratio: 432 / 936; border-radius: 26px; overflow: hidden; border: 3px solid var(--ink); background: #0b0e2a; box-shadow: 8px 12px 0 rgba(10, 11, 34, .6); }
.ap-wall__row img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ap-wall__row i:nth-child(odd) { transform: translateY(14%); }
@keyframes ap-drift { to { transform: translate3d(-50%, 0, 0); } }
.ap-hero.is-off .ap-wall__row { animation-play-state: paused; }
.ap-hero__in { position: relative; }
.ap-hero__title { margin-top: 14px; font: 900 var(--fs-hero)/.98 var(--f-brand); color: #fff; -webkit-text-stroke: .045em var(--ink); paint-order: stroke fill; text-shadow: .05em .06em 0 var(--ink); }
.ap-hero__title span { color: var(--gold); display: inline-block; }
.ap-hero__lede { margin-top: clamp(16px, 2vw, 24px); max-width: 56ch; font-size: var(--fs-lead); line-height: 1.65; color: #eef0ff; text-shadow: 0 2px 14px rgba(12, 16, 48, .9); }
/* כניסה של הפתיחה בטעינה */
@keyframes ap-rise { from { opacity: 0; transform: translate3d(0, 34px, 0); } }
@keyframes ap-pop { 0% { opacity: 0; transform: translate3d(0, 20px, 0) rotate(-6deg) scale(.8); } 70% { transform: translate3d(0, -4px, 0) rotate(2deg) scale(1.04); } }
@keyframes ap-wall-in { from { opacity: 0; transform: translate3d(0, 60px, 0); } }
html:not(.reduce-motion) .ap-hero__in > * { animation: ap-rise 1s var(--ease) both; }
html:not(.reduce-motion) .ap-hero__in > :nth-child(2) { animation-delay: .1s; }
html:not(.reduce-motion) .ap-hero__in > :nth-child(3) { animation-delay: .22s; }
html:not(.reduce-motion) .ap-hero__title span { animation: ap-pop 1.1s var(--ease) .45s both; }
html:not(.reduce-motion) .ap-wall__plane { animation: ap-wall-in 1.6s var(--ease) both; }

/* ---------- כותרות פרק ---------- */
.ap-ch { position: relative; z-index: 1; padding-block: clamp(60px, 8vw, 120px) 0; }
.ap-ch__in, .ap-app__in { width: min(1520px, 100% - 2 * var(--gutter)); margin-inline: auto; }
.ap-ch__in { display: grid; gap: 12px; }
.ap-ch__in > * { transition: opacity .9s var(--ease), transform .9s var(--ease); }
.ap-ch__in > :nth-child(2) { transition-delay: .08s; } .ap-ch__in > :nth-child(3) { transition-delay: .16s; }
.ap-ch h2 { font: 900 clamp(2.3rem, 1.6rem + 2.6vw, 3.8rem)/1 var(--f-brand); color: #fff; -webkit-text-stroke: .04em var(--ink); paint-order: stroke fill; text-shadow: .05em .06em 0 var(--ink); }
.ap-ch .lead { max-width: 60ch; font-size: var(--fs-lead); color: var(--muted); }

/* ---------- פרויקט: רקע שמתמזג ונושם ---------- */
.ap-app { --accent: var(--app); --ry: -13deg; --rx: 6deg; position: relative; padding-block: clamp(90px, 11vw, 170px); }
.ap-app--l { --ry: 13deg; }
.ap-bg { position: absolute; inset: -18% 0; z-index: 0; pointer-events: none; overflow: hidden; opacity: .95;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 26%, #000 74%, transparent); mask-image: linear-gradient(180deg, transparent, #000 26%, #000 74%, transparent); }
.ap-bg i { position: absolute; inset: -4%; background: center / cover no-repeat; transform: scale(1.06); animation: ap-breathe 22s ease-in-out infinite alternate; }
@keyframes ap-breathe { to { transform: scale(1.16) translate3d(-1.5%, 1.2%, 0); } }
.ap-bg::after { content: ""; position: absolute; inset: 0; background: rgba(12, 16, 48, .3); }
.ap-app::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(50% 62% at 15% 50%, rgba(12, 16, 48, .78), transparent 76%); }
.ap-app--l::before { background: radial-gradient(50% 62% at 85% 50%, rgba(12, 16, 48, .78), transparent 76%); }
.ap-app__in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(30px, 4vw, 76px); align-items: center; }
.ap-app--solo .ap-app__in, .ap-app--twins .ap-app__in { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.ap-app--l .ap-dev { order: 2; }
.ap-app--l .ap-app__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); }
.ap-app--l.ap-app--solo .ap-app__in, .ap-app--l.ap-app--twins .ap-app__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }

/* ---------- המכשירים: כל אחד בפרספקטיבה משלו ---------- */
.ap-dev { margin: 0; display: grid; justify-items: center; gap: clamp(26px, 3vw, 40px); }
.ap-stage { position: relative; width: 100%; transform: translate3d(0, var(--ey, 0px), 0); transition: transform 1.3s var(--ease), opacity .9s var(--ease); }
.ap-win { position: relative; border-radius: 16px; overflow: hidden; background: #0b0e2a; border: var(--stroke) solid var(--ink);
  box-shadow: 12px 14px 0 var(--ink), 0 60px 100px -34px rgba(0, 0, 0, .8);
  transform: perspective(2100px) rotateY(calc(var(--ry) + var(--py, 0deg) + var(--er, 0deg))) rotateX(calc(var(--rx) + var(--px, 0deg)));
  transition: transform 1.3s var(--ease); }
.ap-win::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255, 255, 255, .12), transparent 36%); }
.ap-win__bar { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; background: #1a1e48; border-bottom: 2px solid var(--ink); }
.ap-win__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .25); }
.ap-win__bar i:first-child { background: var(--app); }
.ap-win__bar span { margin-inline-start: auto; direction: ltr; font: 600 .78rem/1 var(--f-text); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-win video, .ap-win img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; background: #0b0e2a; }
.ap-phone { position: absolute; z-index: 2; padding: 6px; border-radius: 30px; background: var(--ink); box-shadow: 0 46px 80px -26px rgba(0, 0, 0, .85);
  transform: perspective(1500px) translate3d(0, var(--pey, 0px), 0) rotateY(calc(var(--ry) * .7 + var(--py, 0deg) * 1.2 + var(--er, 0deg))) rotateX(calc(var(--rx) + var(--px, 0deg))) rotateZ(var(--prz, 0deg));
  transition: transform 1.3s var(--ease) .12s, opacity .9s var(--ease) .12s; }
.ap-phone::after { content: ""; position: absolute; inset: 6px; border-radius: 24px; pointer-events: none; background: linear-gradient(125deg, rgba(255, 255, 255, .15), transparent 32%); }
.ap-phone video { display: block; width: 100%; height: auto; aspect-ratio: 432 / 936; object-fit: cover; object-position: top; border-radius: 24px; background: #0b0e2a; }

/* ריחוף: רק אחרי הכניסה, רק כשרואים את הסקשן. translate נפרד מ-transform, אז אין התנגשות עם ההטיה */
@keyframes ap-float { to { translate: 0 -12px; } }
@keyframes ap-float-s { to { translate: 0 -7px; } }
.ap-app.is-in .ap-phone { animation: ap-float 6.5s ease-in-out 1.6s infinite alternate; }
.ap-app.is-in .ap-phone--t2 { animation-duration: 7.5s; animation-delay: 2.4s; }
.ap-app.is-in .ap-win { animation: ap-float-s 9s ease-in-out 2s infinite alternate; }
.ap-app:not(.is-vis) .ap-phone, .ap-app:not(.is-vis) .ap-win, .ap-app:not(.is-vis) .ap-fl, .ap-app:not(.is-vis) .ap-bg i { animation-play-state: paused; }

/* duo: מחשב גדול, הטלפון מלפנים בפינה */
.ap-app--duo .ap-stage { padding: 0 0 8% 11%; }
.ap-app--duo.ap-app--l .ap-stage { padding: 0 11% 8% 0; }
.ap-app--duo .ap-phone { width: 27%; left: 0; bottom: 0; }
.ap-app--duo.ap-app--l .ap-phone { left: auto; right: 0; }
/* focus: הטלפון הוא הגיבור, המחשב מאחוריו */
.ap-app--focus .ap-stage { padding: 0 0 22% 30%; }
.ap-app--focus.ap-app--l .ap-stage { padding: 0 30% 22% 0; }
.ap-app--focus .ap-win { opacity: .92; }
.ap-phone--hero { width: 40%; left: 0; bottom: 0; padding: 7px; border-radius: 38px; }
.ap-app--l .ap-phone--hero { left: auto; right: 0; }
.ap-phone--hero::after { inset: 7px; border-radius: 31px; }
.ap-phone--hero video { border-radius: 31px; aspect-ratio: 540 / 1170; }
/* solo: טלפון אחד גדול */
.ap-app--solo .ap-stage { width: clamp(260px, 22vw, 360px); --ry: -10deg; }
.ap-app--solo .ap-app__in { gap: clamp(60px, 7vw, 130px); }
.ap-app--solo.ap-app--l .ap-stage { --ry: 10deg; }
.ap-phone--solo, .ap-phone--t1, .ap-phone--t2 { position: relative; padding: 7px; border-radius: 40px; }
.ap-phone--solo::after, .ap-phone--t1::after, .ap-phone--t2::after { inset: 7px; border-radius: 33px; }
.ap-phone--solo video, .ap-phone--t1 video, .ap-phone--t2 video { border-radius: 33px; aspect-ratio: 540 / 1170; }
/* twins: שני טלפונים, כהה ובהיר */
.ap-app--twins .ap-stage { display: flex; justify-content: center; align-items: flex-start; gap: 5%; width: min(100%, 740px); --ry: -8deg; }
.ap-app--twins.ap-app--l .ap-stage { --ry: 8deg; }
.ap-phone--t1, .ap-phone--t2 { width: 46%; }
.ap-phone--t1 { --prz: -2deg; }
.ap-phone--t2 { --prz: 2deg; margin-top: 14%; }

/* ---------- מרחפים: כרטיסים אמיתיים מ-GymDay, מנות אמיתיות מהמתכונים ---------- */
.ap-fl { position: absolute; z-index: 1; display: block; height: auto; pointer-events: none;
  transform: perspective(1500px) translate3d(0, var(--fy, 0px), 0) rotate(var(--fr, 0deg)) scale(var(--fs, 1)); opacity: var(--fo, 1);
  transition: transform 1.1s var(--ease) calc(.35s + var(--i) * .11s), opacity .8s var(--ease) calc(.35s + var(--i) * .11s);
  animation: ap-float 5.5s ease-in-out calc(1.8s + var(--i) * .7s) infinite alternate; }
.ap-fl--c1, .ap-fl--c2, .ap-fl--c3, .ap-fl--c4 { border-radius: 20px; border: var(--stroke) solid var(--ink); box-shadow: 8px 10px 0 var(--ink), 0 30px 60px -24px rgba(0, 0, 0, .7); }
.ap-fl--c1 { width: 64%; left: -52%; top: 5%; --fr: -4deg; }
.ap-fl--c2 { width: 50%; right: -46%; top: 22%; --fr: 5deg; border-radius: 26px; }
.ap-fl--c3 { width: 58%; left: -48%; bottom: 12%; --fr: 3deg; }
.ap-fl--c4 { width: 62%; right: -50%; bottom: 18%; --fr: -3deg; border-radius: 16px; }
.ap-fl[class*="--d"] { filter: drop-shadow(6px 8px 0 rgba(10, 11, 34, .55)) drop-shadow(0 20px 26px rgba(0, 0, 0, .35)); animation-name: ap-sway; animation-duration: 6s; }
@keyframes ap-sway { 50% { translate: 0 -9px; rotate: 3deg; } 100% { translate: 0 -14px; rotate: -2deg; } }
.ap-fl--d1 { width: 44%; left: -50%; top: 0; --fr: -8deg; }
.ap-fl--d2 { width: 40%; right: -46%; top: 6%; --fr: 7deg; }
.ap-fl--d3 { width: 48%; left: -60%; top: 40%; --fr: 4deg; }
.ap-fl--d4 { width: 42%; right: -52%; top: 42%; --fr: -6deg; }
.ap-fl--d5 { width: 46%; left: -44%; bottom: -4%; --fr: -3deg; }
.ap-fl--d6 { width: 38%; right: -40%; bottom: 2%; --fr: 9deg; }

/* מה רואים בכל מסך */
.ap-dev figcaption { width: 100%; }
.ap-caps { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; margin: 0; padding: 0; list-style: none; }
.ap-caps li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 12px; border-radius: var(--r-pill); background: rgba(12, 16, 48, .62); border: 1px solid var(--line); font: 700 .86rem/1.2 var(--f-brand); color: #eef0ff;
  transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: .7s; }
.ap-caps li + li { transition-delay: .82s; } .ap-caps li + li + li { transition-delay: .94s; }
.ap-caps svg { width: 18px; height: 18px; flex: none; color: var(--app); }

/* ---------- טקסט ---------- */
.ap-txt { display: grid; justify-items: start; gap: 12px; }
.ap-txt > * { transition: opacity .9s var(--ease), transform .9s var(--ease); }
.ap-txt > :nth-child(2) { transition-delay: .2s; } .ap-txt > :nth-child(3) { transition-delay: .27s; } .ap-txt > :nth-child(4) { transition-delay: .34s; }
.ap-txt > :nth-child(5) { transition-delay: .41s; } .ap-txt > :nth-child(6) { transition-delay: .5s; } .ap-txt > :nth-child(1) { transition-delay: .12s; }
.ap-logo { width: auto; max-width: 240px; height: auto; max-height: 116px; margin-bottom: 8px; filter: drop-shadow(4px 5px 0 var(--ink)); }
.ap-logo--midrash { max-height: 132px; }
.ap-logo--gym, .ap-logo--hamilton, .ap-logo--cook, .ap-logo--map { height: 104px; max-height: none; border-radius: 26px; border: var(--stroke) solid var(--ink); filter: none; box-shadow: 4px 5px 0 var(--ink); }
.ap-logo--book { height: 132px; max-height: none; border-radius: 6px 12px 12px 6px; filter: none; box-shadow: 5px 6px 0 var(--ink); rotate: -3deg; }
.ap-name { font: 900 clamp(2rem, 1.4rem + 1.8vw, 3rem)/1.05 var(--f-brand); color: #fff; -webkit-text-stroke: .035em var(--ink); paint-order: stroke fill; text-shadow: .045em .055em 0 var(--ink); }
.ap-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 4px; padding: 0; list-style: none; }
.ap-chips li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: var(--r-pill); background: rgba(12, 16, 48, .55); border: 1px solid var(--line); font: 700 .88rem/1 var(--f-brand); font-variant-numeric: tabular-nums; }
.ap-chips li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--app); }
.ap-dl { display: grid; gap: 4px; margin: 4px 0 10px; }
.ap-dl dt { font: 700 .92rem/1.3 var(--f-brand); color: var(--app); }
.ap-dl dd { margin: 0 0 10px; max-width: 54ch; line-height: 1.68; color: #eef0ff; text-shadow: 0 1px 10px rgba(12, 16, 48, .8); }

/* ---------- מצב לפני כניסה (רק כש-JS פעיל ויש תנועה) ---------- */
html:not(.no-js):not(.reduce-motion) .ap-app:not(.is-in) .ap-stage { --ey: 80px; --er: calc(var(--ry) * .8); opacity: 0; }
html:not(.no-js):not(.reduce-motion) .ap-app:not(.is-in) .ap-phone { --pey: 60px; opacity: 0; }
html:not(.no-js):not(.reduce-motion) .ap-app:not(.is-in) .ap-fl { --fy: 50px; --fs: .7; --fo: 0; }
html:not(.no-js):not(.reduce-motion) .ap-app:not(.is-in) .ap-caps li,
html:not(.no-js):not(.reduce-motion) .ap-app:not(.is-in) .ap-txt > *,
html:not(.no-js):not(.reduce-motion) .ap-ch:not(.is-in) .ap-ch__in > * { opacity: 0; transform: translate3d(0, 26px, 0); }

@media (max-width: 900px) {
  .ap-bg i, .ap-app.is-in .ap-win { animation: none; }   /* בטלפון: רק הטלפונים והמרחפים מרחפים, הרקע עומד */
  .ap-app, .ap-app--l { --ry: -7deg; --rx: 4deg; padding-block: clamp(70px, 14vw, 110px); }
  .ap-app::before, .ap-app--l::before { background: linear-gradient(180deg, transparent 30%, rgba(12, 16, 48, .62) 60%, transparent 96%); }
  .ap-app__in, .ap-app--solo .ap-app__in, .ap-app--twins .ap-app__in, .ap-app--l .ap-app__in, .ap-app--l.ap-app--solo .ap-app__in, .ap-app--l.ap-app--twins .ap-app__in { grid-template-columns: minmax(0, 1fr); }
  .ap-app--l .ap-dev { order: 0; }
  .ap-app--duo .ap-stage, .ap-app--duo.ap-app--l .ap-stage { padding: 0 0 16% 14%; }
  .ap-app--duo.ap-app--l .ap-phone { right: auto; left: 0; }
  .ap-app--duo .ap-phone { width: 37%; border-radius: 22px; padding: 4px; }
  .ap-app--duo .ap-phone video { border-radius: 18px; } .ap-app--duo .ap-phone::after { inset: 4px; border-radius: 18px; }
  .ap-app--focus .ap-stage, .ap-app--focus.ap-app--l .ap-stage { padding: 0 0 26% 24%; }
  .ap-app--l .ap-phone--hero { right: auto; left: 0; }
  .ap-phone--hero { width: 46%; border-radius: 28px; padding: 5px; } .ap-phone--hero video { border-radius: 23px; } .ap-phone--hero::after { inset: 5px; border-radius: 23px; }
  .ap-app--solo .ap-stage { width: min(56%, 300px); }
  .ap-app--twins .ap-stage { width: 100%; gap: 4%; }
  .ap-phone--solo, .ap-phone--t1, .ap-phone--t2 { border-radius: 30px; padding: 5px; }
  .ap-phone--solo video, .ap-phone--t1 video, .ap-phone--t2 video { border-radius: 25px; }
  .ap-phone--solo::after, .ap-phone--t1::after, .ap-phone--t2::after { inset: 5px; border-radius: 25px; }
  .ap-fl--c1 { width: 56%; left: -27%; top: 4%; } .ap-fl--c2 { width: 42%; right: -24%; top: 30%; } .ap-fl--c3 { width: 50%; left: -25%; bottom: 8%; } .ap-fl--c4 { display: none; }
  .ap-app--solo .ap-app__in { gap: 30px; }
  .ap-fl--c1, .ap-fl--c2, .ap-fl--c3, .ap-fl--c4 { border-radius: 14px; box-shadow: 5px 6px 0 var(--ink); }
  .ap-fl--d1, .ap-fl--d3, .ap-fl--d5 { left: -28%; } .ap-fl--d2, .ap-fl--d4, .ap-fl--d6 { right: -26%; }
  .ap-fl[class*="--d"] { width: 36%; }
}
@media (max-width: 600px) {
  .ap-hero { min-height: 78svh; }
  .ap-wall__row i { width: 110px; border-radius: 16px; }
  .ap-win__bar { height: 24px; padding: 0 10px; } .ap-win__bar span { font-size: .66rem; }
  .ap-win { box-shadow: 7px 8px 0 var(--ink), 0 40px 70px -30px rgba(0, 0, 0, .8); }
  .ap-caps li { font-size: .78rem; padding: 6px 11px; }
  .ap-logo { max-height: 90px; max-width: 200px; }
  .ap-logo--gym, .ap-logo--hamilton, .ap-logo--cook, .ap-logo--map { height: 84px; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .ap-wall__row, .ap-bg i, .ap-phone, .ap-win, .ap-fl, .ap-hero__in > *, .ap-hero__title span, .ap-wall__plane { animation: none !important; }
  .ap-stage, .ap-phone, .ap-win, .ap-fl, .ap-caps li, .ap-txt > *, .ap-ch__in > * { transition: none; }
}
html.reduce-motion .ap-wall__row, html.reduce-motion .ap-bg i, html.reduce-motion .ap-phone, html.reduce-motion .ap-win, html.reduce-motion .ap-fl { animation: none !important; }
html.reduce-motion .ap-stage, html.reduce-motion .ap-phone, html.reduce-motion .ap-win, html.reduce-motion .ap-fl,
html.reduce-motion .ap-caps li, html.reduce-motion .ap-txt > *, html.reduce-motion .ap-ch__in > * { transition: none; }

/* מה יש בפנים: רשימה קצרה עם נקודה בצבע של הפרויקט */
.ap-feat { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 6px 18px; margin: 4px 0 0; padding: 0; list-style: none; }
.ap-feat li { position: relative; padding-inline-start: 18px; font-size: .95rem; line-height: 1.5; color: #e2e4fb; }
.ap-feat li::before { content: ""; position: absolute; inset-inline-start: 0; top: .55em; width: 8px; height: 8px; border-radius: 3px; background: var(--app); rotate: 45deg; }
