/* One contact constellation. This file changes only the hero scene and its transition. */
.solar-refresh .solar-scene { display: block; align-self: center; justify-self: end; width: 100%; min-width: 0; max-width: 560px; margin: 0; padding: 0; border: 0; background: none; }
.solar-refresh .solar-stage { position: relative; isolation: isolate; display: block; width: 100%; min-width: 0; aspect-ratio: 1 / 1; overflow: clip; border: 0; border-radius: 0; background: none; touch-action: pan-y; }
.solar-refresh .solar-poster { position: absolute; z-index: 0; left: 4%; top: 1%; display: block; width: 92%; height: 92%; max-width: 100%; margin: 0; object-fit: contain; object-position: center; opacity: 1; visibility: visible; mix-blend-mode: normal; pointer-events: none; }

/* The faithful MX silhouette is colored in CSS; the original SVG is untouched. */
.solar-refresh .solar-fallback-mx { position: absolute; z-index: 1; left: 50.08%; top: 39.87%; display: block; width: 28%; aspect-ratio: 1 / 1; transform: translate(-50%, -50%); opacity: 1; visibility: visible; pointer-events: none; filter: drop-shadow(0 0 3px #ff341d99) drop-shadow(0 0 11px #ff21134d); }
.solar-refresh .solar-fallback-mx > img { display: none; }
.solar-refresh .solar-fallback-mx::before { content: ''; position: absolute; z-index: 1; inset: 0; display: block; background: linear-gradient(155deg, #ff7b52 5%, #ff301b 38%, #d9120b 68%, #ff4b1e 100%); -webkit-mask: url('assets/solar-mx.svg') center / contain no-repeat; mask: url('assets/solar-mx.svg') center / contain no-repeat; }
.solar-refresh .solar-fallback-mx::after { content: ''; position: absolute; z-index: 2; inset: 14%; display: block; border-radius: 50%; background: linear-gradient(135deg, transparent 25%, #ffffff00 36%, #ffffff1f 43%, #ffffff0a 48%, transparent 58%); filter: blur(1px); pointer-events: none; }

.solar-refresh .solar-stage canvas[data-solar-canvas] { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; opacity: 0; visibility: hidden; pointer-events: none; touch-action: pan-y; cursor: grab; }
.solar-refresh .solar-stage canvas[data-solar-canvas]:active { cursor: grabbing; }
.solar-refresh .solar-stage canvas[data-solar-canvas]:focus-visible { outline: 2px solid #ff9759; outline-offset: -4px; border-radius: 18px; }
.solar-refresh .solar-markers { position: absolute; z-index: 3; inset: 0; overflow: clip; opacity: 0; visibility: hidden; pointer-events: none; }
.solar-refresh .solar-markers [data-solar-marker] { position: absolute; left: 0; top: 0; display: inline-flex; align-items: center; gap: 7px; max-width: calc(100% - 24px); color: #e8d8d1; font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; text-shadow: 0 1px 9px #121214, 0 1px 4px #121214; pointer-events: none; }
.solar-refresh .solar-markers [data-solar-marker='interested'] { color: #ffd09b; }
.solar-refresh .solar-markers [data-solar-marker='interested']::before { content: ''; display: block; width: 4px; height: 4px; flex: 0 0 4px; border-radius: 50%; background: #ffa35e; box-shadow: 0 0 7px #ff975980; }
.solar-refresh .solar-markers [data-visible='false'] { visibility: hidden; }
.solar-refresh .solar-scene[data-renderer='webgl'][data-ready='true'] :is(.solar-poster, .solar-fallback-mx) { opacity: 0; visibility: hidden; }
.solar-refresh .solar-scene[data-renderer='webgl'][data-ready='true'] canvas[data-solar-canvas] { opacity: 1; visibility: visible; pointer-events: auto; }
.solar-refresh .solar-scene[data-renderer='webgl'][data-ready='true'] .solar-markers { opacity: 1; visibility: visible; }
.solar-refresh .solar-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; max-width: 100%; margin-top: 3px; }
.solar-refresh .solar-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 10px; border: 1px solid #665043; border-radius: 10px; background: #241c19; color: #e8b48f; font: inherit; line-height: 1; cursor: pointer; }
.solar-refresh .solar-controls button svg { display: block; width: 21px; height: 21px; flex-shrink: 0; }
.solar-refresh .solar-controls button:hover:not(:disabled) { border-color: #b17d56; color: #ffceaa; background: #302219; }
.solar-refresh .solar-controls button[aria-pressed='true'] { border-color: #c0875b; color: #ffd0aa; background: #35251b; }
.solar-refresh .solar-controls button:disabled { color: #94827a; border-color: #473a34; background: #1c1817; cursor: not-allowed; }
.solar-refresh .solar-controls button:focus-visible { outline: 2px solid #ff9759; outline-offset: 4px; }
.solar-refresh .solar-hint { max-width: 480px; margin: 12px auto 0; padding: 0 8px; color: #a9968b; font-size: 11px; line-height: 1.75; text-align: center; }
.solar-refresh .solar-scene :is(.sr-only, .scene-sr-only) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.solar-refresh .solar-scene [hidden] { display: none !important; }

/* With one visual above, the ownership section becomes a short, calm explanation. */
.solar-refresh .your-account { padding-top: 56px; }
.solar-refresh .ownership-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); grid-template-areas: 'intro points'; grid-template-rows: auto; align-items: start; gap: 56px; }
.solar-refresh .ownership-intro { grid-area: intro; min-width: 0; padding-top: 0; }
.solar-refresh .ownership-intro h2 { max-width: 520px; font-size: 42px; }
.solar-refresh .ownership-intro > p { max-width: 490px; margin-top: 19px; }
.solar-refresh .ownership-layout > .ownership-points { grid-area: points; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; width: 100%; min-width: 0; max-width: none; margin: 0; }
.solar-refresh .ownership-layout > .ownership-points > li { display: grid; grid-template-columns: 27px minmax(0, 1fr); gap: 0 13px; padding: 15px 0; }
.solar-refresh .ownership-layout > .ownership-points > li > :is(.ownership-icon, .point-icon, svg) { grid-column: 1; grid-row: 1 / span 2; }
.solar-refresh .ownership-layout > .ownership-points > li > div, .solar-refresh .ownership-layout > .ownership-points strong, .solar-refresh .ownership-layout > .ownership-points p { grid-column: 2; }
.solar-refresh .ownership-layout > .ownership-points strong { font-size: 15px; }
.solar-refresh .ownership-layout > .ownership-points p { font-size: 14px; line-height: 1.75; }

@media (max-width: 1279px) and (min-width: 1100px) {
  .solar-refresh .ownership-layout { gap: 38px; }
  .solar-refresh .ownership-intro h2 { font-size: 39px; }
}
@media (max-width: 1099px) {
  .solar-refresh .solar-scene { width: 100%; max-width: 480px; justify-self: center; }
  .solar-refresh .ownership-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'intro' 'points'; gap: 24px; }
  .solar-refresh .ownership-intro h2 { max-width: 740px; font-size: 40px; }
  .solar-refresh .ownership-intro > p { max-width: 730px; }
  .solar-refresh .ownership-layout > .ownership-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .solar-refresh .ownership-layout > .ownership-points > li { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .solar-refresh .ownership-layout > .ownership-points > li > :is(.ownership-icon, .point-icon, svg) { grid-column: 1; grid-row: auto; }
  .solar-refresh .ownership-layout > .ownership-points > li > div, .solar-refresh .ownership-layout > .ownership-points strong, .solar-refresh .ownership-layout > .ownership-points p { grid-column: 1; }
}
@media (max-width: 850px) {
  .solar-refresh .solar-scene { max-width: 420px; }
  .solar-refresh .ownership-layout > .ownership-points { gap: 21px; }
  .solar-refresh .ownership-layout > .ownership-points strong { font-size: 14px; }
  .solar-refresh .ownership-layout > .ownership-points p { font-size: 13px; }
}
@media (max-width: 600px) {
  .solar-refresh .solar-scene { width: 100%; max-width: 380px; }
  .solar-refresh .solar-markers [data-solar-marker] { font-size: 11px; }
  .solar-refresh .solar-controls { margin-top: 6px; gap: 9px; }
  .solar-refresh .solar-hint { max-width: 340px; margin-top: 11px; padding: 0 4px; font-size: 11px; }
  .solar-refresh .your-account { padding-top: 40px; }
  .solar-refresh .ownership-layout { gap: 22px; }
  .solar-refresh .ownership-intro h2 { font-size: 34px; }
  .solar-refresh .ownership-intro > p { margin-top: 17px; }
  .solar-refresh .ownership-layout > .ownership-points { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .solar-refresh .ownership-layout > .ownership-points > li { grid-template-columns: 27px minmax(0, 1fr); gap: 0 13px; padding: 17px 0; }
  .solar-refresh .ownership-layout > .ownership-points > li > :is(.ownership-icon, .point-icon, svg) { grid-column: 1; grid-row: 1 / span 2; }
  .solar-refresh .ownership-layout > .ownership-points > li > div, .solar-refresh .ownership-layout > .ownership-points strong, .solar-refresh .ownership-layout > .ownership-points p { grid-column: 2; }
  .solar-refresh .ownership-layout > .ownership-points strong { font-size: 15px; }
  .solar-refresh .ownership-layout > .ownership-points p { font-size: 14px; }
}
@media (max-width: 380px) {
  .solar-refresh .solar-markers [data-solar-marker] { font-size: 10px; }
  .solar-refresh .ownership-intro h2 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .solar-refresh :is(.solar-scene, .solar-scene *) { animation: none !important; transition: none !important; }
}
