/* =========================================================================
   Pagina DesireeIA (tema nero e oro). Si appoggia a apps.css (ds-app-dark).
   ========================================================================= */
.apx-desiree { --gold: #d4af37; --gold-2: #f6dc8a; --gold-soft: rgba(212, 175, 55, .12); color: #e9e3d2; background: radial-gradient(1100px 650px at 50% -8%, #2a1f07, #05070a 62%); }
.apx-desiree h1, .apx-desiree h2, .apx-desiree h3 { color: #fff7e0; }
.apx-desiree a { text-decoration: none; }

.dsr-hero { position: relative; padding: 150px 0 80px; overflow: hidden; isolation: isolate; }
.dsr-glow { position: absolute; inset: -10% -10% auto -10%; height: 70%; z-index: -1; background: radial-gradient(520px 320px at 28% 40%, rgba(212, 175, 55, .28), transparent 70%), radial-gradient(480px 300px at 78% 30%, rgba(34, 211, 238, .14), transparent 70%); filter: blur(10px); }
.dsr-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.dsr-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.dsr-pill { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px; font-size: 12.5px; font-weight: 600; letter-spacing: .02em; color: var(--gold-2); background: var(--gold-soft); border: 1px solid rgba(212, 175, 55, .3); border-radius: 999px; }
.dsr-pill i { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 10px #4ade80; animation: dsr-pulse 1.8s ease-in-out infinite; }
@keyframes dsr-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.dsr-copy h1 { margin: 0 0 12px; font-size: clamp(54px, 8vw, 104px); font-weight: 750; letter-spacing: -.05em; line-height: 1; background: linear-gradient(110deg, #f6dc8a, #d4af37 55%, #b8891b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dsr-copy h1 span { color: transparent; background: linear-gradient(110deg, #fff7e0, #7fe9f5); -webkit-background-clip: text; background-clip: text; }
.dsr-lead { margin: 0 0 14px; font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; line-height: 1.3; color: #fff7e0; }
.dsr-sub { max-width: 520px; margin: 0 0 28px; font-size: 16.5px; line-height: 1.65; color: #bdb59e; }
.dsr-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.dsr-cta-center { justify-content: center; }
.dsr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; font-size: 15px; font-weight: 600; border-radius: 999px; border: 1px solid transparent; transition: transform .2s, background .2s, box-shadow .2s; }
.dsr-btn:hover { transform: translateY(-2px); }
.dsr-btn-gold { color: #1b1405 !important; background: linear-gradient(110deg, #f6dc8a, #d4af37); box-shadow: 0 12px 34px rgba(212, 175, 55, .32); }
.dsr-btn-gold:hover { box-shadow: 0 16px 44px rgba(212, 175, 55, .5); }
.dsr-btn-ghost { color: #fff7e0 !important; background: rgba(255, 255, 255, .04); border-color: rgba(212, 175, 55, .35); }
.dsr-btn-ghost:hover { background: rgba(212, 175, 55, .12); }
.dsr-visual { margin: 0; border-radius: 26px; overflow: hidden; border: 1px solid rgba(212, 175, 55, .35); box-shadow: 0 40px 100px rgba(0, 0, 0, .6), 0 0 90px rgba(212, 175, 55, .18); transform-style: preserve-3d; }
.dsr-visual img { display: block; width: 100%; height: auto; }

.dsr-stats { padding: 40px 0 8px; }
.dsr-stats .container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.dsr-stat { padding: 8px 12px; text-align: center; }
.dsr-stat b { display: block; font-size: clamp(36px, 4.6vw, 58px); font-weight: 750; letter-spacing: -.04em; line-height: 1; background: linear-gradient(110deg, #f6dc8a, #d4af37); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dsr-stat span { display: block; margin-top: 8px; font-size: 14px; color: #a79f89; }

.dsr-section { padding: 84px 0; }
.dsr-head { max-width: 780px; margin: 0 auto 44px; text-align: center; }
.dsr-eyebrow { display: inline-block; padding: 6px 14px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-2); background: var(--gold-soft); border: 1px solid rgba(212, 175, 55, .28); border-radius: 999px; }
.dsr-head h2 { margin: 16px 0 14px; font-size: clamp(30px, 4.2vw, 50px); font-weight: 650; letter-spacing: -.04em; line-height: 1.08; }
.dsr-head p { margin: 0; font-size: 17.5px; line-height: 1.65; color: #b3ab95; }

.dsr-video { max-width: 980px; margin: 0 auto; border-radius: 24px; overflow: hidden; border: 1px solid rgba(212, 175, 55, .3); box-shadow: 0 36px 90px rgba(0, 0, 0, .55), 0 0 80px rgba(212, 175, 55, .12); background: #000; }
.dsr-video video { display: block; width: 100%; height: auto; max-height: 76vh; background: #000; }

.dsr-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.dsr-card { padding: 24px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 22px; background: radial-gradient(340px circle at var(--sx, -200px) var(--sy, -200px), rgba(212, 175, 55, .16), transparent 62%), rgba(255, 255, 255, .035); transition: border-color .3s, box-shadow .3s; }
.dsr-card:hover { border-color: rgba(212, 175, 55, .45); box-shadow: 0 0 50px rgba(212, 175, 55, .12); }
.dsr-card-ic { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 14px; font-size: 24px; color: var(--gold-2); background: var(--gold-soft); border-radius: 14px; }
.dsr-card h3 { margin: 0 0 8px; font-size: 18px; }
.dsr-card p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #b3ab95; }

.dsr-table-title { margin: 30px 0 12px; font-size: 18px; color: #fff7e0; }
.dsr-table-wrap { overflow-x: auto; border: 1px solid rgba(212, 175, 55, .22); border-radius: 18px; background: rgba(255, 255, 255, .03); }
.dsr-table-narrow { max-width: 640px; }
.dsr-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14.5px; }
.dsr-table th, .dsr-table td { padding: 12px 14px; text-align: right; border-bottom: 1px solid rgba(255, 255, 255, .07); color: #cfc7b0; white-space: nowrap; }
.dsr-table th:first-child, .dsr-table td:first-child { text-align: left; }
.dsr-table thead th { font-size: 12.5px; font-weight: 600; letter-spacing: .03em; color: #8f8873; white-space: normal; }
.dsr-table tbody th { color: #fff7e0; font-weight: 600; }
.dsr-table tbody tr:last-child th, .dsr-table tbody tr:last-child td { border-bottom: 0; }
.dsr-table .is-us { color: var(--gold-2); font-weight: 700; background: rgba(212, 175, 55, .07); }
.dsr-note { max-width: 860px; margin: 22px auto 0; font-size: 14px; line-height: 1.65; color: #9a927c; text-align: center; }

.dsr-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; max-width: 980px; margin: 0 auto; padding: 0; list-style: none; }
.dsr-chips li { padding: 9px 16px; font-size: 14px; font-weight: 600; color: #fff7e0; background: rgba(255, 255, 255, .04); border: 1px solid rgba(212, 175, 55, .28); border-radius: 999px; }

.dsr-code-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dsr-code { padding: 22px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 20px; background: rgba(255, 255, 255, .035); }
.dsr-code h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 18px; }
.dsr-code h3 i { color: var(--gold-2); font-size: 22px; }
.dsr-code pre { margin: 0 0 12px; padding: 14px 16px; overflow-x: auto; font-size: 13px; line-height: 1.65; color: #f6e9c0; background: #0a0d12; border: 1px solid rgba(212, 175, 55, .18); border-radius: 12px; }
.dsr-code code { color: inherit; background: transparent; }
.dsr-code p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #b3ab95; }
.dsr-links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 30px; }

.dsr-license { max-width: 800px; margin: 0 auto; text-align: center; }
.dsr-license p { margin: 0 0 16px; font-size: 16.5px; line-height: 1.7; color: #b3ab95; }

.dsr-final { text-align: center; padding: 48px 24px; border: 1px solid rgba(212, 175, 55, .3); border-radius: 32px; background: radial-gradient(600px 300px at 50% 0, rgba(212, 175, 55, .16), transparent 70%), rgba(255, 255, 255, .03); }
.dsr-final img { width: 112px; height: 112px; border-radius: 28px; box-shadow: 0 0 80px rgba(212, 175, 55, .35); }
.dsr-final h2 { margin: 18px 0 10px; font-size: clamp(26px, 3.4vw, 40px); letter-spacing: -.035em; }
.dsr-final p { margin: 0 0 24px; font-size: 16.5px; color: #b3ab95; }

@media (max-width: 1199.98px) { .dsr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991.98px) {
  .dsr-hero { padding-top: 120px; }
  .dsr-hero-inner { grid-template-columns: 1fr; }
  .dsr-stats .container { grid-template-columns: repeat(2, 1fr); }
  .dsr-code-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .dsr-grid { grid-template-columns: 1fr; }
  .dsr-section { padding: 60px 0; }
  .dsr-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .dsr-pill i { animation: none; } .dsr-btn { transition: none; } }

.dsr-orb { position: relative; width: min(100%, 640px); aspect-ratio: 1 / 1; margin: 0 auto; border-radius: 50%; }
.dsr-orb canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease; }
.dsr-orb.is-ready canvas { opacity: 1; }
.dsr-orb::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle at 50% 45%, rgba(212, 175, 55, .10), transparent 66%); pointer-events: none; }
.dsr-orb noscript img { position: absolute; inset: 10%; width: 80%; height: auto; }
@media (max-width: 991.98px) { .dsr-orb { width: min(100%, 520px); } }
