/* Motion-only layer. Main layout and every piece of content remain readable without JS. */
[data-c23-reveal], [data-c23-counter] { opacity: 1; }
[data-c23-counter] { display: inline-block; transform-origin: 50% 100%; font-variant-numeric: lining-nums tabular-nums; }
[data-c23-lines] { color: var(--c23-motif-color, currentColor); }
.c23-motif { display: block; width: 100%; height: auto; overflow: visible; pointer-events: none; }
.c23-motif :is(path,circle,ellipse,line,polyline) {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.c23-motif .c23-motif-guide { opacity: .22; }
.c23-motif .c23-motif-core { stroke-width: 1.8; }
.c23-motif .c23-motif-fine { stroke-width: 1; opacity: .62; }
.c23-motif .c23-sun-disk { fill: currentColor; stroke: none; opacity: .07; }
.c23-motif--river .c23-motif-core { stroke-width: 2.4; }
.c23-motif--river .c23-motif-fine { stroke-width: 1.6; opacity: .7; }
.c23-motif--alpine .c23-motif-core { stroke-width: 1.9; }
/* The solar name shares one stationary center with the SVG, including before JS. */
.c23-solar-lockup { display: grid; place-items: center; isolation: isolate; aspect-ratio: 1; }
.c23-solar-lockup > :is(.c23-motif,.c23-solar-name) { grid-area: 1 / 1; }
.c23-solar-lockup > .c23-motif { width: 100%; }
.c23-solar-name { position: relative; z-index: 1; margin: 0; text-align: center; }
.c23-solar-name > span { display: block; }
/* Controls stay under the pointer; only their internal arrow responds. */
:where(.c23-button,.c23-btn,.c23-link,.c23-plan-open,.c23-menu-toggle) {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
:where(.c23-button,.c23-btn,.c23-link,.c23-plan-open) :is(.c23-arrow,[data-c23-arrow]) {
  display: inline-block;
  transition: transform .28s cubic-bezier(.16,1,.3,1);
}
:where(.c23-button,.c23-btn,.c23-link,.c23-plan-open):focus-visible,
.c23-menu-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
.c23-faq summary { cursor: pointer; }
.c23-faq summary :is(.c23-faq-icon,[data-c23-plus]) {
  transition: transform .3s cubic-bezier(.16,1,.3,1);
}
.c23-faq details[open] summary :is(.c23-faq-icon,[data-c23-plus]) { transform: rotate(45deg); }
@media (hover: hover) and (pointer: fine) {
  :where(.c23-button,.c23-btn,.c23-link,.c23-plan-open):hover :is(.c23-arrow,[data-c23-arrow]) { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  :where(.c23-button,.c23-btn,.c23-link,.c23-plan-open,.c23-menu-toggle),
  :where(.c23-button,.c23-btn,.c23-link,.c23-plan-open) :is(.c23-arrow,[data-c23-arrow]),
  .c23-faq summary :is(.c23-faq-icon,[data-c23-plus]) { transition: none; }
}
@media print {
  .c23-motif { opacity: .4; }
  [data-c23-reveal], [data-c23-counter], [data-c23-parallax] { transform: none !important; }
}
