/* ─────────────────────────────────────────────────────────────
   Ailuna case — dark site canvas, Ailuna brand carried by its own palette
   (lime #D1FF97, aqua #9FFCF8, butter #FFEA8F), Montserrat and the speech-bubble logo.
   Media frames are left exactly as the original site renders them.
   Styling only: nodes stay where the case renderer put them (moving a lottie-player blanks it).
   ───────────────────────────────────────────────────────────── */
.project[data-brand="ailuna"]{
  --al-lime:#D1FF97; --al-aqua:#9FFCF8; --al-butter:#FFEA8F;
  --al-surface:#111316; --al-edge:rgba(243,239,231,.08);
  --al-font:"Montserrat", system-ui, sans-serif;
  --gold:var(--al-lime);
}
.project[data-brand="ailuna"] .project__mark{ font-family:var(--al-font); font-weight:700; }
.project[data-brand="ailuna"] .project__close:hover{ border-color:var(--al-lime); background:rgba(209,255,151,.08); }

/* hero */
.project[data-brand="ailuna"] .project__hero{ position:relative; isolation:isolate; }
.al-blobs{ position:absolute; inset:-10% 0 auto; height:120%; z-index:-1; pointer-events:none; overflow:hidden; }
.al-blobs i{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.16; animation:al-float 16s ease-in-out infinite alternate; }
.al-blobs i:nth-child(1){ width:38rem; height:38rem; right:-12rem; top:-8rem; background:var(--al-aqua); }
.al-blobs i:nth-child(2){ width:30rem; height:30rem; left:-14rem; top:12rem; background:var(--al-lime); animation-duration:19s; opacity:.12; }
.al-blobs i:nth-child(3){ width:22rem; height:22rem; right:18%; top:20rem; background:var(--al-butter); animation-duration:13s; opacity:.08; }
@keyframes al-float{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-4%,6%,0); } }

.al-logo{ display:block; width:clamp(8rem,14vw,10.5rem); height:auto; margin-bottom:2rem; }
.project[data-brand="ailuna"] .project__eyebrow{ font-family:var(--al-font); font-weight:700; letter-spacing:.24em; color:var(--al-lime); }
.project[data-brand="ailuna"] .project__title{ font-family:var(--al-font); font-weight:800; letter-spacing:-.04em; }
.project[data-brand="ailuna"] .project__title span{ font-family:var(--al-font) !important; font-weight:700 !important; letter-spacing:-.015em !important; opacity:1 !important;
  background:linear-gradient(90deg,var(--al-lime),var(--al-aqua)); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.project[data-brand="ailuna"] .project__tags span{ font-family:var(--al-font); font-weight:600; }
.project[data-brand="ailuna"] .project__lead{ font-family:var(--al-font); font-weight:500; letter-spacing:-.015em; }

.project[data-brand="ailuna"] .project__meta .m b{ font-family:var(--al-font); font-weight:600; color:var(--al-lime); opacity:.85; }
.project[data-brand="ailuna"] .project__meta .m span{ font-family:var(--al-font); font-weight:600; }

/* chapters */
.project[data-brand="ailuna"] .project__blocks > h2{ display:flex; align-items:center; gap:1rem; font-family:var(--al-font) !important; font-weight:800 !important;
  text-transform:uppercase; letter-spacing:-.005em !important; font-size:clamp(1.45rem,3vw,2.35rem) !important; line-height:1.08; }
.al-no{ flex:0 0 auto; display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--c,var(--al-lime));
  color:#0E1210; font-size:.82rem; font-weight:800; letter-spacing:0; }
.project[data-brand="ailuna"] .project__blocks p b{ color:var(--ink); font-weight:600; }

/* "•" lists → action cards, as in the app (check chip + bold title), on the dark canvas */
.al-cards{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:.75rem; }
@media (min-width:760px){ .al-cards{ grid-template-columns:1fr 1fr; } }
.al-cards li{ position:relative; padding:1.15rem 1.25rem 1.15rem 4rem; border-radius:20px; background:var(--al-surface); border:1px solid var(--al-edge);
  color:var(--ink-soft); line-height:1.55; font-size:1rem; }
.al-cards li::before{ content:""; position:absolute; left:1.15rem; top:1.1rem; width:1.9rem; height:1.9rem; border-radius:50%; background:var(--c,var(--al-lime)); }
.al-cards li::after{ content:""; position:absolute; left:1.74rem; top:1.62rem; width:.66rem; height:.36rem; border-left:2.4px solid #0E1210; border-bottom:2.4px solid #0E1210; transform:rotate(-45deg); }
.al-cards li b{ display:block; color:var(--ink); font-family:var(--al-font); font-weight:700; margin-bottom:.2rem; }

/* results + next */
.project[data-brand="ailuna"] .project__results .r b{ font-family:var(--al-font); font-weight:800; color:var(--c,var(--al-lime)); }
.project[data-brand="ailuna"] .project__results .r span{ font-family:var(--al-font); font-weight:500; }
.project[data-brand="ailuna"] .project__next strong{ font-family:var(--al-font); font-weight:800; }
.project[data-brand="ailuna"] .project__next:hover strong{ color:var(--al-lime); }

/* reveal (text only) */
.project[data-brand="ailuna"] .al-rv{ opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.project[data-brand="ailuna"] .al-rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .al-blobs i{ animation:none; }
  .project[data-brand="ailuna"] .al-rv{ opacity:1; transform:none; transition:none; }
}
