/* Satinato per le pagine interne, esclusivo dell'anteprima. */
html[data-satinato] {
  --satin-pane: #1b222a;
  --satin-line: #efd8b943;
  --satin-edge: #f6e2c56b;
  --satin-warm: #bd763b40;
  --satin-cool: #386aa749;
  --satin-paper: #101316;
  --satin-ink: #f3f2ee;
  --satin-muted: #bdc5cc;
}

html[data-satinato][data-theme="light"] {
  --satin-pane: #f9f4ec;
  --satin-line: #6d513943;
  --satin-edge: #ffffffd9;
  --satin-warm: #ca8a5037;
  --satin-cool: #779db735;
  --satin-paper: #f5f3ee;
  --satin-ink: #242a2c;
  --satin-muted: #58636a;
}

html[data-satinato="interno"] :is(.labs-shell, .studio-marketing, .policy-shell, .site-shell) {
  background-image:
    radial-gradient(ellipse min(780px, 72vw) 440px at 13% 0, var(--satin-warm), transparent),
    radial-gradient(ellipse min(910px, 76vw) 520px at 100% 210px, var(--satin-cool), transparent);
}

html[data-satinato="interno"] :is(.labs-header, .studio-header, .policy-header) {
  background-color: color-mix(in srgb, var(--satin-pane) 76%, transparent);
  border-color: var(--satin-line);
  box-shadow: inset 0 1px 0 var(--satin-edge);
  -webkit-backdrop-filter: blur(20px) saturate(132%);
  backdrop-filter: blur(20px) saturate(132%);
}

html[data-satinato="interno"] :is(.labs-header, .policy-header) {
  border-radius: 16px;
}

html[data-satinato="interno"] :is(
  .research-card, .re-engine, .project-context, .study-conclusion,
  .agent-results-card, .dynamics-applications-grid > article, .dynamics-method,
  .aside-card, .contact-card, .beta-request-form, .support-form,
  .ai-workspace, .labs-privacy article, .labs-division, .re-callout
) {
  border-color: var(--satin-line);
  border-block-start-color: var(--satin-edge);
  background-color: color-mix(in srgb, var(--satin-pane) 74%, transparent);
  -webkit-backdrop-filter: blur(17px) saturate(125%);
  backdrop-filter: blur(17px) saturate(125%);
}

html[data-satinato="interno"] :is(.product-card, .campaign-details, .campaign-feature-copy article) {
  border-color: var(--satin-line);
  background-color: color-mix(in srgb, var(--satin-pane) 72%, transparent);
}

html[data-satinato="interno"] :is(
  .labs-art-label, .archive-photo-credit, .research-image-caption
) {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

html[data-satinato="documento"] body {
  background-image:
    radial-gradient(ellipse min(770px, 76vw) 390px at 14% 0, var(--satin-warm), transparent),
    radial-gradient(ellipse min(780px, 75vw) 440px at 100% 160px, var(--satin-cool), transparent);
  background-repeat: no-repeat;
}

html[data-satinato="applicazione"] body {
  background-image:
    radial-gradient(ellipse min(710px, 72vw) 370px at 12% 0, var(--satin-warm), transparent),
    radial-gradient(ellipse min(770px, 74vw) 410px at 100% 180px, var(--satin-cool), transparent);
}

html[data-satinato="applicazione"] body > header,
html[data-satinato="applicazione"] .panel {
  border-color: var(--satin-line);
  border-block-start-color: var(--satin-edge);
  -webkit-backdrop-filter: blur(17px) saturate(125%);
  backdrop-filter: blur(17px) saturate(125%);
}

@media (prefers-reduced-transparency: reduce) {
  html[data-satinato="interno"] :is(
    .labs-header, .studio-header, .policy-header, .research-card, .re-engine,
    .project-context, .study-conclusion, .dynamics-applications-grid > article
  ) {
    background-color: var(--satin-pane);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Movimento del sito nell'anteprima Satinato. */
html[data-satinato] {
  --satin-motion-quick: 150ms;
  --satin-motion-panel: 220ms;
  --satin-motion-enter: 280ms;
  --satin-motion-ease: cubic-bezier(.2, .72, .24, 1);
}

@keyframes satinato-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}

@keyframes satinato-menu-open {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}

html[data-satinato] :is(.web-v2 .hero-copy, .web-v2 .hero-visual, .fd-screen, .ai-turn) {
  animation: satinato-enter var(--satin-motion-enter) var(--satin-motion-ease) both;
}

html[data-satinato] .studio-menu-panel {
  animation: satinato-menu-open var(--satin-motion-panel) var(--satin-motion-ease) both;
}

html[data-satinato] :is(.language-switch button, .studio-button, .labs-round-link, .research-discover, .studio-menu > summary svg) {
  transition:
    color var(--satin-motion-quick) ease,
    background-color var(--satin-motion-quick) ease,
    border-color var(--satin-motion-quick) ease,
    box-shadow var(--satin-motion-panel) var(--satin-motion-ease),
    transform var(--satin-motion-panel) var(--satin-motion-ease);
}

html[data-satinato] :is(.labs-division, .research-card, .re-engine, .studio-home .studio-product, .studio-home .studio-hero-app, .train-preview-screen, .concept-window) {
  transition:
    transform var(--satin-motion-panel) var(--satin-motion-ease),
    border-color var(--satin-motion-quick) ease,
    box-shadow var(--satin-motion-panel) var(--satin-motion-ease);
}

html[data-satinato] :is(.labs-division-art img, .labs-browser, .appunti-visual-frame > img, .studio-hero-app > img, .studio-hero-portal, .web-v2 .mini-phone, .web-v2 .product-art > img, .web-v2 .train-card-phone) {
  transition: transform var(--satin-motion-panel) var(--satin-motion-ease);
}

html[data-satinato] .studio-home .studio-product::after {
  transition: opacity var(--satin-motion-panel) var(--satin-motion-ease);
}

html[data-satinato] .studio-home .studio-title-motion {
  transition: color var(--satin-motion-quick) ease, transform var(--satin-motion-panel) var(--satin-motion-ease);
}

html[data-satinato] .web-v2 .showcase-phone:not(.is-dragging) {
  transition: transform var(--satin-motion-panel) var(--satin-motion-ease), filter var(--satin-motion-quick) ease;
}

html[data-satinato] .concept-progress > span {
  transition: width var(--satin-motion-panel) var(--satin-motion-ease);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html[data-satinato] :is(.labs-division:hover, .labs-division:focus-visible, .research-card:hover, .re-engine:hover, .train-preview-screen:hover) {
    transform: translateY(-2px);
  }

  html[data-satinato] :is(.labs-division:hover img, .appunti-visual-frame:hover > img) {
    transform: scale(1.012);
  }

  html[data-satinato] .studio-home .studio-product-shell:is(:hover, :focus-within) > .studio-product {
    transform: translateY(-3px);
  }

  html[data-satinato] .studio-home .studio-hero-app:is(:hover, :focus-visible) {
    transform: translateY(-3px) rotate(0deg) scale(1.015);
  }

  html[data-satinato] .studio-home .studio-motion-heading:hover .studio-title-motion {
    transform: translateX(2px);
  }

  html[data-satinato] .labs-web:hover .labs-browser {
    transform: perspective(1000px) rotateY(-9deg) rotateX(6deg);
  }
}

@media (hover: none), (prefers-reduced-motion: reduce) {
  html[data-satinato] :is(.labs-division:hover, .labs-division:focus-visible, .research-card:hover, .re-engine:hover, .train-preview-screen:hover, .labs-division:hover img, .appunti-visual-frame:hover > img) {
    transform: none;
  }
}

/* La rete IA è una figura stabile; il centro segnala l'attesa. */
html[data-satinato] .futuristic-ai :is(
  .ai-neural-network, .ai-neural-data, .ai-neural-impulse, .ai-neural-node,
  .ai-core-filaments, .ai-core-inner, .ai-core-halo, .ai-core-ripple,
  .ai-core-heart, .ai-interaction-trace span, .ai-reply-wave, .ai-thinking span
) {
  animation: none;
}

@keyframes satinato-ai-wait {
  50% { opacity: 1; transform: scale(1.045); }
}

html[data-satinato] .futuristic-ai[data-busy="true"] .ai-core-heart {
  animation: satinato-ai-wait 2.4s ease-in-out 2;
}

@media (prefers-reduced-motion: reduce) {
  html[data-satinato],
  html[data-satinato] *,
  html[data-satinato] *::before,
  html[data-satinato] *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
