/* ===================== ÉTUDES DE CAS — style futuriste AMONT ===================== */
:root {
  --ink: #0b0b0b;
  --paper: #f4f1ec;
  --muted: #a8a5a1;
  --salmon: #168A72;
  --neon: var(--salmon);
  --neon-rgb: 22, 138, 114;
  --glass: rgba(244, 241, 236, .055);
  --line: rgba(244, 241, 232, .15);
  --max-width: 1440px;
  --pad: clamp(1.25rem, 4vw, 4.5rem);
}
@property --frame-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: "Manrope", sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
h1, h2, h3 { margin: 0; font-weight: 600; letter-spacing: -.065em; line-height: .96; }

/* ---------- Header ---------- */
.case-header { position: fixed; z-index: 20; top: 0; left: 50%; width: min(calc(100% - 2.5rem), var(--max-width)); display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 0; transform: translateX(-50%); }
.case-logo img { display: block; width: clamp(8rem, 14vw, 12rem); height: auto; }
.case-menu-toggle { display: inline-flex; min-width: 10rem; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: .7rem; padding: .8rem 1.15rem; border: 1px solid rgba(244, 241, 236, .14); border-radius: 100px; color: var(--paper); background: rgba(11, 11, 11, .55); backdrop-filter: blur(14px); cursor: pointer; font: 600 .78rem "Manrope", sans-serif; letter-spacing: .08em; text-transform: uppercase; transition: border-color .3s, box-shadow .3s; }
.case-menu-toggle:hover, .case-menu-toggle[aria-expanded="true"] { border-color: rgba(var(--neon-rgb), .7); box-shadow: 0 0 24px rgba(var(--neon-rgb), .35); }
.case-menu-icon { display: flex; width: 1.65rem; flex-direction: column; gap: .28rem; }
.case-menu-icon span { display: block; width: 100%; height: 2px; background: var(--paper); transition: transform .25s, opacity .25s; }
.case-menu-toggle[aria-expanded="true"] .case-menu-icon span:first-child { transform: translateY(.4rem) rotate(45deg); }
.case-menu-toggle[aria-expanded="true"] .case-menu-icon span:nth-child(2) { opacity: 0; }
.case-menu-toggle[aria-expanded="true"] .case-menu-icon span:last-child { transform: translateY(-.4rem) rotate(-45deg); }
.case-nav { position: absolute; top: calc(100% + .5rem); right: 0; display: flex; min-width: 14rem; flex-direction: column; padding: .55rem; border: 1px solid rgba(var(--neon-rgb), .35); border-radius: 1rem; background: rgba(11, 11, 11, .9); backdrop-filter: blur(18px); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8), 0 0 30px rgba(var(--neon-rgb), .15); opacity: 0; visibility: hidden; transform: translateY(-.5rem); transition: opacity .25s, visibility .25s, transform .25s; }
.case-nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
.case-nav a { padding: .8rem .9rem; border-radius: .6rem; font-size: .86rem; transition: color .2s, background .2s; }
.case-nav a:hover { color: var(--neon); background: rgba(var(--neon-rgb), .1); }

/* ---------- Fond fx ---------- */
.fx-section { position: relative; isolation: isolate; background: linear-gradient(180deg, var(--ink) 0%, #07100e 45%, var(--ink) 100%); }
.fx-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.fx-grid-floor {
  position: absolute; left: -20%; right: -20%; bottom: -10%; height: 70%;
  overflow: hidden;
  transform-origin: center bottom;
  transform: perspective(60rem) rotateX(68deg);
  mask-image: linear-gradient(180deg, transparent 0%, #000 45%, #000 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%, #000 85%, transparent 100%);
}
/* Motif sur un calque interne déplacé par transform : aucune repeinture par image */
.fx-grid-floor::before {
  content: ""; position: absolute; inset: -4.5rem 0 0;
  background-image: linear-gradient(rgba(var(--neon-rgb), .22) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--neon-rgb), .22) 1px, transparent 1px);
  background-size: 4.5rem 4.5rem;
  animation: gridFlow 6s linear infinite;
}
.fx-orb { position: absolute; width: 42rem; height: 42rem; border-radius: 50%; opacity: .5; }
.fx-orb-a { top: -14rem; left: -12rem; background: radial-gradient(circle, rgba(var(--neon-rgb), .5) 0%, rgba(var(--neon-rgb), .22) 28%, rgba(var(--neon-rgb), .06) 50%, transparent 68%); animation: orbDriftA 18s ease-in-out infinite alternate; }
.fx-orb-b { right: -16rem; bottom: -10rem; background: radial-gradient(circle, rgba(244, 241, 236, .18) 0%, rgba(244, 241, 236, .08) 28%, rgba(244, 241, 236, .02) 50%, transparent 68%); animation: orbDriftB 22s ease-in-out infinite alternate; }
.fx-scanline { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(var(--neon-rgb), .9), transparent); box-shadow: 0 0 24px rgba(var(--neon-rgb), .8), 0 0 60px rgba(var(--neon-rgb), .4); opacity: .7; animation: scanline 7s cubic-bezier(.65, 0, .35, 1) infinite; }
.fx-particles { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; max-height: 100%; opacity: .9; will-change: transform; }
/* Sections hors écran : animations de fond en pause */
.fx-section:not(.fx-active) .fx-bg *, .fx-section:not(.fx-active) .fx-bg *::before, .fx-section:not(.fx-active) .card-frame { animation-play-state: paused; }

/* ---------- Cartes glass ---------- */
.fx-card {
  --mx: 50%; --my: 50%; --tilt-x: 0deg; --tilt-y: 0deg;
  position: relative; z-index: 1; overflow: hidden;
  color: var(--paper); background: var(--glass);
  border-radius: clamp(1rem, 2vw, 1.6rem);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(244, 241, 236, .06);
  transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition: transform .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s cubic-bezier(.22, 1, .36, 1), background .4s;
}
.fx-card:hover, .fx-card.is-tilting { transform-style: preserve-3d; will-change: transform; }
.fx-card.is-tilting { transition: box-shadow .55s cubic-bezier(.22, 1, .36, 1), background .4s; }
.fx-card:hover { z-index: 3; background: rgba(var(--neon-rgb), .06); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .9), 0 0 0 1px rgba(var(--neon-rgb), .55), 0 0 40px rgba(var(--neon-rgb), .3), 0 0 110px rgba(var(--neon-rgb), .15); }
.fx-card:hover > *, .fx-card.is-tilting > * { transform: translateZ(1px); }
.fx-card .card-frame, .fx-card .card-glow { transform: none; }
.card-frame { position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--frame-angle), transparent 0 65%, rgba(var(--neon-rgb), .95) 78%, #d8fff3 85%, transparent 92%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .55; animation: frameSpin 5s linear infinite; pointer-events: none; }
.fx-card:hover .card-frame { opacity: 1; animation-duration: 2.2s; }
.card-glow { position: absolute; inset: -40%; background: radial-gradient(circle at var(--mx) var(--my), rgba(255, 255, 255, .22), rgba(var(--neon-rgb), .18) 18%, transparent 42%); opacity: 0; transition: opacity .4s ease; pointer-events: none; mix-blend-mode: screen; }
.fx-card:hover .card-glow { opacity: 1; }
.card-shine { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .28) 48%, rgba(var(--neon-rgb), .35) 52%, transparent 70%); transform: translateX(-130%) skewX(-12deg); pointer-events: none; mix-blend-mode: screen; }
.fx-card:hover .card-shine { animation: shine 1.1s cubic-bezier(.22, 1, .36, 1) forwards; }
.reveal-card { opacity: 0; translate: 0 50px; transition-property: opacity, translate, transform, box-shadow, background; transition-duration: .9s, .9s, .55s, .55s, .4s; transition-timing-function: cubic-bezier(.22, 1, .36, 1); transition-delay: calc(var(--i, 0) * .1s), calc(var(--i, 0) * .1s), 0s, 0s, 0s; }
.reveal-card.is-visible { opacity: 1; translate: 0 0; }
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1); transition-delay: calc(var(--i, 0) * .1s); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ---------- Typo utilitaires ---------- */
.eyebrow, .section-index { display: inline-flex; align-items: center; gap: .7rem; color: var(--neon); font: 500 .68rem "DM Mono", monospace; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before, .section-index::before { content: ""; width: .4rem; height: .4rem; border-radius: 50%; background: var(--neon); box-shadow: 0 0 10px var(--neon); }
.neon-text { background: linear-gradient(90deg, var(--neon), #6fe3c7, var(--neon), #bff5e6, var(--neon)); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 10px rgba(var(--neon-rgb), .55)) drop-shadow(0 0 28px rgba(var(--neon-rgb), .35)); animation: neonFlow 5s linear infinite, neonPulse 2.8s ease-in-out infinite; }
.button { display: inline-flex; align-items: center; gap: .8rem; padding: 1rem 1.6rem; border: 1px solid rgba(244, 241, 236, .18); border-radius: 100px; font: 600 .78rem "Manrope", sans-serif; letter-spacing: .08em; text-transform: uppercase; transition: transform .3s, box-shadow .3s, background .3s, border-color .3s; }
.button i { font-style: normal; transition: transform .4s cubic-bezier(.22, 1, .36, 1); }
.button:hover i { transform: translate(3px, -3px); }
.button-primary { color: var(--ink); background: var(--neon); border-color: var(--neon); box-shadow: 0 12px 35px rgba(var(--neon-rgb), .25); }
.button-primary:hover { transform: translateY(-3px); box-shadow: 0 0 30px rgba(var(--neon-rgb), .6), 0 18px 45px rgba(var(--neon-rgb), .3); }
.button-ghost { color: var(--paper); background: rgba(11, 11, 11, .4); backdrop-filter: blur(10px); }
.button-ghost:hover { border-color: rgba(var(--neon-rgb), .7); box-shadow: 0 0 24px rgba(var(--neon-rgb), .3); transform: translateY(-3px); }
.button-ghost:hover i { transform: translateX(-4px); }

/* ---------- Hero ---------- */
.case-hero { min-height: min(100svh, 980px); display: grid; align-items: center; padding: 9rem var(--pad) 6rem; overflow: hidden; }
.case-hero-inner { width: min(100%, var(--max-width)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; }
.case-hero h1 { margin-top: 1.4rem; font-size: clamp(3.4rem, 9vw, 9.5rem); }
.case-hero h1 em { font-style: normal; }
.hero-lead { max-width: 34rem; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.6rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 1.6rem 2.6rem; margin-top: 3.2rem; padding-top: 2rem; border-top: 1px solid var(--line); color: rgba(244, 241, 236, .72); font-size: .92rem; }
.hero-meta strong { display: block; margin-bottom: .4rem; color: var(--neon); font: 500 .62rem "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }

/* Écran glass avec le logo */
.case-screen { aspect-ratio: 4 / 3.3; display: grid; place-items: center; padding: clamp(1.4rem, 3vw, 2.6rem); }
.case-screen-art { position: relative; display: block; width: 100%; height: 100%; aspect-ratio: 1440 / 1000; border-radius: clamp(.7rem, 1.4vw, 1.1rem); background: #0b0b0b; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(244, 241, 236, .08), 0 0 60px rgba(var(--neon-rgb), .18); }
.case-screen-art::before { content: ""; position: absolute; inset: 0; z-index: 2; background: repeating-linear-gradient(0deg, rgba(11, 11, 11, .12) 0 1px, transparent 1px 4px), linear-gradient(180deg, transparent 70%, rgba(11, 11, 11, .35)); opacity: .55; pointer-events: none; }
.case-screen-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .7s cubic-bezier(.22, 1, .36, 1); }
.case-screen:hover .case-screen-art img { transform: scale(1.04); }
.case-screen-bar { position: absolute; left: clamp(1.4rem, 3vw, 2.6rem); right: clamp(1.4rem, 3vw, 2.6rem); top: .9rem; display: flex; justify-content: space-between; align-items: center; color: rgba(244, 241, 236, .5); font: 500 .6rem "DM Mono", monospace; letter-spacing: .14em; text-transform: uppercase; }
.case-screen-bar span:last-child { color: var(--neon); }
.case-screen-rings { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: .5; }
.case-screen-rings i { position: absolute; left: 50%; top: 50%; width: 110%; aspect-ratio: 1; border: 1px solid rgba(var(--neon-rgb), .25); border-radius: 50%; translate: -50% -50%; animation: ringPulse 4s ease-in-out infinite; }
.case-screen-rings i:nth-child(2) { width: 140%; animation-delay: -1.3s; border-style: dashed; }

/* ---------- Sections ---------- */
.case-section { width: min(calc(100% - var(--pad) * 2), var(--max-width)); margin: 0 auto; padding: clamp(5rem, 10vw, 9rem) 0; }
.case-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }
.case-split h2 { margin-top: 1.4rem; font-size: clamp(2.6rem, 5.4vw, 5.8rem); }
.case-sticky { position: sticky; top: 7rem; }
.intro-copy { color: #c9ccc9; font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.55; }
.intro-copy p { margin: 0 0 1.4rem; }
.pill-list { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.pill { padding: .55rem .9rem; border: 1px solid rgba(var(--neon-rgb), .35); border-radius: 100px; color: #d7dcd9; font-size: .74rem; transition: background .3s, color .3s, transform .3s, box-shadow .3s; }
.pill:hover { color: var(--ink); background: var(--neon); transform: translateY(-2px); box-shadow: 0 0 16px rgba(var(--neon-rgb), .5); }

/* Tuiles détails */
.details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 3.5rem 0 0; padding: 0; list-style: none; }
.fx-tile { display: grid; gap: .5rem; padding: 1.6rem 1.6rem 1.7rem; }
.fx-tile .card-frame { opacity: .35; }
.fx-tile:hover .card-frame { opacity: 1; }
.tile-icon { display: grid; width: 2.4rem; height: 2.4rem; margin-bottom: .6rem; place-items: center; border: 1px solid rgba(var(--neon-rgb), .45); border-radius: .7rem; color: var(--neon); font-style: normal; font-size: 1rem; box-shadow: inset 0 0 18px rgba(var(--neon-rgb), .15); transition: transform .5s cubic-bezier(.22, 1, .36, 1), background .3s, color .3s, box-shadow .3s; }
.fx-tile:hover .tile-icon { color: var(--ink); background: var(--neon); transform: rotate(-8deg) scale(1.08); box-shadow: 0 0 20px rgba(var(--neon-rgb), .7); }
.fx-tile strong { color: rgba(244, 241, 236, .55); font: 600 .64rem/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.fx-tile span:not(.card-frame):not(.card-glow):not(.card-shine) { color: var(--paper); font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; }

/* Étapes du travail */
.work-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; margin: 3.5rem 0 0; padding: 0; list-style: none; counter-reset: work; }
.work-step { display: grid; gap: .6rem; padding: 1.8rem 1.6rem 2rem; }
.work-step h3 { font-size: 1.35rem; letter-spacing: -.03em; }
.work-step p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.step-orb { position: relative; display: grid; width: 3.8rem; height: 3.8rem; margin-bottom: .8rem; place-items: center; border: 1px solid rgba(var(--neon-rgb), .5); border-radius: 50%; box-shadow: inset 0 0 30px rgba(var(--neon-rgb), .15), 0 0 20px rgba(var(--neon-rgb), .15); transition: transform .6s cubic-bezier(.22, 1, .36, 1), box-shadow .4s; }
.step-orb span { color: var(--neon); font: 600 .74rem "Manrope", sans-serif; letter-spacing: .1em; }
.step-orb i { position: absolute; inset: -.5rem; border: 1px dashed rgba(var(--neon-rgb), .45); border-radius: 50%; animation: spin 14s linear infinite; }
.work-step:hover .step-orb { transform: rotate(-10deg) scale(1.06); box-shadow: inset 0 0 30px rgba(var(--neon-rgb), .3), 0 0 36px rgba(var(--neon-rgb), .5); }
.work-step:hover .step-orb i { animation-duration: 4s; }

/* ---------- Bloc final : site en ligne + projet suivant ---------- */
.case-outro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.2rem; }
.outro-card { display: flex; flex-direction: column; justify-content: space-between; gap: 2.5rem; min-height: 22rem; padding: clamp(1.8rem, 3vw, 2.8rem); }
.outro-card h2 { font-size: clamp(2rem, 3.6vw, 3.6rem); }
.outro-card p { margin: .8rem 0 0; color: var(--muted); max-width: 28rem; }
.outro-url { font: 500 .78rem "DM Mono", monospace; letter-spacing: .08em; color: var(--neon); }
.outro-arrow { display: inline-grid; place-items: center; width: 3.4rem; height: 3.4rem; border: 1px solid rgba(var(--neon-rgb), .5); border-radius: 50%; color: var(--neon); font-size: 1.4rem; transition: transform .5s cubic-bezier(.22, 1, .36, 1), background .3s, color .3s, box-shadow .3s; }
.outro-card:hover .outro-arrow { color: var(--ink); background: var(--neon); transform: translate(4px, -4px) rotate(-10deg); box-shadow: 0 0 24px rgba(var(--neon-rgb), .7); }
.outro-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.outro-next .outro-thumb { position: absolute; right: -8%; bottom: -14%; width: 60%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--paper); opacity: .14; transform: rotate(-8deg); transition: opacity .5s, transform .7s cubic-bezier(.22, 1, .36, 1); pointer-events: none; }
.outro-next .outro-thumb img { width: 70%; }
.outro-next:hover .outro-thumb { opacity: .9; transform: rotate(0) scale(1.04); }

/* ---------- Footer ---------- */
.case-footer { display: flex; justify-content: space-between; align-items: center; gap: 2rem; width: min(calc(100% - var(--pad) * 2), var(--max-width)); margin: 0 auto; padding: 2.5rem 0 3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.case-footer a { color: var(--neon); }
.case-footer a:hover { text-shadow: 0 0 14px rgba(var(--neon-rgb), .8); }

/* ---------- Animations ---------- */
@keyframes gridFlow { to { transform: translate3d(0, 4.5rem, 0); } }
@keyframes orbDriftA { to { transform: translate(14%, 18%) scale(1.15); } }
@keyframes orbDriftB { to { transform: translate(-16%, -14%) scale(.9); } }
@keyframes scanline { 0% { transform: translate3d(0, -2px, 0); opacity: 0; } 8% { opacity: .7; } 92% { opacity: .7; } 100% { transform: translate3d(0, var(--fx-h, 100vh), 0); opacity: 0; } }
@keyframes neonFlow { to { background-position: 300% 0; } }
@keyframes neonPulse { 50% { filter: drop-shadow(0 0 16px rgba(22, 138, 114, .85)) drop-shadow(0 0 44px rgba(22, 138, 114, .5)); } }
@keyframes frameSpin { to { --frame-angle: 360deg; } }
@keyframes shine { to { transform: translateX(130%) skewX(-12deg); } }
@keyframes ringPulse { 0%, 100% { transform: scale(.92); opacity: .5; } 50% { transform: scale(1.06); opacity: 1; } }
@keyframes spin { to { transform: rotate(360deg); } }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .case-hero-inner { grid-template-columns: 1fr; }
  .case-screen { max-width: 36rem; margin: 0 auto; }
  .case-split { grid-template-columns: 1fr; }
  .case-sticky { position: static; }
  .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-outro { grid-template-columns: 1fr; }
  .fx-orb { width: 26rem; height: 26rem; }
  .fx-grid-floor { height: 55%; }
  .fx-grid-floor::before { background-size: 3rem 3rem; top: -3rem; }
}
@media (max-width: 640px) {
  .case-header { width: calc(100% - 2rem); }
  .case-logo img { width: clamp(7rem, 34vw, 10rem); }
  .case-menu-toggle { min-width: 0; min-height: 3.2rem; padding: .7rem .85rem; }
  .case-hero { padding-top: 7rem; padding-bottom: 4rem; }
  .case-screen-bar span:first-child { display: none; }
  .case-screen { padding-top: 2.6rem; aspect-ratio: auto; }
  .details-grid, .work-grid { grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; justify-content: center; }
  .case-footer { flex-direction: column; align-items: flex-start; }
  .outro-card { min-height: 0; }
}
@media (pointer: coarse) {
  .fx-card .card-glow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .reveal-card, .fx-card { opacity: 1; translate: 0 0; transform: none !important; }
  .fx-scanline, .fx-particles, .card-shine, .card-glow, .case-screen-rings { display: none; }
  .card-frame { animation: none; opacity: .8; background: linear-gradient(135deg, rgba(22,138,114,.7), transparent 40%, transparent 60%, rgba(22,138,114,.7)); }
}

/* Mode allege (machines modestes) */
.fx-lite .fx-orb, .fx-lite .fx-scanline, .fx-lite .fx-particles, .fx-lite .fx-grid-top, .fx-lite .card-frame { display: none; }
