/* Sophie Motion only. No page reset, typography, background or layout rules. */
[data-sophie-motion] {
  --sophie-gold: #d7b779;
  --sophie-rose: #d8a2a6;
  display: block;
  contain: layout style;
}
[data-sophie-motion] .sophie-visual {
  position: relative;
  width: 100%;
  height: 100%;
  isolation: isolate;
}
[data-sophie-motion] .sophie-portrait {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  transform-origin: 50% 88%;
  user-select: none;
  -webkit-user-drag: none;
}
[data-sophie-motion] .sophie-ornament {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  color: var(--sophie-gold);
}
[data-sophie-motion] .sophie-orbit-line {
  fill: none;
  stroke: currentColor;
  stroke-width: .75;
  opacity: .2;
}
[data-sophie-motion] .sophie-travel-star {
  fill: currentColor;
  opacity: 0;
}
[data-sophie-motion] .sophie-heart {
  fill: none;
  stroke: var(--sophie-rose);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: 335px 136px;
}
[data-sophie-motion] .sophie-heart-fill {
  fill: var(--sophie-rose);
  opacity: .11;
}
[data-sophie-motion] .sophie-particle {
  fill: var(--sophie-gold);
  opacity: 0;
}
[data-sophie-motion] .sophie-mark {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: 338px 152px;
}
[data-sophie-motion] .sophie-mark-fill {
  fill: var(--sophie-gold);
  opacity: .13;
}
[data-sophie-motion] .sophie-conseil-only,
[data-sophie-motion] .sophie-coeur-only,
[data-sophie-motion] .sophie-savoir-only {
  display: none;
}
[data-sophie-motion][data-variant="conseil"] .sophie-conseil-only,
[data-sophie-motion][data-variant="coeur"] .sophie-coeur-only,
[data-sophie-motion][data-variant="savoir"] .sophie-savoir-only {
  display: block;
}
[data-sophie-motion].sophie-static .sophie-orbit-line {
  opacity: .28;
}
[data-sophie-motion].sophie-static .sophie-travel-star {
  opacity: 1;
  transform: translate(332px, 103px) scale(.8);
}
@media (prefers-reduced-motion: reduce) {
  [data-sophie-motion],
  [data-sophie-motion] *,
  [data-sophie-motion] *::before,
  [data-sophie-motion] *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
