/*<!-- QuantaLumin Generator by Henry Sheehy at QuantaLumin © 2025
The System to Simplify Science -->*/
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css?family=Shrikhand:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css?family=Forum:300,300i,400,400i");
@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800");
@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap");
@keyframes tilt-shaking {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(0deg);
  } /* Fixed typo: was "0eg" */
  75% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateY(-9px);
  }
  35% {
    transform: translateY(-9px) rotate(17deg);
  }
  55% {
    transform: translateY(-9px) rotate(-17deg);
  }
  65% {
    transform: translateY(-9px) rotate(17deg);
  }
  75% {
    transform: translateY(-9px) rotate(-17deg);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.shake svg {
  animation: shake 0.83s 0s;
}

.icon-tilt-shake-on-hover:hover svg {
  animation: tilt-shaking 0.28s 0s;
  animation-iteration-count: 1.5;
}

.icon-shake-on-hover:hover svg {
  animation: shake 0.83s 0s;
}

.onload-fade-in {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.onload-content-fade-in .content {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.onload-figure-fade-in figure, .onload-figure-fade-in canvas, .onload-figure-fade-in .blockquote-quote {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: var(--misc_overlay_opacity);
  }
}
.fade-in {
  animation: fadeInAnimation ease 3s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.ql-reveal-target {
  --ql-reveal-delay: 0ms;
  --ql-reveal-duration: 1200ms;
  --ql-reveal-distance: 1rem;
  --ql-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
  transition: opacity var(--ql-reveal-duration) var(--ql-reveal-ease), transform var(--ql-reveal-duration) var(--ql-reveal-ease);
  transition-delay: var(--ql-reveal-delay);
}

.ql-reveal-target.ql-reveal-pending {
  opacity: 0;
  transform: translate3d(0, var(--ql-reveal-distance), 0);
}

.ql-reveal-target.ql-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-ql-reveal-distance="0"] {
  --ql-reveal-distance: 0px;
}

.ql-reveal-boot [data-ql-reveal] :is(img, svg):not(.ql-reveal-target) {
  opacity: 0;
  transform: translate3d(0, var(--ql-reveal-distance, 1rem), 0);
}

@media (prefers-reduced-motion: reduce) {
  .ql-reveal-target {
    transition: none !important;
    transform: none !important;
  }
  .ql-reveal-boot [data-ql-reveal] :is(img, svg):not(.ql-reveal-target) {
    opacity: 1;
    transform: none;
  }
}
.span-gentle-hover-shake:hover {
  animation: tilt-shaking 0.25s infinite;
}

/* Put square brackets around indices in the reference list */
ol.hugo-simplecite-vancouver > li, ol.hugo-simplecite-reference-list > li {
  list-style: none;
  counter-increment: list;
}

ol.hugo-simplecite-vancouver > li::marker, ol.hugo-simplecite-reference-list > li::marker {
  content: "[" counter(list) "]  ";
}

/* Break long strings of text (especially in hyperlinks) */
.hugo-simplecite-break-words, .hugo-simplecite-doi-hyperlink, .hugo-simplecite-url-hyperlink {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.cite-missing {
  border: 1px dashed #c33;
  padding: 0.1em 0.35em;
  border-radius: 0.25rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  background: rgba(204, 51, 51, 0.06);
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
main p, main li, main td {
  color: var(--fg);
}
main input, main select, main textarea {
  color: var(--fg_bold);
}
main a {
  color: var(--fg_bold);
}
main a:hover {
  color: var(--accent);
}
main a:hover i, main a:hover em, main a:hover b, main a:hover strong, main a:hover h1, main a:hover h2, main a:hover h3, main a:hover h4, main a:hover h5, main a:hover h6, main a:hover p, main a:hover span {
  color: var(--accent);
}
main a h1, main a h2, main a h3, main a h4, main a h5, main a h6, main a span, main a b, main a strong, main a em, main a i, main a p, main a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--fg_bold);
}
main h1, main h2, main h3, main h4, main h5, main h6, main span, main b, main strong, main em, main i {
  color: var(--fg_bold);
}
main blockquote {
  border-left-color: var(--border);
}
main code {
  background: var(--border_bg);
  border-color: var(--border);
}
main hr {
  border-bottom-color: var(--border);
}

header p, header li, header td {
  color: var(--header_fg);
}
header input, header select, header textarea {
  color: var(--header_fg_bold);
}
header a {
  color: var(--header_fg_bold);
}
header a:hover {
  color: var(--header_accent);
}
header a:hover i, header a:hover em, header a:hover b, header a:hover strong, header a:hover h1, header a:hover h2, header a:hover h3, header a:hover h4, header a:hover h5, header a:hover h6, header a:hover p, header a:hover span {
  color: var(--header_accent);
}
header a h1, header a h2, header a h3, header a h4, header a h5, header a h6, header a span, header a b, header a strong, header a em, header a i, header a p, header a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--header_fg_bold);
}
header h1, header h2, header h3, header h4, header h5, header h6, header span, header b, header strong, header em, header i {
  color: var(--header_fg_bold);
}
header blockquote {
  border-left-color: var(--header_border);
}
header code {
  background: var(--header_border_bg);
  border-color: var(--header_border);
}
header hr {
  border-bottom-color: var(--header_border);
}

#aside p, #aside li, #aside td {
  color: var(--aside_fg);
}
#aside input, #aside select, #aside textarea {
  color: var(--aside_fg_bold);
}
#aside a {
  color: var(--aside_fg_bold);
}
#aside a:hover {
  color: var(--aside_accent);
}
#aside a:hover i, #aside a:hover em, #aside a:hover b, #aside a:hover strong, #aside a:hover h1, #aside a:hover h2, #aside a:hover h3, #aside a:hover h4, #aside a:hover h5, #aside a:hover h6, #aside a:hover p, #aside a:hover span {
  color: var(--aside_accent);
}
#aside a h1, #aside a h2, #aside a h3, #aside a h4, #aside a h5, #aside a h6, #aside a span, #aside a b, #aside a strong, #aside a em, #aside a i, #aside a p, #aside a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--aside_fg_bold);
}
#aside h1, #aside h2, #aside h3, #aside h4, #aside h5, #aside h6, #aside span, #aside b, #aside strong, #aside em, #aside i {
  color: var(--aside_fg_bold);
}
#aside blockquote {
  border-left-color: var(--aside_border);
}
#aside code {
  background: var(--aside_border_bg);
  border-color: var(--aside_border);
}
#aside hr {
  border-bottom-color: var(--aside_border);
}

#article-nav p, #article-nav li, #article-nav td {
  color: var(--article-nav_fg);
}
#article-nav input, #article-nav select, #article-nav textarea {
  color: var(--article-nav_fg_bold);
}
#article-nav a {
  color: var(--article-nav_fg_bold);
}
#article-nav a:hover {
  color: var(--article-nav_accent);
}
#article-nav a:hover i, #article-nav a:hover em, #article-nav a:hover b, #article-nav a:hover strong, #article-nav a:hover h1, #article-nav a:hover h2, #article-nav a:hover h3, #article-nav a:hover h4, #article-nav a:hover h5, #article-nav a:hover h6, #article-nav a:hover p, #article-nav a:hover span {
  color: var(--article-nav_accent);
}
#article-nav a h1, #article-nav a h2, #article-nav a h3, #article-nav a h4, #article-nav a h5, #article-nav a h6, #article-nav a span, #article-nav a b, #article-nav a strong, #article-nav a em, #article-nav a i, #article-nav a p, #article-nav a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--article-nav_fg_bold);
}
#article-nav h1, #article-nav h2, #article-nav h3, #article-nav h4, #article-nav h5, #article-nav h6, #article-nav span, #article-nav b, #article-nav strong, #article-nav em, #article-nav i {
  color: var(--article-nav_fg_bold);
}
#article-nav blockquote {
  border-left-color: var(--article-nav_border);
}
#article-nav code {
  background: var(--article-nav_border_bg);
  border-color: var(--article-nav_border);
}
#article-nav hr {
  border-bottom-color: var(--article-nav_border);
}

footer p, footer li, footer td {
  color: var(--footer_fg);
}
footer input, footer select, footer textarea {
  color: var(--footer_fg_bold);
}
footer a {
  color: var(--footer_fg_bold);
}
footer a:hover {
  color: var(--footer_accent);
}
footer a:hover i, footer a:hover em, footer a:hover b, footer a:hover strong, footer a:hover h1, footer a:hover h2, footer a:hover h3, footer a:hover h4, footer a:hover h5, footer a:hover h6, footer a:hover p, footer a:hover span {
  color: var(--footer_accent);
}
footer a h1, footer a h2, footer a h3, footer a h4, footer a h5, footer a h6, footer a span, footer a b, footer a strong, footer a em, footer a i, footer a p, footer a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--footer_fg_bold);
}
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer span, footer b, footer strong, footer em, footer i {
  color: var(--footer_fg_bold);
}
footer blockquote {
  border-left-color: var(--footer_border);
}
footer code {
  background: var(--footer_border_bg);
  border-color: var(--footer_border);
}
footer hr {
  border-bottom-color: var(--footer_border);
}

/* -------------------------------------------------------------------
# Layout:Breakpoints/SCSS
Enhanced breakpoint system compatible with CSS custom properties
Supports <=, >=, <, >, !, and exact matches.
------------------------------------------------------------------- */
/*
# Fonts:Fonts/SCSS
TODO examples
*/
/*
# Layout:Breakpoints/SCSS
TODO examples
*/
/*
# Mixins:All/SCSS
TODO explain
*/
/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  -webkit-text-size-adjust: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Basic */
@-ms-viewport {
  width: device-width;
}
body {
  -ms-overflow-style: scrollbar;
}

@media screen and (max-width: 480px) {
  html, body {
    min-width: 320px;
  }
}
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

html {
  scroll-behavior: smooth;
}

body {
  padding: var(--page-margin);
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
html {
  background: var(--bg);
  font-size: 100%; /* 16px */
}
html header .text, html footer .text {
  font-size: 140%;
}
html {
  /* Breakpoints */
}
@media screen and (max-width: 1680px) {
  html {
    font-size: 90%;
  }
  html header .text, html footer .text {
    font-size: 130%;
  }
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 90%;
    font-size: 87.5%;
  }
  html header .text, html footer .text {
    font-size: 135%;
  }
}
@media screen and (max-width: 736px) {
  html {
    font-size: 81.25%;
  }
  html header .text, html footer .text {
    font-size: 131.25%;
  }
}
@media screen and (max-width: 360px) {
  html {
    font-size: 75%;
  }
  html header .text, html footer .text {
    font-size: 121.875%;
  }
}
html {
  /* Portrait orientation */
}
@media (orientation: portrait) {
  html header .text, html footer .text {
    font-size: 130%;
  }
}

body,
input,
select,
textarea {
  font-family: var(--font_family), var(--font_fallback), sans-serif;
  font-size: var(--font_size);
  font-weight: var(--font_weight);
  line-height: var(--surface-body-line-height, 1.65);
}

h1, h2, h3 {
  font-family: var(--font_header-family), var(--font_header-fallback), sans-serif;
  font-weight: var(--font_header-weight);
  line-height: var(--surface-body-line-height, 1.65);
}

code {
  border-radius: var(--size_border_radius);
  font-size: 0.9em;
  margin: 0 0.25rem;
  padding: 0.25rem 0.325rem;
  text-align: left;
}

pre {
  -webkit-overflow-scrolling: touch;
  font-size: 0.9em;
  margin: 0 0 var(--size_element_margin) 0;
}
pre code {
  display: block;
  line-height: 1.5;
  padding: 0.75rem 1rem;
  overflow-x: auto;
  font-size: 1em;
}
pre code span {
  margin: calc(var(--size_element_margin) * 0.1) 0;
}

body a {
  transition: color var(--duration_transition) ease-in-out;
  text-decoration: underline;
}
body a:hover {
  color: var(--hover-accent, var(--accent));
  text-decoration: none;
}
body strong, body b, body .active, body .active span {
  font-weight: var(--font_weight_bold);
}
body h1 strong, body h1 b, body h1 .active, body h1 .active span, body h2 strong, body h2 b, body h2 .active, body h2 .active span, body h3 strong, body h3 b, body h3 .active, body h3 .active span {
  font-weight: var(--font_header-weight_bold);
}
body em, body i {
  font-style: italic;
}
body p {
  margin: 0 0 var(--surface-paragraph-gap, var(--size_element_margin)) 0;
}
body p.major {
  font-size: 1.25rem;
}
body h1, body h2, body h3 {
  font-weight: var(--font_weight);
  line-height: var(--surface-heading-line-height, 1.375);
  letter-spacing: 0.05em; /* font_kerning */
}
body h4, body h5, body h6 {
  font-weight: var(--font_header-weight);
  line-height: var(--surface-heading-line-height, 1.375);
  letter-spacing: 0.05em; /* font_header-kerning */
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  margin: 0 0 var(--surface-heading-gap, calc(var(--size_element_margin) * 0.5)) 0;
}
body h1.center, body h2.center, body h3.center, body h4.center, body h5.center, body h6.center {
  text-align: center;
}
body h1.pad, body h2.pad, body h3.pad, body h4.pad, body h5.pad, body h6.pad {
  padding: 1.5rem;
}
body h1 a, body h2 a, body h3 a, body h4 a, body h5 a, body h6 a {
  color: inherit;
  text-decoration: none;
}
body h1 {
  font-size: 250%;
}
body h2 {
  font-size: 200%;
}
body h3 {
  font-size: 150%;
}
body h4 {
  font-size: 110%;
}
body h5 {
  font-size: 90%;
}
body h6 {
  font-size: 70%;
}
body sub {
  font-size: 0.8rem;
  position: relative;
  top: 0.5rem;
}
body sup {
  font-size: 0.8rem;
  position: relative;
  top: -0.5rem;
}
body blockquote {
  border-left: solid calc(var(--size_border_width) * 4);
  font-style: italic;
  margin: 0 0 var(--size_element_margin) 0;
  padding: calc(var(--size_element_margin) / 4) 0 calc(var(--size_element_margin) / 4) var(--size_element_margin);
}
body .blockquote-quote {
  display: block;
  float: none;
  clear: both;
  margin: 0 0 var(--size_element_margin) 0;
  max-height: none;
  max-width: 100%;
  position: static;
  width: 100%;
}
body .blockquote-quote > blockquote {
  margin: 0;
  border-left: solid calc(var(--size_border_width) * 4);
  font-size: 1em;
  padding: calc(var(--size_element_margin) / 4) 0 calc(var(--size_element_margin) / 4) var(--size_element_margin);
  position: static;
  text-align: left;
  top: auto;
  transform: none;
}
body .blockquote-quote > .blockquote-footer {
  margin: calc(var(--size_element_margin) * 0.35) 0 0;
  font-size: 0.82em;
  line-height: 1.45;
  text-align: right;
  font-style: normal;
  opacity: 0.82;
}
body .blockquote-quote .blockquote-title {
  font-style: italic;
}
body .blockquote-quote .blockquote-meta-sep {
  margin: 0 0.35em;
  opacity: 0.6;
}
body .blockquote-quote.opening {
  margin: 0 auto calc(var(--size_element_margin) * 1.25);
  max-width: 44rem;
}
body .blockquote-quote.opening > blockquote {
  width: 100%;
  max-width: none;
}
body hr {
  border: 0;
  border-bottom: solid var(--size_border_width);
  margin: calc(var(--size_element_margin) * 1.25) 0;
}
body hr.major {
  margin: calc(var(--size_element_margin) * 1.75) 0;
}
body .align-left {
  text-align: left;
}
body .align-center {
  text-align: center;
}
body .align-right {
  text-align: right;
}
body .footerspacer {
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 736px) {
  body p.major {
    font-size: 1.1rem;
  }
  body h1 {
    font-size: 2.5rem;
  }
  body h2 {
    font-size: 2rem;
  }
  body h3 {
    font-size: 1.25rem;
  }
  body h4 {
    font-size: 1rem;
  }
}
body .katex .mathnormal, body .katex .mathrm, body .katex .custom-Regular, body .katex .amsrm {
  font-family: KaTeX_Math;
}
body .katex-passthrough .katex-display[data-eq-number] {
  position: relative;
  padding-right: 3.5em;
}
body .katex-passthrough .katex-display[data-eq-number]::after {
  content: attr(data-eq-number);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
  line-height: 1;
  white-space: nowrap;
  opacity: 0.9;
}
body kbd {
  background-color: #eee;
  border-radius: 3px;
  border: 1px solid #b4b4b4;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
  color: #333;
  display: inline-block;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
footer .copyright a {
  text-decoration: none;
}
@media screen and (min-width: 1680px) {
  footer .rows {
    margin: 0 1.5rem;
  }
  footer .rows ul {
    margin: 0.5rem;
  }
}
@media screen and (min-width: 980px) {
  footer .rows {
    margin: 0.5rem 0.5rem;
  }
  footer .rows ul {
    margin: 0.5rem;
  }
}
footer .rows ul {
  height: 100%;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
.newsletter {
  --newsletter-accent: var(--surface-newsletter-accent, var(--accent));
  --newsletter-accent-ring: color-mix(in srgb, var(--newsletter-accent) 26%, transparent);
  --newsletter-accent-glow: color-mix(in srgb, var(--newsletter-accent) 40%, transparent);
  --newsletter-accent-glow-strong: color-mix(in srgb, var(--newsletter-accent) 55%, transparent);
  --newsletter-button-bg: var(--surface-newsletter-button-bg, var(--fg));
  --newsletter-button-fg: var(--surface-newsletter-button-fg, var(--fg_bold_inv, #fff));
  --newsletter-button-wave: color-mix(in srgb, var(--newsletter-button-fg) 72%, transparent);
  --newsletter-button-accent-wave: color-mix(in srgb, var(--newsletter-accent) 95%, transparent);
  z-index: 100000;
  padding: 0.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.newsletter h2 {
  order: 0;
  margin-bottom: 0.1rem;
  font-size: 1.45em;
}
.newsletter p {
  margin: 0.5rem 0;
}
.newsletter form {
  order: 2;
  width: 100%;
  max-width: 500px;
}
.newsletter form input[type=email],
.newsletter form input[type=text] {
  width: 100%;
  padding: 0.6375rem 0.75rem;
  border-radius: 0.45rem;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  border: solid 1px;
  border-color: var(--field-border, rgba(1, 1, 1, 0.2));
  background-color: var(--field-bg, color-mix(in srgb, var(--bg) 84%, white 16%));
  color: var(--field-fg, var(--fg));
}
.newsletter form input[type=email]:hover,
.newsletter form input[type=text]:hover {
  border-color: var(--newsletter-accent);
  box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  transform: scale(1.01);
  animation: gentlePulse 1.5s infinite;
}
.newsletter form input[type=email]:focus,
.newsletter form input[type=text]:focus {
  border-color: var(--newsletter-accent);
  box-shadow: 0 0 0 3px var(--newsletter-accent-ring);
  outline: none;
  transform: scale(1.02);
}
.newsletter form input[type=email],
.newsletter form input[type=text] {
  /* Optional: Add gentle pulse animation on hover (like checkboxes) */
}
.newsletter form input[type=email]:hover,
.newsletter form input[type=text]:hover {
  animation: gentlePulseInputs 1.5s infinite;
}
@keyframes gentlePulseInputs {
  0% {
    box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  }
  50% {
    box-shadow: 0 0 12px 3px var(--newsletter-accent-glow-strong);
  }
  100% {
    box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  }
}
.newsletter form .h-captcha {
  margin: 0.75rem 0;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 736px) {
  .newsletter {
    padding: 1.5rem 0.75rem;
  }
  .newsletter h2 {
    font-size: 1.05rem;
  }
  .newsletter input[type=submit] {
    width: 100%;
  }
}

.newsletter {
  z-index: 100;
  padding: 0.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.newsletter h2 {
  order: 0;
  margin-bottom: 0.1rem;
  font-size: 1.25em;
}
.newsletter p {
  margin: 0.5rem 0;
}
.newsletter form {
  order: 2;
  width: 100%;
  max-width: 500px;
}
.newsletter form input[type=email],
.newsletter form input[type=text] {
  width: 100%;
  padding: 0.6375rem 0.75rem;
  border-radius: 0.45rem;
  font-size: 0.75rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  border: solid 1px;
  border-color: var(--field-border, rgba(1, 1, 1, 0.2));
  background-color: var(--field-bg, color-mix(in srgb, var(--bg) 84%, white 16%));
  color: var(--field-fg, var(--fg));
}
.newsletter form input[type=email]:focus,
.newsletter form input[type=text]:focus {
  border-color: var(--newsletter-accent);
  box-shadow: 0 0 0 2px var(--newsletter-accent-ring);
  outline: none; /* Remove default focus outline */
}
.newsletter form .checkboxes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  margin: 0.75rem 0;
}
.newsletter form .checkboxes p {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
}
.newsletter form .checkboxes p label {
  font-size: 0.675rem;
  color: var(--field-fg, var(--fg));
  text-align: left;
  cursor: pointer;
  transition: filter 0.2s ease, transform 0.15s ease;
}
.newsletter form .checkboxes p label::before {
  content: "";
  display: inline-block;
  width: 0.825rem;
  height: 0.825rem;
  border: 2px solid var(--field-border, rgba(1, 1, 1, 0.2));
  border-radius: 4px;
  margin-right: 0.375rem;
  vertical-align: middle;
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.newsletter form .checkboxes p label:hover::before {
  box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  border-color: var(--newsletter-accent);
  transform: scale(1.05);
  animation: gentlePulse 1.5s infinite;
}
@keyframes gentlePulse {
  0% {
    box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  }
  50% {
    box-shadow: 0 0 12px 3px var(--newsletter-accent-glow-strong);
  }
  100% {
    box-shadow: 0 0 8px 2px var(--newsletter-accent-glow);
  }
}
.newsletter form .checkboxes p label:hover {
  color: var(--newsletter-accent);
}
.newsletter form .checkboxes p label span {
  display: block;
  font-size: 0.6rem;
  color: var(--fg_light);
  transition: color 0.2s ease;
}
.newsletter form .checkboxes p label:hover span {
  color: var(--newsletter-accent);
}
.newsletter form .checkboxes p input[type=checkbox] {
  display: none;
  width: 0.825rem;
  height: 0.825rem;
}
.newsletter form .checkboxes p {
  /* When checkbox is focused via keyboard */
}
.newsletter form .checkboxes p input[type=checkbox]:focus + label::before {
  box-shadow: 0 0 0 3px var(--newsletter-accent-ring);
  outline: none;
}
.newsletter form .checkboxes p {
  /* When checkbox is checked */
}
.newsletter form .checkboxes p input[type=checkbox]:checked + label::before {
  background-color: var(--newsletter-accent);
  border-color: var(--newsletter-accent);
}
.newsletter form .checkboxes p {
  /* Checked + hover */
}
.newsletter form .checkboxes p input[type=checkbox]:checked + label:hover::before {
  box-shadow: 0 0 8px 2px var(--newsletter-accent-glow-strong);
  background-color: color-mix(in srgb, var(--newsletter-accent) 80%, black 20%);
}
.newsletter form .h-captcha {
  margin: 0.75rem 0;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 736px) {
  .newsletter {
    padding: 1.5rem 0.75rem;
  }
  .newsletter h2 {
    font-size: 1.05rem;
  }
  .newsletter input[type=submit] {
    width: 100%;
  }
}

.newsletter .button-wrapper {
  position: relative;
  display: inline-block;
  border-radius: 10%;
}
.newsletter .button-wrapper .button {
  position: relative;
  z-index: 2;
  overflow: hidden;
  transition: background-color 0.3s ease;
  background-color: var(--newsletter-button-bg) !important;
  color: var(--newsletter-button-fg);
}
.newsletter {
  /* Passive waves */
}
.newsletter .button-wrapper::before,
.newsletter .button-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  border-radius: inherit;
  background-color: var(--newsletter-button-wave);
  transform: translate(-50%, -50%) scale(0.5);
  animation: passiveWave 6s linear infinite;
  z-index: 0;
}
.newsletter .button-wrapper::after {
  animation-duration: 9s;
}
.newsletter {
  /* Ripple effect */
}
.newsletter .button::before,
.newsletter .button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 10%;
  background-color: var(--newsletter-button-wave);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.newsletter .button:hover::before {
  animation: ripple 1.8s ease-out;
}
.newsletter .button:hover::after {
  animation: ripple 1.8s ease-out 0.2s;
}
.newsletter {
  /* Keyframes */
}
@keyframes passiveWave {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0.3;
  }
  100% {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
  }
}
@keyframes ripple {
  0% {
    width: 0;
    height: 0;
    opacity: 0.4;
  }
  100% {
    width: 300%;
    height: 300%;
    opacity: 0;
  }
}
.newsletter .button-wrapper .button {
  position: relative;
  z-index: 2;
  overflow: hidden;
  transition: background-color 0.3s ease, transform 0.1s ease; /* add transform for press effect */
  background-color: var(--newsletter-button-bg) !important;
  color: var(--newsletter-button-fg);
  font-family: Source-Sans-3, Helvetica, "sans-serif";
  font-weight: 300;
  line-height: 1.65;
}
.newsletter {
  /* Press down effect on hover */
}
.newsletter .button-wrapper .button:hover {
  transform: scale(0.95); /* slightly shrink to simulate press */
}

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}
.modal .modal-content {
  margin: 15% auto;
  padding: 2rem;
  border: 1px solid #888;
  width: 90%;
  max-width: 600px;
  border-radius: 0.5rem;
  position: relative;
  background: var(--bg);
}
.modal .modal-content .close {
  color: #aaa;
  float: right;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
}
.modal .modal-content .close:hover, .modal .modal-content .close:focus {
  color: black;
  text-decoration: none;
}

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}
.modal .modal-content {
  margin: 15% auto;
  padding: 2rem;
  border: 1px solid #888;
  width: 90%;
  max-width: 600px;
  border-radius: 0.5rem;
  position: relative;
}
.modal .modal-content .close {
  color: #aaa;
  float: right;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
}
.modal .modal-content .close:hover, .modal .modal-content .close:focus {
  color: black;
  text-decoration: none;
}

.newsletter.bounce-in {
  animation: bounceIn 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes bounceIn {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  70% {
    transform: translateY(5px);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
  }
}
.newsletter .button-wrapper {
  position: relative;
  display: inline-block;
  border-radius: 10%;
  /* waves on hover */
}
.newsletter .button-wrapper:hover::before, .newsletter .button-wrapper:hover::after {
  background-color: var(--newsletter-accent-ring);
}
.newsletter .button-wrapper .button {
  position: relative;
  z-index: 2;
  overflow: hidden;
  transition: background-color 0.3s ease, transform 0.1s ease;
  background-color: var(--newsletter-button-bg) !important;
  color: var(--newsletter-button-fg);
  /* ripple waves on hover */
}
.newsletter .button-wrapper .button:hover::before, .newsletter .button-wrapper .button:hover::after {
  background-color: var(--newsletter-button-accent-wave);
}

.newsletter {
  /* Smooth slide-in for captcha */
}
.newsletter #captchaContainer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.6s ease, opacity 0.6s ease, margin-top 0.6s ease;
  margin-top: 0;
  display: flex;
  justify-content: center; /* horizontal center */
  align-items: center; /* vertical center within container */
}
.newsletter #captchaContainer.show {
  max-height: 200px; /* Adjust if your captcha is taller */
  opacity: 1;
  margin-top: 20px;
}
.newsletter #captchaContainer {
  /* Initial state of the captcha */
}
.newsletter #captchaContainer .altcha {
  transition: transform 0.5s ease, opacity 0.5s ease, background-color 0.5s ease, max-height 0.5s ease, margin 0.5s ease, padding 0.5s ease;
  opacity: 0.8;
  background-color: color-mix(in srgb, var(--newsletter-accent) 10%, transparent);
  box-shadow: 0 0 15px var(--newsletter-accent-ring);
  max-height: 100px; /* adjust to your captcha height */
  overflow: hidden;
}
.newsletter #captchaContainer {
  /* Verified animation */
}
.newsletter #captchaContainer .altcha[data-state=verified] {
  transition: transform 1s ease, opacity 1s ease 0.5s, background-color 1s ease, max-height 1s ease 0.5s, margin 0.5s ease, padding 0.5s ease;
  opacity: 0;
  background: rgba(0, 128, 0, 0.5);
  box-shadow: none;
  max-height: 0; /* expanded state */
}

#thankYouMessage {
  display: none; /* keeps it hidden initially */
  max-width: 400px;
  margin: 20px auto; /* center horizontally */
  padding: 20px 30px;
  border: 2px solid color-mix(in srgb, var(--newsletter-accent) 50%, transparent);
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--newsletter-accent) 10%, transparent);
  box-shadow: 0 4px 15px var(--newsletter-accent-ring);
  text-align: center;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

#thankYouMessage h2 {
  margin-top: 0;
  color: color-mix(in srgb, var(--newsletter-accent) 80%, black 20%);
}

#thankYouMessage h4 a {
  color: color-mix(in srgb, var(--newsletter-accent) 80%, black 20%);
  text-decoration: none;
  font-weight: bold;
}

#thankYouMessage h4 a:hover {
  text-decoration: underline;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Row */
.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
}
.row > * {
  box-sizing: border-box;
}
.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}
.row.aln-left {
  justify-content: flex-start;
}
.row.aln-center {
  justify-content: center;
}
.row.aln-right {
  justify-content: flex-end;
}
.row.aln-top {
  align-items: flex-start;
}
.row.aln-middle {
  align-items: center;
}
.row.aln-bottom {
  align-items: flex-end;
}
.row > .imp {
  order: -1;
}
.row > .col-1 {
  width: 8.3333333333%;
}
.row > .off-1 {
  margin-left: 8.3333333333%;
}
.row > .col-2 {
  width: 16.6666666667%;
}
.row > .off-2 {
  margin-left: 16.6666666667%;
}
.row > .col-3 {
  width: 25%;
}
.row > .off-3 {
  margin-left: 25%;
}
.row > .col-4 {
  width: 33.3333333333%;
}
.row > .off-4 {
  margin-left: 33.3333333333%;
}
.row > .col-5 {
  width: 41.6666666667%;
}
.row > .off-5 {
  margin-left: 41.6666666667%;
}
.row > .col-6 {
  width: 50%;
}
.row > .off-6 {
  margin-left: 50%;
}
.row > .col-7 {
  width: 58.3333333333%;
}
.row > .off-7 {
  margin-left: 58.3333333333%;
}
.row > .col-8 {
  width: 66.6666666667%;
}
.row > .off-8 {
  margin-left: 66.6666666667%;
}
.row > .col-9 {
  width: 75%;
}
.row > .off-9 {
  margin-left: 75%;
}
.row > .col-10 {
  width: 83.3333333333%;
}
.row > .off-10 {
  margin-left: 83.3333333333%;
}
.row > .col-11 {
  width: 91.6666666667%;
}
.row > .off-11 {
  margin-left: 91.6666666667%;
}
.row > .col-12 {
  width: 100%;
}
.row > .off-12 {
  margin-left: 100%;
}
.row.gtr-0 {
  margin-top: 0;
  margin-left: 0rem;
}
.row.gtr-0 > * {
  padding: 0 0 0 0rem;
}
.row.gtr-0.gtr-uniform {
  margin-top: 0rem;
}
.row.gtr-0.gtr-uniform > * {
  padding-top: 0rem;
}
.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.5rem;
}
.row.gtr-25 > * {
  padding: 0 0 0 0.5rem;
}
.row.gtr-25.gtr-uniform {
  margin-top: -0.5rem;
}
.row.gtr-25.gtr-uniform > * {
  padding-top: 0.5rem;
}
.row.gtr-50 {
  margin-top: 0;
  margin-left: -1rem;
}
.row.gtr-50 > * {
  padding: 0 0 0 1rem;
}
.row.gtr-50.gtr-uniform {
  margin-top: -1rem;
}
.row.gtr-50.gtr-uniform > * {
  padding-top: 1rem;
}
.row {
  margin-top: 0;
  margin-left: -2rem;
}
.row > * {
  padding: 0 0 0 2rem;
}
.row.gtr-uniform {
  margin-top: -2rem;
}
.row.gtr-uniform > * {
  padding-top: 2rem;
}
.row.gtr-150 {
  margin-top: 0;
  margin-left: -3rem;
}
.row.gtr-150 > * {
  padding: 0 0 0 3rem;
}
.row.gtr-150.gtr-uniform {
  margin-top: -3rem;
}
.row.gtr-150.gtr-uniform > * {
  padding-top: 3rem;
}
.row.gtr-200 {
  margin-top: 0;
  margin-left: -4rem;
}
.row.gtr-200 > * {
  padding: 0 0 0 4rem;
}
.row.gtr-200.gtr-uniform {
  margin-top: -4rem;
}
.row.gtr-200.gtr-uniform > * {
  padding-top: 4rem;
}
@media screen and (max-width: 1680px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-xlarge {
    order: -1;
  }
  .row > .col-1-xlarge {
    width: 8.3333333333%;
  }
  .row > .off-1-xlarge {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-xlarge {
    width: 16.6666666667%;
  }
  .row > .off-2-xlarge {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-xlarge {
    width: 25%;
  }
  .row > .off-3-xlarge {
    margin-left: 25%;
  }
  .row > .col-4-xlarge {
    width: 33.3333333333%;
  }
  .row > .off-4-xlarge {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-xlarge {
    width: 41.6666666667%;
  }
  .row > .off-5-xlarge {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-xlarge {
    width: 50%;
  }
  .row > .off-6-xlarge {
    margin-left: 50%;
  }
  .row > .col-7-xlarge {
    width: 58.3333333333%;
  }
  .row > .off-7-xlarge {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-xlarge {
    width: 66.6666666667%;
  }
  .row > .off-8-xlarge {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-xlarge {
    width: 75%;
  }
  .row > .off-9-xlarge {
    margin-left: 75%;
  }
  .row > .col-10-xlarge {
    width: 83.3333333333%;
  }
  .row > .off-10-xlarge {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-xlarge {
    width: 91.6666666667%;
  }
  .row > .off-11-xlarge {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-xlarge {
    width: 100%;
  }
  .row > .off-12-xlarge {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 1280px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-large {
    order: -1;
  }
  .row > .col-1-large {
    width: 8.3333333333%;
  }
  .row > .off-1-large {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-large {
    width: 16.6666666667%;
  }
  .row > .off-2-large {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-large {
    width: 25%;
  }
  .row > .off-3-large {
    margin-left: 25%;
  }
  .row > .col-4-large {
    width: 33.3333333333%;
  }
  .row > .off-4-large {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-large {
    width: 41.6666666667%;
  }
  .row > .off-5-large {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-large {
    width: 50%;
  }
  .row > .off-6-large {
    margin-left: 50%;
  }
  .row > .col-7-large {
    width: 58.3333333333%;
  }
  .row > .off-7-large {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-large {
    width: 66.6666666667%;
  }
  .row > .off-8-large {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-large {
    width: 75%;
  }
  .row > .off-9-large {
    margin-left: 75%;
  }
  .row > .col-10-large {
    width: 83.3333333333%;
  }
  .row > .off-10-large {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-large {
    width: 91.6666666667%;
  }
  .row > .off-11-large {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-large {
    width: 100%;
  }
  .row > .off-12-large {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 980px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-medium {
    order: -1;
  }
  .row > .col-1-medium {
    width: 8.3333333333%;
  }
  .row > .off-1-medium {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-medium {
    width: 16.6666666667%;
  }
  .row > .off-2-medium {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-medium {
    width: 25%;
  }
  .row > .off-3-medium {
    margin-left: 25%;
  }
  .row > .col-4-medium {
    width: 33.3333333333%;
  }
  .row > .off-4-medium {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-medium {
    width: 41.6666666667%;
  }
  .row > .off-5-medium {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-medium {
    width: 50%;
  }
  .row > .off-6-medium {
    margin-left: 50%;
  }
  .row > .col-7-medium {
    width: 58.3333333333%;
  }
  .row > .off-7-medium {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-medium {
    width: 66.6666666667%;
  }
  .row > .off-8-medium {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-medium {
    width: 75%;
  }
  .row > .off-9-medium {
    margin-left: 75%;
  }
  .row > .col-10-medium {
    width: 83.3333333333%;
  }
  .row > .off-10-medium {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-medium {
    width: 91.6666666667%;
  }
  .row > .off-11-medium {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-medium {
    width: 100%;
  }
  .row > .off-12-medium {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 736px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-small {
    order: -1;
  }
  .row > .col-1-small {
    width: 8.3333333333%;
  }
  .row > .off-1-small {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-small {
    width: 16.6666666667%;
  }
  .row > .off-2-small {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-small {
    width: 25%;
  }
  .row > .off-3-small {
    margin-left: 25%;
  }
  .row > .col-4-small {
    width: 33.3333333333%;
  }
  .row > .off-4-small {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-small {
    width: 41.6666666667%;
  }
  .row > .off-5-small {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-small {
    width: 50%;
  }
  .row > .off-6-small {
    margin-left: 50%;
  }
  .row > .col-7-small {
    width: 58.3333333333%;
  }
  .row > .off-7-small {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-small {
    width: 66.6666666667%;
  }
  .row > .off-8-small {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-small {
    width: 75%;
  }
  .row > .off-9-small {
    margin-left: 75%;
  }
  .row > .col-10-small {
    width: 83.3333333333%;
  }
  .row > .off-10-small {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-small {
    width: 91.6666666667%;
  }
  .row > .off-11-small {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-small {
    width: 100%;
  }
  .row > .off-12-small {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-xsmall {
    order: -1;
  }
  .row > .col-1-xsmall {
    width: 8.3333333333%;
  }
  .row > .off-1-xsmall {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-xsmall {
    width: 16.6666666667%;
  }
  .row > .off-2-xsmall {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-xsmall {
    width: 25%;
  }
  .row > .off-3-xsmall {
    margin-left: 25%;
  }
  .row > .col-4-xsmall {
    width: 33.3333333333%;
  }
  .row > .off-4-xsmall {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-xsmall {
    width: 41.6666666667%;
  }
  .row > .off-5-xsmall {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-xsmall {
    width: 50%;
  }
  .row > .off-6-xsmall {
    margin-left: 50%;
  }
  .row > .col-7-xsmall {
    width: 58.3333333333%;
  }
  .row > .off-7-xsmall {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-xsmall {
    width: 66.6666666667%;
  }
  .row > .off-8-xsmall {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-xsmall {
    width: 75%;
  }
  .row > .off-9-xsmall {
    margin-left: 75%;
  }
  .row > .col-10-xsmall {
    width: 83.3333333333%;
  }
  .row > .off-10-xsmall {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-xsmall {
    width: 91.6666666667%;
  }
  .row > .off-11-xsmall {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-xsmall {
    width: 100%;
  }
  .row > .off-12-xsmall {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 360px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
  .row > * {
    box-sizing: border-box;
  }
  .row.gtr-uniform > * > :last-child {
    margin-bottom: 0;
  }
  .row.aln-left {
    justify-content: flex-start;
  }
  .row.aln-center {
    justify-content: center;
  }
  .row.aln-right {
    justify-content: flex-end;
  }
  .row.aln-top {
    align-items: flex-start;
  }
  .row.aln-middle {
    align-items: center;
  }
  .row.aln-bottom {
    align-items: flex-end;
  }
  .row > .imp-xxsmall {
    order: -1;
  }
  .row > .col-1-xxsmall {
    width: 8.3333333333%;
  }
  .row > .off-1-xxsmall {
    margin-left: 8.3333333333%;
  }
  .row > .col-2-xxsmall {
    width: 16.6666666667%;
  }
  .row > .off-2-xxsmall {
    margin-left: 16.6666666667%;
  }
  .row > .col-3-xxsmall {
    width: 25%;
  }
  .row > .off-3-xxsmall {
    margin-left: 25%;
  }
  .row > .col-4-xxsmall {
    width: 33.3333333333%;
  }
  .row > .off-4-xxsmall {
    margin-left: 33.3333333333%;
  }
  .row > .col-5-xxsmall {
    width: 41.6666666667%;
  }
  .row > .off-5-xxsmall {
    margin-left: 41.6666666667%;
  }
  .row > .col-6-xxsmall {
    width: 50%;
  }
  .row > .off-6-xxsmall {
    margin-left: 50%;
  }
  .row > .col-7-xxsmall {
    width: 58.3333333333%;
  }
  .row > .off-7-xxsmall {
    margin-left: 58.3333333333%;
  }
  .row > .col-8-xxsmall {
    width: 66.6666666667%;
  }
  .row > .off-8-xxsmall {
    margin-left: 66.6666666667%;
  }
  .row > .col-9-xxsmall {
    width: 75%;
  }
  .row > .off-9-xxsmall {
    margin-left: 75%;
  }
  .row > .col-10-xxsmall {
    width: 83.3333333333%;
  }
  .row > .off-10-xxsmall {
    margin-left: 83.3333333333%;
  }
  .row > .col-11-xxsmall {
    width: 91.6666666667%;
  }
  .row > .off-11-xxsmall {
    margin-left: 91.6666666667%;
  }
  .row > .col-12-xxsmall {
    width: 100%;
  }
  .row > .off-12-xxsmall {
    margin-left: 100%;
  }
  .row.gtr-0 {
    margin-top: 0;
    margin-left: 0rem;
  }
  .row.gtr-0 > * {
    padding: 0 0 0 0rem;
  }
  .row.gtr-0.gtr-uniform {
    margin-top: 0rem;
  }
  .row.gtr-0.gtr-uniform > * {
    padding-top: 0rem;
  }
  .row.gtr-25 {
    margin-top: 0;
    margin-left: -0.5rem;
  }
  .row.gtr-25 > * {
    padding: 0 0 0 0.5rem;
  }
  .row.gtr-25.gtr-uniform {
    margin-top: -0.5rem;
  }
  .row.gtr-25.gtr-uniform > * {
    padding-top: 0.5rem;
  }
  .row.gtr-50 {
    margin-top: 0;
    margin-left: -1rem;
  }
  .row.gtr-50 > * {
    padding: 0 0 0 1rem;
  }
  .row.gtr-50.gtr-uniform {
    margin-top: -1rem;
  }
  .row.gtr-50.gtr-uniform > * {
    padding-top: 1rem;
  }
  .row {
    margin-top: 0;
    margin-left: -2rem;
  }
  .row > * {
    padding: 0 0 0 2rem;
  }
  .row.gtr-uniform {
    margin-top: -2rem;
  }
  .row.gtr-uniform > * {
    padding-top: 2rem;
  }
  .row.gtr-150 {
    margin-top: 0;
    margin-left: -3rem;
  }
  .row.gtr-150 > * {
    padding: 0 0 0 3rem;
  }
  .row.gtr-150.gtr-uniform {
    margin-top: -3rem;
  }
  .row.gtr-150.gtr-uniform > * {
    padding-top: 3rem;
  }
  .row.gtr-200 {
    margin-top: 0;
    margin-left: -4rem;
  }
  .row.gtr-200 > * {
    padding: 0 0 0 4rem;
  }
  .row.gtr-200.gtr-uniform {
    margin-top: -4rem;
  }
  .row.gtr-200.gtr-uniform > * {
    padding-top: 4rem;
  }
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Box */
.box {
  border-radius: var(--size-border-radius);
  border: solid var(--size-border-width);
  margin-bottom: var(--size-element-margin);
  padding: 1.5rem;
  border-color: var(--palette-border, var(--border)); /* default border color */
}
.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}
.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}
.box.collapse {
  cursor: pointer;
  position: relative;
  padding: 10px 20px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  transition: all 1s;
}
.box.collapse .content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
}
.box.collapse:after, .box.collapse:before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  border: 0 solid #fff;
  transition: all 1s;
  pointer-events: none;
}
.box.collapse:after {
  top: -1px;
  left: -1px;
  border-top: 5px solid black;
  border-left: 5px solid black;
}
.box.collapse:before {
  bottom: -1px;
  right: -1px;
  border-bottom: 5px solid black;
  border-right: 5px solid black;
}
.box.collapse:hover:before, .box.collapse:hover:after {
  width: 100%;
  height: 100%;
  border-color: var(--palette-accent, var(--accent)) !important;
  transition: all 0.7s;
}
.box.notice {
  padding: 0;
  overflow: hidden;
}
.box.notice blockquote {
  margin: 0;
  padding: 1rem 1.25rem;
  border-left: 0;
  font-style: normal;
}
.box.notice .notice-heading {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0 0 0.75rem 0;
  font-weight: 700;
  line-height: 1.3;
}
.box.notice .notice-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  flex: 0 0 auto;
}
.box.notice .notice-icon svg {
  width: 1em;
  height: 1em;
}
.box.notice .notice-title {
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 0.82em;
}
.box.notice .notice-content > :last-child,
.box.notice .notice-content > :last-child > :last-child,
.box.notice .notice-content > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}
.box.notice figcaption {
  margin-top: 0.9rem;
  font-size: 0.9em;
  opacity: 0.85;
}
.box.notice iframe {
  margin-top: 0.9rem;
  border: 0;
}
.box.notice.notice-collapsible > summary {
  display: block;
  list-style: none;
  cursor: pointer;
  padding: 1rem 1.25rem 0.65rem;
}
.box.notice.notice-collapsible > summary::-webkit-details-marker {
  display: none;
}
.box.notice.notice-collapsible > summary .notice-heading {
  margin: 0;
}
.box.notice.notice-collapsible > .notice-content {
  padding: 0 1.25rem 1rem;
}
.box.notice-note, .box.notice-info {
  border-color: #2f6bcb;
  background: #f1f6ff;
}
.box.notice-note .notice-heading, .box.notice-info .notice-heading {
  color: #1f4d95;
}
.box.notice-tip, .box.notice-success {
  border-color: #2b8a5d;
  background: #eefbf4;
}
.box.notice-tip .notice-heading, .box.notice-success .notice-heading {
  color: #1d6241;
}
.box.notice-warning, .box.notice-caution {
  border-color: #c17c1f;
  background: #fff8eb;
}
.box.notice-warning .notice-heading, .box.notice-caution .notice-heading {
  color: #8a5615;
}
.box.notice-important, .box.notice-danger {
  border-color: #bc3d46;
  background: #fff3f4;
}
.box.notice-important .notice-heading, .box.notice-danger .notice-heading {
  color: #8e2431;
}
.box.notice-question, .box.notice-abstract {
  border-color: #5e6472;
  background: #f4f5f8;
}
.box.notice-question .notice-heading, .box.notice-abstract .notice-heading {
  color: #3e4350;
}

details {
  user-select: none;
}

details.box.collapse > summary {
  display: block;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
details.box.collapse > summary::-webkit-details-marker {
  display: none;
}
details.box.collapse > summary > :last-child {
  margin-bottom: 0;
}
details.box.collapse > .content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out, padding-top 0.35s ease-out;
  padding-top: 0;
}
details.box.collapse[open] > .content {
  max-height: var(--collapse-open-max-height, 120rem);
  padding-top: 0.9rem;
}

summary {
  display: inline;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

details[open] .box-heading svg {
  transform: rotate(90deg);
}

/* Example usage: override variables per box */
.box.accent {
  --palette-border: var(--accent);
}

.box.alt-color {
  --palette-border: var(--accent, var(--article_nav_accent));
}

.box.collapse.accent-hover {
  --palette-accent: var(--accent, var(--article_nav_accent));
}

.ql-faq-grid {
  display: grid;
  gap: var(--surface-component-gap, 1.25rem);
}

.ql-faq-item.box.collapse {
  background: color-mix(in srgb, var(--surface, var(--bg)) 94%, transparent);
  border-color: color-mix(in srgb, var(--border) 88%, transparent);
  box-shadow: 0 0.8rem 2.2rem rgba(0, 0, 0, 0.04);
}
.ql-faq-item.box.collapse > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  font-weight: 600;
  line-height: 1.4;
}

.ql-faq-item > summary > .ql-faq-question {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}

.ql-faq-answer {
  user-select: text;
}

.ql-faq-answer > :last-child,
.ql-faq-answer > :last-child > :last-child,
.ql-faq-answer > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}

/*
  QuantaLumin CSS
  CSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* ------------------------------------------------------------
   Auto "bold foreground" = inverse of the relevant background
   Fallback: use your existing --*fg_bold tokens
------------------------------------------------------------ */
:root,
header,
#aside,
#article-nav,
footer {
  --fg_bold_inv: var(--fg-bold, var(--fg_bold));
  --fg_bold_inv: rgb(from var(--fg) calc(255 - r) calc(255 - g) calc(255 - b));
}

/* ------------------------------------------------------------
   Buttons (base)
------------------------------------------------------------ */
input[type=submit],
input[type=reset],
input[type=button],
button,
.button {
  appearance: none;
  transition: background-color var(--duration_transition) ease-in-out, box-shadow var(--duration_transition) ease-in-out, color var(--duration_transition) ease-in-out;
  border: 0;
  cursor: pointer;
  display: inline-block;
  font-weight: var(--font_weight_bold);
  letter-spacing: var(--font_kerning_alt);
  line-height: 1.65;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 0.8rem !important;
  max-width: 20rem;
  height: 3.5em;
  line-height: 3.5em;
  border-radius: var(--size_button_radius);
  padding: 0 1em;
  text-overflow: ellipsis;
  overflow: hidden;
  min-width: 0; /* important inside flex */
}

header .button > span,
header button > span {
  font-size: 0.9rem !important;
}

.button > .icon-wrapper,
button > .icon-wrapper {
  padding: 0;
}

.button > .nav-text,
button > .nav-text {
  display: block;
  padding: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.button .text,
button .text {
  display: block;
  text-overflow: ellipsis;
  vertical-align: middle;
  padding: 0 5px;
  overflow: hidden;
  white-space: nowrap;
}

.button.icon::before {
  margin-right: 0.5rem;
}

.button.fit {
  width: 100%;
}

.button:hover {
  border-radius: var(--size_button_radius_hover);
}

/* Small buttons */
.button.small {
  height: calc(0.8 * var(--size_button_radius));
  line-height: calc(0.8 * var(--size_button_radius));
  border-radius: calc(0.8 * var(--size_button_radius));
  padding: 0 2em;
}

.button.small:hover {
  border-radius: calc(0.8 * var(--size_button_radius_hover));
}

/* Large buttons */
.button.large {
  height: calc(2.2 * var(--size_button_radius));
  line-height: calc(2.2 * var(--size_button_radius));
  border-radius: calc(2.2 * var(--size_button_radius));
  padding: 0 2em;
}

.button.large:hover {
  border-radius: calc(2.2 * var(--size_button_radius_hover));
}

/* Wide buttons */
.button.wide {
  min-width: 14em;
}

/* Disabled */
.button.disabled,
.button:disabled {
  pointer-events: none;
  opacity: 0.25;
}

/* ------------------------------------------------------------
   Layout-specific button colors
------------------------------------------------------------ */
/* Header */
header button,
header .button {
  background-color: var(--fg);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold_inv);
}

header button:hover,
header .button:hover,
header button:active,
header .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent, var(--accent));
  color: var(--hover-accent, var(--accent)) !important;
}

/* Header primary */
header .button.primary,
header button.primary {
  background-color: var(--fg_bold_inv);
  box-shadow: none;
  color: var(--fg) !important;
}

header .button.primary > span,
header button.primary > span {
  background-color: inherit;
  color: inherit !important; /* was --header_bg */
}

header .button.primary:hover,
header button.primary:hover {
  background-color: var(--hover-accent, var(--accent));
}

header .button.primary:hover > span,
header button.primary:hover > span {
  background-color: var(--hover-accent, var(--accent));
}

/* Main */
main button,
main .button {
  background-color: var(--fg);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold_inv);
}

main button:hover,
main .button:hover,
main button:active,
main .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent, var(--accent));
  color: var(--hover-accent, var(--accent)) !important;
}

/* Main primary */
main .button.primary,
main button.primary {
  background-color: var(--fg_bold_inv);
  box-shadow: none;
  color: var(--fg) !important; /* was --bg */
}

main .button.primary > span,
main button.primary > span {
  background-color: inherit;
  color: inherit !important; /* was --bg */
}

main .button.primary:hover,
main button.primary:hover {
  background-color: var(--hover-accent, var(--accent));
}

main .button.primary:hover > span,
main button.primary:hover > span {
  background-color: var(--hover-accent, var(--accent));
}

.carousel-buttons .button:hover {
  background-color: var(--fg);
}

.carousel-buttons .button:hover span {
  background-color: var(--fg);
}

/* Aside */
#aside button,
#aside .button {
  background-color: var(--fg);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold_inv);
}

#aside button:hover,
#aside .button:hover,
#aside button:active,
#aside .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent, var(--accent));
  color: var(--hover-accent, var(--accent)) !important;
}

/* Article nav */
#article-nav button,
#article-nav .button {
  background-color: var(--fg);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold_inv);
}

#article-nav button:hover,
#article-nav .button:hover,
#article-nav button:active,
#article-nav .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent, var(--accent));
  color: var(--hover-accent, var(--accent)) !important;
}

/* Footer */
footer button,
footer .button {
  background-color: var(--fg);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--border);
  color: var(--fg_bold_inv);
}

footer button:hover,
footer .button:hover,
footer button:active,
footer .button:active {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent, var(--accent));
  color: var(--hover-accent, var(--accent)) !important;
}

/* Footer primary */
footer .button.primary,
footer button.primary {
  background-color: var(--fg_bold_inv);
  box-shadow: none;
  color: var(--fg) !important;
}

footer .button.primary > span,
footer button.primary > span {
  background-color: inherit;
  color: inherit !important; /* was --footer_bg */
}

footer .button.primary:hover,
footer button.primary:hover {
  background-color: var(--hover-accent, var(--accent));
}

footer .button.primary:hover > span,
footer button.primary:hover > span {
  background-color: var(--hover-accent, var(--accent));
}

/* ------------------------------------------------------------
   #special 3D effect button with remote cursor support
------------------------------------------------------------ */
a#special {
  position: relative;
  width: 150px;
  height: 50px;
  transition: transform 4s ease-in-out;
  transform-style: preserve-3d;
  transform: perspective(1000px) rotateX(0deg);
  cursor: pointer;
}

/* Local hover */
/* Remote cursor hover */
a#special:hover,
a#special.hover {
  transform: perspective(1000px) rotateX(360deg);
}

a#special span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: rgb(255, 255, 255);
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: 0.5s;
  border: 2px solid #000;
  box-sizing: border-box;
  box-shadow: inset 0 20px 50px rgba(0, 0, 0, 0.2);
  font-weight: var(--font_weight_bold);
  letter-spacing: var(--font_kerning_alt);
}

a#special:hover span,
a#special.hover span {
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
}

a#special span:nth-child(1) {
  transform: rotateX(360deg) translateZ(25px);
}

a#special span:nth-child(2) {
  transform: rotateX(270deg) translateZ(25px);
}

a#special span:nth-child(3) {
  transform: rotateX(180deg) translateZ(25px);
}

a#special span:nth-child(4) {
  transform: rotateX(90deg) translateZ(25px);
}

/* ------------------------------------------------------------
   Flex + truncation helpers
------------------------------------------------------------ */
.button {
  display: flex;
  align-items: center;
  overflow: hidden; /* clip text if needed */
  min-width: 5rem;
}

.button > span,
button > span {
  flex: 1 1 auto; /* text takes remaining space */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.button .icon {
  flex-shrink: 0; /* keep chevron visible */
}

/* Keep the button’s computed color driving BOTH icon + text */
.button .icon-wrapper,
.button .text,
.button svg {
  color: inherit;
}
.button svg, .button svg * {
  fill: currentColor;
}

/* Make button labels always follow the button's computed color */
.actions.special .button .nav-text,
.actions.special .button .text {
  color: inherit;
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Form */
form {
  margin: 0 0 var(--size_element_margin) 0;
}
form > :last-child {
  margin-bottom: 0;
}
form > .fields {
  display: flex;
  flex-wrap: wrap;
  --gutter: calc(var(--size_element_margin) * 0.75);
  width: calc(100% + var(--gutter) * 2);
  margin: calc(var(--gutter) * -1) 0 var(--size_element_margin) calc(var(--gutter) * -1);
}
form > .fields > .field {
  flex-grow: 0;
  flex-shrink: 0;
  padding: var(--gutter) 0 0 var(--gutter);
  width: calc(100% - var(--gutter));
}
form > .fields > .field.half {
  width: calc(50% - var(--gutter) * 0.5);
}
form > .fields > .field.third {
  width: calc(33.3333% - var(--gutter) * 0.3333);
}
form > .fields > .field.quarter {
  width: calc(25% - var(--gutter) * 0.25);
}
form {
  /* Responsive for xsmall */
}
@media screen and (min-width: 480px) and (max-width: 480px) {
  form > .fields {
    width: calc(100% + var(--gutter) * 2);
    margin: calc(var(--gutter) * -1) 0 var(--size_element_margin) calc(var(--gutter) * -1);
  }
  form > .fields > .field {
    padding: var(--gutter) 0 0 var(--gutter);
    width: calc(100% - var(--gutter));
  }
  form > .fields > .field.half, form > .fields > .field.third, form > .fields > .field.quarter {
    width: calc(100% - var(--gutter));
  }
}
form {
  /* Hidden anti-spam field */
}
form .firstname {
  display: none;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

/* Labels */
label {
  display: block;
  font-size: 0.9rem;
  font-weight: var(--font_weight_bold);
  margin: 0 0 calc(var(--size_element_margin) * 0.5) 0;
}

/* Inputs, selects, textarea */
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
input[type=url],
select,
textarea {
  appearance: none;
  background-color: var(--field-bg, color-mix(in srgb, var(--bg) 84%, white 16%));
  border-radius: var(--size_border_radius);
  border: solid var(--size_border_width) var(--field-border, var(--border));
  color: var(--field-fg, var(--fg));
  display: block;
  outline: 0;
  padding: 0 0.825rem;
  text-decoration: none;
  width: 100%;
}

input:invalid {
  box-shadow: none;
}

/* Height for inputs/selects */
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=search],
input[type=url],
select {
  height: var(--size_element_height);
}

textarea {
  padding: 0.75rem 1rem;
}

/* Select styling */
select {
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  padding-right: var(--size_element_height);
  text-overflow: ellipsis;
}

select:focus::-ms-value {
  background-color: transparent;
}

select::-ms-expand {
  display: none;
}

/* Checkbox & Radio */
input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=checkbox] + label,
input[type=radio] + label {
  user-select: none;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  font-weight: var(--font_weight);
  position: relative;
  padding-left: calc(var(--size_element_height) * 0.6 + 0.75rem);
  padding-right: 0.75rem;
  margin-bottom: 0;
}

input[type=checkbox] + label:before,
input[type=radio] + label:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: calc(var(--size_element_height) * 0.6);
  height: calc(var(--size_element_height) * 0.6);
  line-height: calc(var(--size_element_height) * 0.6);
  font-size: 0.8rem;
  border-radius: var(--size_border_radius); /* radio overridden later */
  border: solid var(--size_border_width) var(--border);
  text-align: center;
}

input[type=radio] + label:before {
  border-radius: 100%;
}

input:checked + label:before {
  content: "\f00c";
  background-color: var(--fg_bold);
  border-color: var(--fg_bold);
  color: var(--bg);
}

/* Focus state */
input:focus + label:before {
  border-color: var(--accent);
  box-shadow: 0 0 0 var(--size_border_width) var(--accent);
}

/* Placeholder */
::placeholder {
  color: var(--fg_light) !important;
  opacity: 1 !important;
}

/* Checkboxes container */
.checkboxes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  margin: 0.75rem 0;
}

.checkboxes p {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin: 0;
}

.checkboxes label {
  color: var(--fg);
  text-align: left;
}

.checkboxes label span {
  display: block;
  font-size: 0.6rem;
  color: var(--fg_light);
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* List */
ol, ul > li > p {
  margin: 0;
}

ol {
  list-style: decimal;
  /* margin: 0 0 var(--size_element_margin) 0; */
  padding-left: 1.25rem;
  list-style-position: inside;
}
ol li {
  padding-left: 0.25rem;
}

ul {
  text-align: left;
  list-style: disc;
  margin: 0 0 var(--size_element_margin) 0;
  padding-left: 1rem;
}
ul ul {
  margin-bottom: 0;
}
ul li {
  padding-left: 0.5rem;
}
ul.alt {
  list-style: none;
  padding-left: 0;
}
ul.alt li {
  border-top: solid var(--size_border_width);
  padding: 0.5rem 0;
}
ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 var(--size_element_margin) 0;
}
dl dt {
  display: block;
  font-weight: var(--font_weight_bold);
  margin: 0 0 calc(var(--size_element_margin) * 0.5) 0;
}
dl dd {
  margin-left: var(--size_element_margin);
}
dl.style2 dt {
  width: 25%;
  float: left;
}
dl.style2 dd {
  width: 70%;
  float: left;
}
dl.style2:after {
  content: "";
  display: block;
  clear: both;
}

ul.alt li {
  border-top-color: var(--border);
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
ul.actions {
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: calc(var(--size_element-margin) * -0.5);
  padding-left: 0;
  justify-content: center;
}
ul.actions li {
  padding: 0 0 0 calc(var(--size_element-margin) * 0.5);
  vertical-align: middle;
}
ul.actions.special {
  display: flex;
  align-items: center;
  width: 100%;
  margin-left: 0;
}
ul.actions.stacked {
  display: flex;
  flex-direction: column;
  margin-left: 0;
}
ul.actions.stacked li {
  padding: calc(var(--size_element-margin) * 0.65) 0 0 0;
}
ul.actions.stacked li:first-child {
  padding-top: 0;
}
ul.actions.fit {
  width: calc(100% + var(--size_element-margin) * 0.5);
}
ul.actions.fit li {
  flex-grow: 1;
  flex-shrink: 1;
  width: 100%;
}
ul.actions.fit li > * {
  width: 100%;
}
ul.actions.fit.stacked {
  width: 100%;
}

@media screen and (max-width: 1680px) {
  ul.actions .nav-text {
    font-size: 130%;
  }
}
@media screen and (max-width: 1280px) {
  ul.actions .nav-text {
    font-size: 135%;
  }
}
@media screen and (max-width: 736px) {
  ul.actions .nav-text {
    font-size: 131.25%;
  }
}
@media screen and (max-width: 360px) {
  ul.actions .nav-text {
    font-size: 121.875%;
  }
}
@media screen and (max-width: 736px) {
  main ul.actions.special {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  main ul.actions.special li {
    width: 100%;
    padding-left: 0;
  }
  main ul.actions.special li > * {
    width: 100%;
    max-width: none;
  }
  main ul.actions.special.equal {
    gap: 0.5rem;
  }
  main ul.actions:not(.fixed) {
    display: flex;
    flex-direction: column;
    margin-left: 0;
    width: 100% !important;
  }
  main ul.actions:not(.fixed) li {
    display: flex;
    flex-grow: 1;
    flex-shrink: 1;
    justify-content: center;
    padding: calc(var(--size_element-margin) * 0.5) 0 0 0;
    text-align: center;
    width: 100%;
  }
  main ul.actions:not(.fixed) li > * {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  main ul.actions:not(.fixed) li:first-child {
    padding-top: 0;
  }
  main ul.actions:not(.fixed) li input[type=submit],
  main ul.actions:not(.fixed) li input[type=reset],
  main ul.actions:not(.fixed) li input[type=button],
  main ul.actions:not(.fixed) li button,
  main ul.actions:not(.fixed) li .button {
    width: 100%;
  }
  main ul.actions:not(.fixed) li input[type=submit].icon:before,
  main ul.actions:not(.fixed) li input[type=reset].icon:before,
  main ul.actions:not(.fixed) li input[type=button].icon:before,
  main ul.actions:not(.fixed) li button.icon:before,
  main ul.actions:not(.fixed) li .button.icon:before {
    margin-left: -0.5rem;
  }
}
.actions.special.equal {
  display: flex;
  gap: var(--surface-action-gap, 0.75rem);
}

.actions.special.equal > li {
  flex: 1 1 0;
  min-width: 0;
}

.actions.special.equal > li > .button {
  width: 100%;
  max-width: none;
}

.actions.special.equal > li > .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Icon */
.icon.small svg {
  font-size: 3.25rem !important;
  min-width: 3.25rem;
  height: 3.25rem;
}

.icon.medium svg {
  font-size: 4.25rem !important;
  min-width: 4.25rem;
  height: 4.25rem;
}

.icon.large svg {
  font-size: 5.25rem !important;
  min-width: 5.25rem;
  height: 5.25rem;
}

.icon.xlarge svg {
  font-size: 7.25rem !important;
  min-width: 7.25rem;
  height: 7.25rem;
}

.icon.xxlarge svg {
  font-size: 8.25rem !important;
  min-width: 8.25rem;
  height: 8.25rem;
}

.icon svg {
  border-bottom: none;
  position: relative;
  text-align: center;
}
.icon svg > .label {
  display: none;
}
.icon svg {
  line-height: inherit;
}

.icon.style1 svg {
  padding: 0 0.3em;
  display: inline-block;
  line-height: 2.5em;
}

.icon.style2 svg {
  outline-offset: 0.4rem;
  display: inline-block;
  line-height: 1.75em;
}

.icon.style3 svg {
  border: 0.15em solid;
  padding: 0.25em;
  display: inline-block;
  line-height: 3em;
  width: 3em;
}
.icon.style3 svg.major {
  display: block;
  margin: 0 0 calc(var(--size_element_margin) * 0.5) 0;
  font-size: 1.25rem;
}

.icon.style2 span svg,
.icon.style1 span svg {
  transition: background-color var(--duration_transition) ease-in-out, box-shadow var(--duration_transition) ease-in-out, color var(--duration_transition) ease-in-out;
}

header .icon {
  color: var(--header_invert_icon);
}
header .icon span svg {
  color: var(--header_invert_icon);
}
header .icon a {
  color: var(--header_invert_icon);
}
header .icon {
  color: var(--header_invert_icon);
}
header .icon span svg {
  color: var(--header_invert_icon);
}
header .icon a {
  color: var(--header_invert_icon);
}
header .icon.style1:hover {
  color: var(--hover-accent);
}
header .icon.style1:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
header .icon.style1:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
header .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--hover-accent);
}
header .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}
header .icon.style2:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
header .icon.style2:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
header .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
}
header .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}

main .icon {
  color: var(--icon);
}
main .icon span svg {
  color: var(--icon);
}
main .icon a {
  color: var(--icon);
}
main .icon.style1:hover {
  color: var(--hover-accent);
}
main .icon.style1:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
main .icon.style1:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
main .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--hover-accent);
}
main .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}
main .icon.style2:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
main .icon.style2:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
main .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
}
main .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}

#aside .icon {
  color: var(--aside_invert_icon);
}
#aside .icon span svg {
  color: var(--aside_invert_icon);
}
#aside .icon a {
  color: var(--aside_invert_icon);
}
#aside .icon {
  color: var(--aside_invert_icon);
}
#aside .icon span svg {
  color: var(--aside_invert_icon);
}
#aside .icon a {
  color: var(--aside_invert_icon);
}
#aside .icon.style1:hover {
  color: var(--hover-accent);
}
#aside .icon.style1:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#aside .icon.style1:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#aside .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--hover-accent);
}
#aside .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}
#aside .icon.style2:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#aside .icon.style2:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#aside .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
}
#aside .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}

#article-nav .icon {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon span svg {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon a {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon span svg {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon a {
  color: var(--article_nav_invert_icon);
}
#article-nav .icon.style1:hover {
  color: var(--hover-accent);
}
#article-nav .icon.style1:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#article-nav .icon.style1:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#article-nav .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--hover-accent);
}
#article-nav .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}
#article-nav .icon.style2:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#article-nav .icon.style2:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
#article-nav .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
}
#article-nav .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}

footer .icon {
  color: var(--icon);
}
footer .icon span svg {
  color: var(--icon);
}
footer .icon a {
  color: var(--icon);
}
footer .icon.style1:hover {
  color: var(--hover-accent);
}
footer .icon.style1:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
footer .icon.style1:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
footer .icon.style1:active {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--hover-accent);
}
footer .icon.style2:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}
footer .icon.style2:hover svg path {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
footer .icon.style2:hover span .nav-text {
  transition: all var(--duration_transition) ease-in-out;
  color: var(--hover-accent);
}
footer .icon.style2:active {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  color: var(--hover-accent);
}
footer .icon.style3 svg:hover {
  box-shadow: inset 0 0 0 var(--size_border_width) var(--hover-accent);
  transition: all var(--duration_transition) ease-in-out;
}

.inline-icon {
  width: 1rem;
  height: 1rem;
}

nav {
  --nav-icon-default: rgb(from var(--fg) calc(255 - r) calc(255 - g) calc(255 - b));
  --icon: var(--surface-nav-icon, var(--nav-icon-default));
}

footer nav {
  --surface-nav-icon: var(--footer_icon, var(--surface-root-icon));
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Icons */
ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
  margin-bottom: 1vw;
}
ul.icons li {
  display: inline-block;
  padding: 0 0.75rem 0 0;
}
ul.icons li:last-child {
  padding-right: 0;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Section/Article */
section.special, article.special {
  text-align: center;
}

header p {
  position: relative;
  margin: calc(var(--size_element_margin) * -0.325) 0 calc(var(--size_element_margin) * 0.75) 0;
  font-style: italic;
}
header h1 + p {
  font-size: 1.375rem;
}
header h2 + p {
  font-size: 1.25rem;
}
header h3 + p {
  font-size: 1.1rem;
}
header h4 + p,
header h5 + p,
header h6 + p {
  font-size: 0.9rem;
}

header p {
  color: var(--fg_light);
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Table */
.table-wrapper {
  -webkit-overflow-scrolling: touch;
  margin: 0 0 var(--size_element_margin) 0;
  overflow-x: auto;
}
.table-wrapper > table {
  margin-bottom: 0;
}

table {
  margin: 0 0 var(--size_element_margin) 0;
  width: 100%;
}
table tbody tr {
  border: solid var(--size_border_width);
  border-left: 0;
  border-right: 0;
}
table td {
  padding: 0.75rem 0.75rem;
}
table th {
  font-size: 0.9rem;
  font-weight: var(--font_weight_bold);
  padding: 0 0.75rem 0.75rem 0.75rem;
  text-align: left;
}
table thead {
  border-bottom: solid calc(var(--size_border_width) * 2);
}
table tfoot {
  border-top: solid calc(var(--size_border_width) * 2);
}
table.alt {
  border-collapse: separate;
}
table.alt tbody tr td {
  border: solid var(--size_border_width);
  border-left-width: 0;
  border-top-width: 0;
}
table.alt tbody tr td:first-child {
  border-left-width: var(--size_border_width);
}
table.alt tbody tr:first-child td {
  border-top-width: var(--size_border_width);
}
table.alt thead {
  border-bottom: 0;
}
table.alt tfoot {
  border-top: 0;
}
table.fixed {
  table-layout: fixed;
}

table tbody tr {
  border-color: var(--border);
}
table tbody tr:nth-child(2n+1) {
  background-color: var(--border_bg);
}
table tbody tr.alt {
  background-color: var(--border_bg) !important;
}
table th {
  color: var(--fg_bold);
}
table thead {
  border-bottom-color: var(--border);
}
table tfoot {
  border-top-color: var(--border);
}
table.alt tbody tr td {
  border-color: var(--border);
}
table.uniform tbody tr:nth-child(2n+1) {
  background-color: transparent;
}
table.nt-md-table tr.nt-md-table-separator {
  background-color: transparent !important;
}
table.nt-md-table tr.nt-md-table-separator td, table.nt-md-table tr.nt-md-table-separator th {
  font-size: 0;
  line-height: 0;
  padding: 0;
  border-top-width: 0;
  border-bottom-width: var(--size_table_separator_width, 2px);
}

/* Responsive Table */
.responsive-columns {
  /* container */
  display: flex;
  flex-wrap: wrap;
  /* columns */
}
.responsive-columns > * {
  width: 100%;
  padding: 1rem;
}
@media screen and (min-width: 736px) {
  .responsive-columns > * {
    width: 50%;
  }
}
@media screen and (min-width: 1280px) {
  .responsive-columns > * {
    width: 33%;
  }
}
@media screen and (min-width: 1680px) {
  .responsive-columns > * {
    width: 25%;
  }
}

.highlight-wrapper {
  display: block;
}

.highlight {
  position: relative;
  z-index: 0;
  padding: 0;
  margin: 0;
  border-radius: 4px;
}

.copy-code-button {
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: 0.5px;
  width: 65px;
  border-top-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 4px;
  white-space: nowrap;
  padding: 4px 4px 5px 4px;
  cursor: pointer;
  opacity: 0.6;
}

.copyable-text-area {
  position: absolute;
  height: 0;
  z-index: -1;
  opacity: 0.01;
}

/* SOURCE CODE BLOCKS */
/* --- Collapsible source block --- */
.method-source {
  border-radius: 6px;
  overflow: hidden;
  margin-top: 8px;
  transition: box-shadow 0.2s ease;
}

/* Header bar ("View source code") */
.method-source .method-header {
  background: #2d3748;
  color: #e2e8f0;
  padding: 6px 10px;
  font-family: monospace;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.method-source .method-header:hover {
  background-color: #4a5568;
  color: #fff;
}

/* Collapsible code area */
.method-source .method-body {
  color: #e2e8f0;
  font-family: "Fira Code", "Consolas", monospace;
  padding: 12px 16px;
  border-top: 1px solid #2d3748;
  max-height: 0;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: all 0.3s ease;
  overflow: hidden;
}

/* When open */
.method-source.open .method-body {
  max-height: none;
  opacity: 1;
  transform: scaleY(1);
}

/* Optional: method heading styling */
.pydoc-method h3 {
  font-family: monospace;
  background: #edf2f7;
  padding: 4px 8px;
  border-left: 8px solid #9a1111;
  border-radius: 4px;
}

/* Optional: method heading styling */
.pydoc-property h3 {
  font-family: monospace;
  background: #edf2f7;
  padding: 4px 8px;
  border-left: 8px solid #4a5568;
  border-radius: 4px;
}

/* Optional: method doc styling */
.pydoc-method .pydoc-doc {
  font-family: "Inter", sans-serif;
  color: #2d3748;
  margin: 6px 0 10px 0;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Banner (transitions) */
.banner {
  overflow: hidden;
  display: block;
}
.banner figcaption {
  padding-top: 1.5rem;
}
.banner > figure iframe {
  -ms-zoom: 0.5;
  -moz-transform: scale(0.5);
  -moz-transform-origin: 0 0;
  -o-transform: scale(0.5);
  -o-transform-origin: 0 0;
  -webkit-transform: scale(0.5);
  -webkit-transform-origin: 0 0;
  transform: scale(0.5);
  transform-origin: 0 0;
}
.banner > figure div iframe {
  width: 200% !important;
  height: 200% !important;
  margin-bottom: -180%;
}
.banner > figure {
  overflow: hidden;
  z-index: 100;
}
.banner > figure p {
  display: none;
}
.banner > figure svg {
  width: 100%;
  height: 100%;
}
.banner canvas {
  z-index: 500;
  width: 100% !important;
  height: 100% !important;
}
.banner.onload-content-fade-up .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 1;
}
body.is-preload .banner.onload-content-fade-up .content {
  transform: translateY(1rem);
  opacity: 0;
}
.banner.onload-content-fade-down .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 1;
}
body.is-preload .banner.onload-content-fade-down .content {
  transform: translateY(-1rem);
  opacity: 0;
}
.banner.onload-content-fade-left .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 1;
}
body.is-preload .banner.onload-content-fade-left .content {
  transform: translateX(1rem);
  opacity: 0;
}
.banner.onload-content-fade-right .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 1;
}
body.is-preload .banner.onload-content-fade-right .content {
  transform: translateX(-1rem);
  opacity: 0;
}
.banner.onload-content-fade-in .content {
  transition: opacity var(--duration_on_load) ease-in-out;
}
body.is-preload .banner.onload-content-fade-in .content {
  opacity: 0;
}
.banner.onload-figure-fade-up figure {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 100;
}
.banner.onload-figure-fade-up figure img, .banner.onload-figure-fade-up figure canvas, .banner.onload-figure-fade-up figure iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .banner.onload-figure-fade-up figure {
  transform: translateY(1rem);
  opacity: 0;
}
body.is-preload .banner.onload-figure-fade-up figure img, body.is-preload .banner.onload-figure-fade-up figure canvas, body.is-preload .banner.onload-figure-fade-up figure iframe {
  opacity: 0;
}
.banner.onload-figure-fade-down figure {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 100;
}
.banner.onload-figure-fade-down figure img, .banner.onload-figure-fade-down figure canvas, .banner.onload-figure-fade-down figure iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .banner.onload-figure-fade-down figure {
  transform: translateY(-1rem);
  opacity: 0;
}
body.is-preload .banner.onload-figure-fade-down figure img, body.is-preload .banner.onload-figure-fade-down figure canvas, body.is-preload .banner.onload-figure-fade-down figure iframe {
  opacity: 0;
}
.banner.onload-figure-fade-left figure {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 100;
}
.banner.onload-figure-fade-left figure img, .banner.onload-figure-fade-left figure canvas, .banner.onload-figure-fade-left figure iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .banner.onload-figure-fade-left figure {
  transform: translateX(1rem);
  opacity: 0;
}
body.is-preload .banner.onload-figure-fade-left figure img, body.is-preload .banner.onload-figure-fade-left figure canvas, body.is-preload .banner.onload-figure-fade-left figure iframe {
  opacity: 0;
}
.banner.onload-figure-fade-right figure {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
  z-index: 100;
}
.banner.onload-figure-fade-right figure img, .banner.onload-figure-fade-right figure canvas, .banner.onload-figure-fade-right figure iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .banner.onload-figure-fade-right figure {
  transform: translateX(-1rem);
  opacity: 0;
}
body.is-preload .banner.onload-figure-fade-right figure img, body.is-preload .banner.onload-figure-fade-right figure canvas, body.is-preload .banner.onload-figure-fade-right figure iframe {
  opacity: 0;
}
.banner.onload-figure-fade-in figure img, .banner.onload-figure-fade-in figure canvas, .banner.onload-figure-fade-in figure iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
}
body.is-preload .banner.onload-figure-fade-in figure img, body.is-preload .banner.onload-figure-fade-in figure canvas, body.is-preload .banner.onload-figure-fade-in figure iframe {
  opacity: 0;
}
.banner.onscroll-content-fade-up .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 1;
}
.banner.onscroll-content-fade-up.is-inactive .content {
  transform: translateY(1rem);
  opacity: 0;
}
.banner.onscroll-content-fade-down .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 1;
}
.banner.onscroll-content-fade-down.is-inactive .content {
  transform: translateY(-1rem);
  opacity: 0;
}
.banner.onscroll-content-fade-left .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 1;
}
.banner.onscroll-content-fade-left.is-inactive .content {
  transform: translateX(1rem);
  opacity: 0;
}
.banner.onscroll-content-fade-right .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 1;
}
.banner.onscroll-content-fade-right.is-inactive .content {
  transform: translateX(-1rem);
  opacity: 0;
}
.banner.onscroll-content-fade-in .content {
  transition: opacity var(--duration_on_scroll) ease-in-out;
}
.banner.onscroll-content-fade-in.is-inactive .content {
  opacity: 0;
}
.banner.onscroll-figure-fade-up figure {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 100;
}
.banner.onscroll-figure-fade-up figure img, .banner.onscroll-figure-fade-up figure canvas, .banner.onscroll-figure-fade-up figure iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.banner.onscroll-figure-fade-up.is-inactive figure {
  transform: translateY(1rem);
  opacity: 0;
}
.banner.onscroll-figure-fade-up.is-inactive figure img, .banner.onscroll-figure-fade-up.is-inactive figure canvas, .banner.onscroll-figure-fade-up.is-inactive figure iframe {
  opacity: 0;
}
.banner.onscroll-figure-fade-down figure {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 100;
}
.banner.onscroll-figure-fade-down figure img, .banner.onscroll-figure-fade-down figure canvas, .banner.onscroll-figure-fade-down figure iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.banner.onscroll-figure-fade-down.is-inactive figure {
  transform: translateY(-1rem);
  opacity: 0;
}
.banner.onscroll-figure-fade-down.is-inactive figure img, .banner.onscroll-figure-fade-down.is-inactive figure canvas, .banner.onscroll-figure-fade-down.is-inactive figure iframe {
  opacity: 0;
}
.banner.onscroll-figure-fade-left figure {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 100;
}
.banner.onscroll-figure-fade-left figure img, .banner.onscroll-figure-fade-left figure canvas, .banner.onscroll-figure-fade-left figure iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.banner.onscroll-figure-fade-left.is-inactive figure {
  transform: translateX(1rem);
  opacity: 0;
}
.banner.onscroll-figure-fade-left.is-inactive figure img, .banner.onscroll-figure-fade-left.is-inactive figure canvas, .banner.onscroll-figure-fade-left.is-inactive figure iframe {
  opacity: 0;
}
.banner.onscroll-figure-fade-right figure {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
  z-index: 100;
}
.banner.onscroll-figure-fade-right figure img, .banner.onscroll-figure-fade-right figure canvas, .banner.onscroll-figure-fade-right figure iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.banner.onscroll-figure-fade-right.is-inactive figure {
  transform: translateX(-1rem);
  opacity: 0;
}
.banner.onscroll-figure-fade-right.is-inactive figure img, .banner.onscroll-figure-fade-right.is-inactive figure canvas, .banner.onscroll-figure-fade-right.is-inactive figure iframe {
  opacity: 0;
}
.banner.onscroll-figure-fade-in figure img, .banner.onscroll-figure-fade-in figure canvas, .banner.onscroll-figure-fade-in figure iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
}
.banner.onscroll-figure-fade-in.is-inactive figure img, .banner.onscroll-figure-fade-in.is-inactive figure canvas, .banner.onscroll-figure-fade-in.is-inactive figure iframe {
  opacity: 0;
}

.banner:not(:has(> figure, > canvas)) > .content {
  width: 100%;
  max-width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose)));
  min-width: 0;
  flex-basis: 100%;
}
.banner:not(:has(> figure, > canvas)) > .content:has(> figure.fit:only-child),
.banner:not(:has(> figure, > canvas)) > .content:has(> figure.figure-inline.fit:only-child) {
  display: block;
  padding-left: 0;
  padding-right: 0;
}
.banner:not(:has(> figure, > canvas)) > .content.width-prose,
.banner:not(:has(> figure, > canvas)) > .content.width-medium,
.banner:not(:has(> figure, > canvas)) > .content.width-narrow,
.banner:not(:has(> figure, > canvas)) > .content.width-wide,
.banner:not(:has(> figure, > canvas)) > .content.width-full {
  flex-basis: auto;
  flex-grow: 1;
  min-width: 0;
}
.banner:not(:has(> figure, > canvas)) > .content.width-prose {
  width: min(100%, var(--content-max-width-prose));
  max-width: var(--content-max-width-prose);
}
.banner:not(:has(> figure, > canvas)) > .content.width-medium {
  width: min(100%, var(--content-max-width-medium));
  max-width: var(--content-max-width-medium);
}
.banner:not(:has(> figure, > canvas)) > .content.width-narrow {
  width: min(100%, var(--content-max-width-narrow));
  max-width: var(--content-max-width-narrow);
}
.banner:not(:has(> figure, > canvas)) > .content.width-wide {
  width: min(100%, var(--content-max-width-wide));
  max-width: var(--content-max-width-wide);
}
.banner:not(:has(> figure, > canvas)) > .content.width-full {
  width: min(100%, var(--content-max-width-full));
  max-width: var(--content-max-width-full);
}
.banner:not(:has(> figure, > canvas)) > .content > figure.fit,
.banner:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit {
  align-self: stretch;
  min-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
}
.banner:not(:has(> figure, > canvas)) > .content > figure.fit .ql-embed-frame,
.banner:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit .ql-embed-frame {
  min-width: 100%;
  width: 100%;
  max-width: 100%;
}

.banner.intro-card > .content,
.banner[data-ql-section-surface=intro_card] > .content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--surface-intro-card-gap, clamp(0.8rem, 1.5vw, 1.15rem));
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, inherit));
  width: 100%;
  max-width: var(--surface-intro-card-max-width, var(--intro-card-max-width, var(--ql-hero-card-max, 980px)));
  margin-inline: auto;
  padding: var(--surface-intro-card-padding-y, clamp(1.4rem, 3vw, 2.2rem)) var(--surface-intro-card-padding-x, clamp(1.6rem, 4vw, 3rem));
  border-radius: var(--surface-intro-card-radius, var(--intro-card-radius, 28px));
  background: var(--surface-intro-card-bg, var(--intro-card-bg, var(--ql-hero-card-bg, rgba(255, 255, 255, 0.08))));
  backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  -webkit-backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  border: 1px solid var(--surface-intro-card-border, var(--intro-card-border, var(--ql-hero-card-border, rgba(255, 255, 255, 0.18))));
  box-shadow: var(--surface-intro-card-shadow, var(--intro-card-shadow, var(--ql-hero-card-shadow, 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18))));
  overflow: hidden;
  flex-basis: auto;
  min-width: 0;
}
.banner.intro-card > .content::before,
.banner[data-ql-section-surface=intro_card] > .content::before {
  content: "";
  position: absolute;
  inset: -40% -35%;
  background: radial-gradient(closest-side at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.1) 35%, rgba(255, 255, 255, 0) 70%), radial-gradient(closest-side at 70% 10%, rgba(124, 255, 255, 0.2), rgba(124, 255, 255, 0) 60%), radial-gradient(closest-side at 90% 70%, rgba(255, 43, 214, 0.16), rgba(255, 43, 214, 0) 65%);
  transform: rotate(18deg);
  opacity: var(--surface-intro-card-glow-opacity, var(--intro-card-glow-opacity, 0.85));
  pointer-events: none;
  mix-blend-mode: screen;
}
.banner.intro-card > .content > :first-child,
.banner[data-ql-section-surface=intro_card] > .content > :first-child {
  margin-top: 0;
}
.banner.intro-card > .content > :last-child,
.banner[data-ql-section-surface=intro_card] > .content > :last-child {
  margin-bottom: 0;
}
.banner.intro-card > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.banner[data-ql-section-surface=intro_card] > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--surface-intro-card-kicker-bg, var(--intro-card-kicker-bg, var(--brochure_kicker_bg, rgba(0, 0, 0, 0.06))));
  color: var(--surface-intro-card-kicker-fg, var(--intro-card-kicker-fg, var(--brochure_kicker_fg, var(--fg))));
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}
.banner.intro-card > .content > :is(p, ul, ol, dl),
.banner[data-ql-section-surface=intro_card] > .content > :is(p, ul, ol, dl) {
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, currentColor));
}
.banner.intro-card > .content > :is(h1, h2),
.banner[data-ql-section-surface=intro_card] > .content > :is(h1, h2) {
  --intro-card-title-font: var(--surface-intro-card-title-font, var(--ql-hero-title-font, "Space Grotesk", ui-sans-serif, system-ui));
  margin: 0;
  max-width: var(--lead-max-width, var(--intro-card-title-max, none));
  font-family: var(--intro-card-title-font, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial);
  font-size: var(--surface-intro-card-title-size, var(--intro-card-title-size, var(--ql-hero-title-size, clamp(4.2rem, 10vw, 8.2rem))));
  font-weight: var(--surface-intro-card-title-weight, var(--intro-card-title-weight, 750));
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--surface-intro-card-title-fg, var(--main-intro-card-title-fg, currentColor));
}
.banner.intro-card > .content > :is(h1, h2) + p:not(.lead):not(.kicker):not(.ql-hero-meta),
.banner[data-ql-section-surface=intro_card] > .content > :is(h1, h2) + p:not(.lead):not(.kicker):not(.ql-hero-meta) {
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
  color: var(--surface-intro-card-meta-fg, var(--main-intro-card-meta-fg, var(--surface-intro-card-fg, currentColor)));
}
.banner.intro-card > .content > :is(.lead, p.lead, div.lead),
.banner[data-ql-section-surface=intro_card] > .content > :is(.lead, p.lead, div.lead) {
  max-width: var(--surface-intro-card-lead-max-width, var(--lead-max-width, var(--intro-card-lead-max, var(--brochure_lead_max, 46rem))));
  margin: 0 auto;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  line-height: 1.8;
  color: var(--surface-intro-card-lead-fg, var(--main-intro-card-lead-fg, var(--surface-intro-card-fg, currentColor)));
}
.banner.intro-card > .content > .ql-hero-meta,
.banner[data-ql-section-surface=intro_card] > .content > .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.banner.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
.banner[data-ql-section-surface=intro_card] > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
@media screen and (max-width: 736px) {
  .banner.intro-card > .content,
  .banner[data-ql-section-surface=intro_card] > .content {
    gap: 0.75rem;
  }
  .banner.intro-card > .content::before,
  .banner[data-ql-section-surface=intro_card] > .content::before {
    inset: -18% -14%;
    transform: rotate(8deg);
    opacity: 0.6;
  }
  .banner.intro-card > .content > :is(h1, h2),
  .banner[data-ql-section-surface=intro_card] > .content > :is(h1, h2) {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .banner.intro-card > .content > .ql-hero-meta,
  .banner[data-ql-section-surface=intro_card] > .content > .ql-hero-meta {
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .banner.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
  .banner[data-ql-section-surface=intro_card] > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
}
.banner.intro-card.content-align-left > .content > .ql-hero-meta,
.banner[data-ql-section-surface=intro_card].content-align-left > .content > .ql-hero-meta {
  justify-content: flex-start;
}
.banner.intro-card.content-align-left > .content,
.banner[data-ql-section-surface=intro_card].content-align-left > .content {
  align-items: flex-start;
}
.banner.intro-card.content-align-left > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.banner[data-ql-section-surface=intro_card].content-align-left > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-right: auto;
  text-align: left;
}
.banner.intro-card.content-align-left > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.banner[data-ql-section-surface=intro_card].content-align-left > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-right: auto;
}
.banner.intro-card.content-align-center > .content,
.banner[data-ql-section-surface=intro_card].content-align-center > .content {
  align-items: center;
}
.banner.intro-card.content-align-center > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.banner[data-ql-section-surface=intro_card].content-align-center > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-inline: auto;
  text-align: center;
}
.banner.intro-card.content-align-center > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.banner[data-ql-section-surface=intro_card].content-align-center > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-inline: auto;
}
.banner.intro-card.content-align-right > .content > .ql-hero-meta,
.banner[data-ql-section-surface=intro_card].content-align-right > .content > .ql-hero-meta {
  justify-content: flex-end;
}
.banner.intro-card.content-align-right > .content,
.banner[data-ql-section-surface=intro_card].content-align-right > .content {
  align-items: flex-end;
}
.banner.intro-card.content-align-right > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.banner[data-ql-section-surface=intro_card].content-align-right > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-left: auto;
  text-align: right;
}
.banner.intro-card.content-align-right > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.banner[data-ql-section-surface=intro_card].content-align-right > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-left: auto;
}

.banner > .content > .ql-hero {
  max-width: var(--surface-intro-card-max-width, var(--intro-card-content-max, var(--brochure_hero_max, 62rem)));
  margin-inline: auto;
}
.banner > .content > .ql-hero h1 {
  font-size: var(--surface-intro-card-title-size, var(--intro-card-hero-title-size, clamp(2.9rem, 5.4vw, 5.4rem)));
  line-height: 0.95;
  margin: 1rem 0 1.25rem;
}
.banner > .content > .ql-hero .lead {
  max-width: var(--surface-intro-card-lead-max-width, var(--lead-max-width, var(--intro-card-lead-max, var(--brochure_lead_max, 46rem))));
  margin: 0 auto;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  line-height: 1.8;
  color: var(--surface-intro-card-lead-fg, var(--main-intro-card-lead-fg, var(--surface-intro-card-fg, currentColor)));
  margin-top: 0;
}
.banner > .content > .ql-kicker,
.banner > .content > .ql-hero .ql-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--surface-intro-card-kicker-bg, var(--intro-card-kicker-bg, var(--brochure_kicker_bg, rgba(0, 0, 0, 0.06))));
  color: var(--surface-intro-card-kicker-fg, var(--intro-card-kicker-fg, var(--brochure_kicker_fg, var(--fg))));
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}
.banner > .content > .ql-hero .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.banner > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
.banner > .content > .ql-hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--surface-intro-card-gap, clamp(0.8rem, 1.5vw, 1.15rem));
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, inherit));
  width: 100%;
  max-width: var(--surface-intro-card-max-width, var(--intro-card-max-width, var(--ql-hero-card-max, 980px)));
  margin-inline: auto;
  padding: var(--surface-intro-card-padding-y, clamp(1.4rem, 3vw, 2.2rem)) var(--surface-intro-card-padding-x, clamp(1.6rem, 4vw, 3rem));
  border-radius: var(--surface-intro-card-radius, var(--intro-card-radius, 28px));
  background: var(--surface-intro-card-bg, var(--intro-card-bg, var(--ql-hero-card-bg, rgba(255, 255, 255, 0.08))));
  backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  -webkit-backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  border: 1px solid var(--surface-intro-card-border, var(--intro-card-border, var(--ql-hero-card-border, rgba(255, 255, 255, 0.18))));
  box-shadow: var(--surface-intro-card-shadow, var(--intro-card-shadow, var(--ql-hero-card-shadow, 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18))));
  overflow: hidden;
  flex-basis: auto;
  min-width: 0;
}
.banner > .content > .ql-hero-card::before {
  content: "";
  position: absolute;
  inset: -40% -35%;
  background: radial-gradient(closest-side at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.1) 35%, rgba(255, 255, 255, 0) 70%), radial-gradient(closest-side at 70% 10%, rgba(124, 255, 255, 0.2), rgba(124, 255, 255, 0) 60%), radial-gradient(closest-side at 90% 70%, rgba(255, 43, 214, 0.16), rgba(255, 43, 214, 0) 65%);
  transform: rotate(18deg);
  opacity: var(--surface-intro-card-glow-opacity, var(--intro-card-glow-opacity, 0.85));
  pointer-events: none;
  mix-blend-mode: screen;
}
.banner > .content > .ql-hero-card h1 {
  --intro-card-title-font: var(--surface-intro-card-title-font, var(--ql-hero-title-font, "Space Grotesk", ui-sans-serif, system-ui));
  margin: 0;
  max-width: var(--lead-max-width, var(--intro-card-title-max, none));
  font-family: var(--intro-card-title-font, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial);
  font-size: var(--surface-intro-card-title-size, var(--intro-card-title-size, var(--ql-hero-title-size, clamp(4.2rem, 10vw, 8.2rem))));
  font-weight: var(--surface-intro-card-title-weight, var(--intro-card-title-weight, 750));
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--surface-intro-card-title-fg, var(--main-intro-card-title-fg, currentColor));
}
.banner > .content > .ql-hero-card p {
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
  color: var(--surface-intro-card-meta-fg, var(--main-intro-card-meta-fg, var(--surface-intro-card-fg, currentColor)));
  margin: 0.8rem 0 0;
}
.banner > .content > .ql-hero-card .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.banner > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
.banner > .content > .ql-ink {
  color: var(--surface-intro-card-ink, var(--intro-card-ink, #ffdd9a));
  mix-blend-mode: difference;
}
.banner > .content > .ql-ink :is(a, h1, h2, h3, p, .ql-kicker, .lead) {
  color: inherit;
}
.banner > .content > .ql-ink svg {
  fill: currentColor;
  stroke: currentColor;
}
.banner.content-align-left > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: flex-start;
}
.banner.content-align-left > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-right: auto;
  text-align: left;
}
.banner.content-align-left > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-right: auto;
}
.banner.content-align-center > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: center;
}
.banner.content-align-center > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-inline: auto;
  text-align: center;
}
.banner.content-align-center > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-inline: auto;
}
.banner.content-align-right > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: flex-end;
}
.banner.content-align-right > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-left: auto;
  text-align: right;
}
.banner.content-align-right > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-left: auto;
}
@media screen and (max-width: 736px) {
  .banner > .content > .ql-hero h1 {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .banner > .content > .ql-hero .ql-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .banner > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .banner > .content > .ql-hero-card {
    gap: 0.75rem;
  }
  .banner > .content > .ql-hero-card::before {
    inset: -18% -14%;
    transform: rotate(8deg);
    opacity: 0.6;
  }
  .banner > .content > .ql-hero-card h1 {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .banner > .content > .ql-hero-card .ql-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .banner > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .banner > .content > .ql-ink {
    mix-blend-mode: normal;
  }
}
@media screen and (max-width: 980px) {
  .banner > .content > .ql-hero-card,
  .banner > .content > .ql-hero, .banner.intro-card > .content {
    padding: clamp(1.1rem, 4.8vw, 1.5rem) clamp(1rem, 4vw, 1.35rem);
    border-radius: min(var(--surface-intro-card-radius, var(--intro-card-radius, 28px)), 22px);
    gap: clamp(0.45rem, 2vw, 0.8rem);
    max-width: var(--surface-intro-card-mobile-max-width, var(--intro-card-mobile-max-width, 24rem));
  }
  .banner > .content > .ql-hero-card::before, .banner.intro-card > .content::before {
    opacity: var(--surface-intro-card-mobile-glow-opacity, var(--intro-card-mobile-glow-opacity, 0.42));
  }
  .banner > .content > .ql-hero h1,
  .banner > .content > .ql-hero-card h1, .banner.intro-card > .content > :is(h1, h2) {
    font-size: clamp(2.65rem, 11vw, 4.4rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
  }
  .banner > .content > .ql-hero .ql-hero-meta,
  .banner > .content > .ql-hero-card .ql-hero-meta, .banner.intro-card > .content > .ql-hero-meta {
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    text-align: center;
    font-size: clamp(0.95rem, 3.8vw, 1.15rem);
    line-height: 1.45;
  }
  .banner > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
  .banner > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after, .banner.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .banner > .content > .ql-ink {
    mix-blend-mode: normal;
  }
}

/* Banner (style1) */
.banner.style1 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  text-align: left;
}
.banner.style1 .content {
  padding: var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-default))) var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default))) var(--section-padding-bottom, var(--surface-section-padding-y, var(--size_padding-default))) var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default)));
  align-self: center;
  flex-grow: 1;
  flex-shrink: 1;
  width: 50%;
  max-width: var(--content-max-width-medium, calc(var(--size_inner) * 0.75));
  margin: 0 auto;
}
.banner.style1 > .content > figure.fit,
.banner.style1 > .content > figure.figure-inline.fit {
  align-self: stretch;
  min-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
}
.banner.style1 > .content > figure.fit .ql-embed-frame,
.banner.style1 > .content > figure.figure-inline.fit .ql-embed-frame {
  min-width: 100%;
  width: 100%;
  max-width: 100%;
}
.banner.style1 > figure {
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 0;
  width: 50%;
}
.banner.style1 > figure img, .banner.style1 > figure canvas, .banner.style1 > figure iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1680px) {
  .banner.style1 .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-xlarge))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-xlarge)))));
  }
}
@media screen and (max-width: 1280px) {
  .banner.style1 .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large)))));
  }
}
@media screen and (max-width: 980px) {
  .banner.style1 .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium)))));
  }
}
@media screen and (max-width: 736px) {
  .banner.style1 .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small)))));
  }
}
@media screen and (orientation: portrait) {
  .banner.style1 {
    flex-direction: column;
    text-align: center;
  }
  .banner.style1 .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
  .banner.style1 > figure {
    width: 100%;
    max-width: 100%;
    height: 45vh;
  }
}
.banner.style1:not(:has(> figure, > canvas)) > .content {
  width: 100%;
  max-width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose)));
  min-width: 0;
  flex-basis: 100%;
}
.banner.style1:not(:has(> figure, > canvas)) > .content:has(> figure.fit:only-child),
.banner.style1:not(:has(> figure, > canvas)) > .content:has(> figure.figure-inline.fit:only-child) {
  display: block;
  padding-left: 0;
  padding-right: 0;
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-prose,
.banner.style1:not(:has(> figure, > canvas)) > .content.width-medium,
.banner.style1:not(:has(> figure, > canvas)) > .content.width-narrow,
.banner.style1:not(:has(> figure, > canvas)) > .content.width-wide,
.banner.style1:not(:has(> figure, > canvas)) > .content.width-full {
  flex-basis: auto;
  flex-grow: 1;
  min-width: 0;
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-prose {
  width: min(100%, var(--content-max-width-prose));
  max-width: var(--content-max-width-prose);
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-medium {
  width: min(100%, var(--content-max-width-medium));
  max-width: var(--content-max-width-medium);
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-narrow {
  width: min(100%, var(--content-max-width-narrow));
  max-width: var(--content-max-width-narrow);
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-wide {
  width: min(100%, var(--content-max-width-wide));
  max-width: var(--content-max-width-wide);
}
.banner.style1:not(:has(> figure, > canvas)) > .content.width-full {
  width: min(100%, var(--content-max-width-full));
  max-width: var(--content-max-width-full);
}
.banner.style1:not(:has(> figure, > canvas)) > .content > figure.fit,
.banner.style1:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit {
  align-self: stretch;
  min-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
}
.banner.style1:not(:has(> figure, > canvas)) > .content > figure.fit .ql-embed-frame,
.banner.style1:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit .ql-embed-frame {
  min-width: 100%;
  width: 100%;
  max-width: 100%;
}
.banner.style1.fullscreen, .banner.style1[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .banner.style1.fullscreen .content, .banner.style1[data-ql-size=full] .content {
    min-height: none;
  }
  .banner.style1.fullscreen > figure, .banner.style1[data-ql-size=full] > figure {
    min-height: 50vh;
  }
}
.banner.style1.fullscreen:not(:has(> figure, > canvas)), .banner.style1[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: calc(100svh - var(--fullscreen-content-offset, clamp(6rem, 10vw, 8rem)));
}
.banner.style1.fullscreen:not(:has(> figure, > canvas)) .content, .banner.style1[data-ql-size=full]:not(:has(> figure, > canvas)) .content {
  align-self: flex-start;
}
body.ql-shell-fixed-chrome .banner.style1.fullscreen:not(:has(> figure, > canvas)), body.ql-shell-fixed-chrome .banner.style1[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: 100%;
}
body.ql-shell-fixed-chrome .banner.style1.fullscreen:not(:has(> figure, > canvas)) .content, body.ql-shell-fixed-chrome .banner.style1[data-ql-size=full]:not(:has(> figure, > canvas)) .content {
  align-self: center;
}
@media screen and (max-width: 980px) {
  body.ql-shell-fixed-chrome .banner.style1.fullscreen:not(:has(> figure, > canvas)), body.ql-shell-fixed-chrome .banner.style1[data-ql-size=full]:not(:has(> figure, > canvas)) {
    min-height: var(--fullscreen-content-mobile-min-height, clamp(24rem, 56svh, 34rem));
  }
}
.banner.style1.halfscreen, .banner.style1[data-ql-size=half] {
  min-height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style1.halfscreen .content, .banner.style1[data-ql-size=half] .content {
    min-height: none;
  }
  .banner.style1.halfscreen > figure, .banner.style1[data-ql-size=half] > figure {
    height: 50vh;
  }
}
@media screen and (orientation: portrait) {
  .banner.style1.orient-left {
    flex-direction: column-reverse;
  }
}
.banner.style1.orient-right {
  flex-direction: row-reverse;
}
@media screen and (orientation: portrait) {
  .banner.style1.orient-right {
    flex-direction: column-reverse;
  }
}
.banner.style1.content-align-center {
  text-align: center;
}
.banner.style1.content-align-right {
  text-align: right;
}
@media screen and (orientation: portrait) {
  .banner.style1.content-align-right {
    text-align: center;
  }
}

/* Banner (style2) */
.banner.style2 {
  padding: calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(calc(var(--size_padding-default) * 0.75), max(0.1rem, calc(var(--size_padding-default) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75)));
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  text-align: center;
}
.banner.style2 .content {
  padding: calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(calc(var(--size_padding-default) * 0.75), max(0.1rem, calc(var(--size_padding-default) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75)));
  position: relative;
  width: calc(var(--size_inner) * 0.625);
  max-width: 100%;
  background-color: inherit;
  border-radius: var(--size_border_radius_alt);
  margin-bottom: var(--size_element_margin);
  z-index: 1;
}
.banner.style2 > figure {
  flex-grow: 0;
  flex-shrink: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
}
.banner.style2 > figure img, .banner.style2 > figure canvas, .banner.style2 > figure iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
.banner.style2 {
  height: 100vh;
}
.banner.style2 svg {
  height: 100vh;
  transform: translateY(0vh);
}
@media screen and (max-width: 1680px) {
  .banner.style2 {
    padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.75), max(0.1rem, calc(var(--size_padding-xlarge) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75)));
  }
  .banner.style2 .content {
    padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.75), max(0.1rem, calc(var(--size_padding-xlarge) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75)));
  }
  .banner.style2 {
    height: 100vh;
  }
  .banner.style2 svg {
    height: 100vh;
  }
}
@media screen and (max-width: 1280px) {
  .banner.style2 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
  .banner.style2 .content {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
  .banner.style2 {
    height: 94vh;
  }
  .banner.style2 svg {
    height: 100vh;
    width: 150vw;
    transform: translateX(-22vw);
  }
}
@media screen and (max-width: 980px) {
  .banner.style2 {
    padding: calc(1 * (var(--size_padding-medium))) calc(1 * (var(--size_padding-medium))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
  .banner.style2 .content {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75)));
  }
  .banner.style2 {
    height: 90vh;
  }
  .banner.style2 svg {
    height: 90vh;
    transform: translateY(-10vh);
    width: 180vw;
    transform: translateX(-39vw);
  }
}
@media screen and (max-width: 736px) {
  .banner.style2 {
    padding: calc(1 * (var(--size_padding-small))) calc(1 * (var(--size_padding-small))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
  }
  .banner.style2 .content {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75)));
  }
  .banner.style2 {
    height: 76vh;
  }
  .banner.style2 svg {
    height: 80vh;
    transform: translateY(-10vh);
    transform: translateX(-37vw);
  }
}
.banner.style2.fullscreen, .banner.style2[data-ql-size=full] {
  min-height: 100vh;
}
.banner.style2.fullscreen:not(:has(> figure, > canvas)), .banner.style2[data-ql-size=full]:not(:has(> figure, > canvas)) {
  height: auto;
  min-height: calc(100svh - var(--fullscreen-content-offset, clamp(6rem, 10vw, 8rem)));
}
@media screen and (max-width: 980px) {
  .banner.style2.fullscreen:not(:has(> figure, > canvas)), .banner.style2[data-ql-size=full]:not(:has(> figure, > canvas)) {
    height: auto;
    min-height: var(--fullscreen-content-mobile-min-height, clamp(24rem, 56svh, 34rem));
  }
}
.banner.style2.orient-left {
  justify-content: flex-start;
  padding-left: 0;
}
.banner.style2.orient-left .content {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.banner.style2.orient-right {
  justify-content: flex-end;
  padding-right: 0;
}
.banner.style2.orient-right .content {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.banner.style2.content-align-center {
  text-align: center;
}
.banner.style2.content-align-left {
  text-align: left;
}
.banner.style2.content-align-right {
  text-align: right;
}
.banner.style2.figure-position-left > figure img, .banner.style2.figure-position-left > figure canvas, .banner.style2.figure-position-left > figure iframe {
  object-position: left;
}
.banner.style2.figure-position-right > figure img, .banner.style2.figure-position-right > figure canvas, .banner.style2.figure-position-right > figure iframe {
  object-position: right;
}
.banner.style2.halfscreen, .banner.style2[data-ql-size=half] {
  height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style2.halfscreen .content, .banner.style2[data-ql-size=half] .content {
    min-height: none;
  }
  .banner.style2.halfscreen > figure, .banner.style2[data-ql-size=half] > figure {
    height: 50vh;
  }
}

/* Banner (style3) */
.banner.style3 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  text-align: left;
}
.banner.style3 .content {
  width: 100%;
  max-width: 100%;
}
.banner.style3 > figure {
  flex-grow: 0;
  flex-shrink: 0;
  width: 21rem;
  height: 21rem;
  border-radius: 100%;
  margin: 0 calc(var(--size_element_margin) * 1.75) var(--size_element_margin) 0;
}
.banner.style3 > figure img, .banner.style3 > figure canvas, .banner.style3 > figure iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
@media screen and (max-width: 1680px) {
  .banner.style3 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .banner.style3 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .banner.style3 {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 1.25)));
  }
  .banner.style3 figure {
    width: 18.375rem !important;
    height: 18.375rem !important;
  }
}
@media screen and (max-width: 736px) {
  .banner.style3 {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 1.25)));
    align-items: flex-start;
  }
  .banner.style3 figure {
    width: 15.75rem !important;
    height: 15.75rem !important;
    margin: 0 calc(var(--size_element_margin) * 1) var(--size_element_margin) 0;
  }
}
@media screen and (orientation: portrait) {
  .banner.style3 {
    align-items: center;
    flex-direction: column-reverse;
    text-align: center;
  }
  .banner.style3 .content {
    width: 34rem;
    max-width: 100%;
  }
  .banner.style3 figure {
    margin-right: 0;
  }
}
.banner.style3.fullscreen, .banner.style3[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .banner.style3.fullscreen .content, .banner.style3[data-ql-size=full] .content {
    min-height: none;
  }
}
.banner.style3.halfscreen, .banner.style3[data-ql-size=half] {
  min-height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style3.halfscreen .content, .banner.style3[data-ql-size=half] .content {
    min-height: none;
  }
}
.banner.style3.orient-left {
  flex-direction: row;
}
.banner.style3.orient-left figure {
  margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1.75);
}
@media screen and (max-width: 736px) {
  .banner.style3.orient-left figure {
    margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1);
  }
}
@media screen and (orientation: portrait) {
  .banner.style3.orient-left {
    flex-direction: column-reverse;
  }
  .banner.style3.orient-left figure {
    margin-left: 0;
  }
}

/* Banner (style4) */
.banner.style4 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  text-align: left;
  /* NEW iPhone layout */
}
.banner.style4 > figure {
  background: none !important;
}
.banner.style4 > figure img, .banner.style4 > figure iframe, .banner.style4 > figure svg {
  border: 0.2rem solid #000 !important;
  border-radius: 1rem !important;
  margin-top: 1%;
}
.banner.style4 > figure::before {
  z-index: 10000;
  border: 0.2rem solid #000 !important;
  border-radius: 0.5rem !important;
  background-image: none !important;
  background: black !important;
  background-color: black !important;
  width: 33% !important;
  height: 10% !important;
  translate: 100% 40% !important;
}
.banner.style4 > figure::after {
  z-index: 10000;
  border: 2% solid white !important;
  border-radius: 6px !important;
  background-image: none !important;
  background: white !important;
  background-color: white !important;
  width: 28% !important;
  height: 1% !important;
  translate: 130% -480% !important;
}
.banner.style4 .content {
  width: calc(var(--size_inner) * 0.75 - 13rem - var(--size_element_margin) * 1.75);
  max-width: 100%;
}
.banner.style4 > figure {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  border-radius: 0;
  border: solid 1px;
}
.banner.style4 > figure img, .banner.style4 > figure canvas, .banner.style4 > figure iframe {
  -moz-object-fit: cover;
  -webkit-object-fit: cover;
  -ms-object-fit: cover;
  object-fit: cover;
  -moz-object-position: center;
  -webkit-object-position: center;
  -ms-object-position: center;
  object-position: center;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
.banner.style4 > figure:before {
  content: "";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  border: solid 1px;
  border-bottom: 0;
}
.banner.style4 > figure:after {
  content: "";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  border: solid 1px;
  border-top: 0;
}
.banner.style4 > figure {
  width: 13rem;
  height: 23.1111111111rem;
  margin-top: 2.5rem;
  margin-bottom: 5rem;
}
.banner.style4 > figure:before {
  height: 2.5rem;
  background-size: 64px 32px;
  margin-top: -2.5rem;
  border-radius: 1rem 1rem 0 0;
}
.banner.style4 > figure:after {
  height: 3rem;
  background-size: 64px 32px;
  margin-bottom: -3rem;
  border-radius: 0 0 1rem 1rem;
}
.banner.style4 > figure {
  margin-right: calc(var(--size_element_margin) * 1.75);
}
@media screen and (max-width: 1680px) {
  .banner.style4 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .banner.style4 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .banner.style4 {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
  .banner.style4 > figure {
    width: 11.375rem;
    height: 20.2222222222rem;
    margin-top: 2.1875rem;
    margin-bottom: 4.625rem;
  }
  .banner.style4 > figure:before {
    height: 2.1875rem;
    background-size: 56px 28px;
    margin-top: -2.1875rem;
    border-radius: 0.875rem 0.875rem 0 0;
  }
  .banner.style4 > figure:after {
    height: 2.625rem;
    background-size: 56px 28px;
    margin-bottom: -2.625rem;
    border-radius: 0 0 0.875rem 0.875rem;
  }
  .banner.style4 > figure iframe {
    width: 50%;
  }
}
@media screen and (max-width: 736px) {
  .banner.style4 {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
    align-items: flex-start;
  }
  .banner.style4 > figure iframe {
    -ms-zoom: 0.33;
    -moz-transform: scale(0.33);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.33);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.33);
    -webkit-transform-origin: 0 0;
    transform: scale(0.33);
    transform-origin: 0 0;
  }
  .banner.style4 > figure {
    width: 8.125rem;
    height: 14.4444444444rem;
    margin-top: 1.5625rem;
    margin-bottom: 3.875rem;
  }
  .banner.style4 > figure:before {
    height: 1.5625rem;
    background-size: 40px 20px;
    margin-top: -1.5625rem;
    border-radius: 0.625rem 0.625rem 0 0;
  }
  .banner.style4 > figure:after {
    height: 1.875rem;
    background-size: 40px 20px;
    margin-bottom: -1.875rem;
    border-radius: 0 0 0.625rem 0.625rem;
  }
  .banner.style4 > figure iframe {
    width: 300% !important;
    height: 300% !important;
    margin-bottom: -355%;
  }
}
@media screen and (orientation: portrait) {
  .banner.style4 {
    align-items: center;
    flex-direction: column-reverse;
    text-align: center;
  }
  .banner.style4 .content {
    width: 34rem;
    max-width: 100%;
  }
  .banner.style4 figure {
    margin-right: 0;
    margin-left: 0;
  }
}
.banner.style4.fullscreen, .banner.style4[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .banner.style4.fullscreen .content, .banner.style4[data-ql-size=full] .content {
    min-height: none;
  }
  .banner.style4.fullscreen > figure, .banner.style4[data-ql-size=full] > figure {
    min-height: 50vh;
  }
}
.banner.style4.halfscreen, .banner.style4[data-ql-size=half] {
  min-height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style4.halfscreen .content, .banner.style4[data-ql-size=half] .content {
    min-height: none;
  }
}
.banner.style4.orient-left {
  flex-direction: row;
}
.banner.style4.orient-left > figure {
  margin-right: 0;
  margin-left: calc(var(--size_element_margin) * 1.75);
}
@media screen and (orientation: portrait) {
  .banner.style4.orient-left {
    flex-direction: column-reverse;
  }
  .banner.style4.orient-left figure {
    margin-right: 0;
    margin-left: 0;
  }
}

/* Banner (style5) */
.banner.style5 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  text-align: center;
}
.banner.style5 .content {
  position: relative;
  width: calc(var(--size_inner) * 0.625);
  max-width: 100%;
  margin-bottom: var(--size_element_margin);
  z-index: 1;
}
.banner.style5 > figure {
  flex-grow: 0;
  flex-shrink: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
  opacity: var(--misc_overlay_opacity);
  border: 4px solid #000;
  border-radius: 12px;
}
.banner.style5 > figure img, .banner.style5 > figure canvas, .banner.style5 > figure iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1680px) {
  .banner.style5 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .banner.style5 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .banner.style5 {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
}
@media screen and (max-width: 736px) {
  .banner.style5 {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
  }
}
.banner.style5.fullscreen, .banner.style5[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .banner.style5.fullscreen .content, .banner.style5[data-ql-size=full] .content {
    min-height: none;
  }
  .banner.style5.fullscreen figure, .banner.style5[data-ql-size=full] figure {
    min-height: 50vh;
  }
}
.banner.style5.halfscreen, .banner.style5[data-ql-size=half] {
  min-height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style5.halfscreen .content, .banner.style5[data-ql-size=half] .content {
    min-height: none;
  }
  .banner.style5.halfscreen figure, .banner.style5[data-ql-size=half] figure {
    min-height: 50vh;
  }
}
.banner.style5.content-align-left {
  text-align: left;
}
.banner.style5.content-align-right {
  text-align: right;
}
.banner.style5.figure-position-left figure img, .banner.style5.figure-position-left figure canvas, .banner.style5.figure-position-left figure iframe {
  object-position: left;
}
.banner.style5.figure-position-right figure img, .banner.style5.figure-position-right figure canvas, .banner.style5.figure-position-right figure iframe {
  object-position: right;
}

.banner.style6 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  text-align: left;
}
.banner.style6 .content {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-self: center;
  flex-grow: 1;
  flex-shrink: 1;
  width: 50%;
  max-width: calc(var(--size_inner) * 0.75);
  margin: 0 auto;
}
.banner.style6 > figure {
  flex-grow: 0;
  flex-shrink: 0;
  border-radius: 0;
  width: 50%;
}
.banner.style6 > figure img, .banner.style6 > figure canvas, .banner.style6 > figure iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 1680px) {
  .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
}
@media screen and (max-width: 736px) {
  .banner.style6 .content, .banner.style6 img, .banner.style6 canvas, .banner.style6 iframe {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
  }
}
@media screen and (orientation: portrait) {
  .banner.style6 {
    flex-direction: column;
    text-align: center;
  }
  .banner.style6 .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
  .banner.style6 > figure {
    width: 100%;
    max-width: 100%;
    height: 45vh;
  }
}
.banner.style6.fullscreen, .banner.style6[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .banner.style6.fullscreen .content, .banner.style6[data-ql-size=full] .content {
    min-height: none;
  }
  .banner.style6.fullscreen > figure, .banner.style6[data-ql-size=full] > figure {
    min-height: 50vh;
  }
}
.banner.style6.halfscreen, .banner.style6[data-ql-size=half] {
  min-height: 50vh;
}
@media screen and (orientation: portrait) {
  .banner.style6.halfscreen .content, .banner.style6[data-ql-size=half] .content {
    min-height: none;
  }
  .banner.style6.halfscreen > figure, .banner.style6[data-ql-size=half] > figure {
    height: 50vh;
  }
}
@media screen and (orientation: portrait) {
  .banner.style6.orient-left {
    flex-direction: column-reverse;
  }
}
@media screen and (orientation: landscape) {
  .banner.style6.orient-left img, .banner.style6.orient-left canvas, .banner.style6.orient-left iframe {
    padding-left: 0;
  }
}
.banner.style6.orient-right {
  flex-direction: row-reverse;
}
@media screen and (orientation: portrait) {
  .banner.style6.orient-right {
    flex-direction: column-reverse;
  }
}
@media screen and (orientation: landscape) {
  .banner.style6.orient-right img, .banner.style6.orient-right canvas, .banner.style6.orient-right iframe {
    padding-right: 0;
  }
}
.banner.style6.content-align-center {
  text-align: center;
}
.banner.style6.content-align-right {
  text-align: right;
}
@media screen and (orientation: portrait) {
  .banner.style6.content-align-right {
    text-align: center;
  }
}

.banner figure {
  background-color: var(--fig_bg);
}
.banner.invert > figure {
  background-color: var(--invert_fig_bg);
}

.banner.style4 > figure {
  border-color: rgba(1, 1, 1, 0.2);
  background-color: rgba(1, 1, 1, 0.2);
  border-width: 0;
}
.banner.style4 > figure:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgba(1, 1, 1, 0.2);
  width: 100%;
}
.banner.style4 > figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgba(1, 1, 1, 0.2);
  width: 100%;
}
.banner.style4.android > figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}
.banner.style4.invert figure {
  border-color: rgb(255, 255, 255);
  background-color: rgb(255, 255, 255);
  border-width: 1px;
}
.banner.style4.invert figure:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
.banner.style4.invert figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
.banner.style4.invert.android figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}

@media screen and (orientation: portrait) {
  banner.portrait-reverse {
    flex-direction: column;
  }
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Spotlight (transitions) */
.spotlight figure svg {
  width: 100%;
  height: 100%;
}
.spotlight figure {
  overflow: hidden;
}
.spotlight figcaption {
  padding-top: 1.5rem;
}
.spotlight > figure iframe {
  -ms-zoom: 0.5;
  -moz-transform: scale(0.5);
  -moz-transform-origin: 0 0;
  -o-transform: scale(0.5);
  -o-transform-origin: 0 0;
  -webkit-transform: scale(0.5);
  -webkit-transform-origin: 0 0;
  transform: scale(0.5);
  transform-origin: 0 0;
}
.spotlight.onload-content-fade-up .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-content-fade-up .content {
  transform: translateY(1rem);
  opacity: 0;
}
.spotlight.onload-content-fade-down .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-content-fade-down .content {
  transform: translateY(-1rem);
  opacity: 0;
}
.spotlight.onload-content-fade-left .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-content-fade-left .content {
  transform: translateX(1rem);
  opacity: 0;
}
.spotlight.onload-content-fade-right .content {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-content-fade-right .content {
  transform: translateX(-1rem);
  opacity: 0;
}
.spotlight.onload-content-fade-in .content {
  transition: opacity var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-content-fade-in .content {
  opacity: 0;
}
.spotlight.onload-image-fade-up figure, .spotlight.onload-image-fade-up canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
.spotlight.onload-image-fade-up figure img, .spotlight.onload-image-fade-up figure canvas, .spotlight.onload-image-fade-up figure iframe, .spotlight.onload-image-fade-up canvas img, .spotlight.onload-image-fade-up canvas canvas, .spotlight.onload-image-fade-up canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .spotlight.onload-image-fade-up figure, body.is-preload .spotlight.onload-image-fade-up canvas {
  transform: translateY(1rem);
  opacity: 0;
}
body.is-preload .spotlight.onload-image-fade-up figure img, body.is-preload .spotlight.onload-image-fade-up figure canvas, body.is-preload .spotlight.onload-image-fade-up figure iframe, body.is-preload .spotlight.onload-image-fade-up canvas img, body.is-preload .spotlight.onload-image-fade-up canvas canvas, body.is-preload .spotlight.onload-image-fade-up canvas iframe {
  opacity: 0;
}
.spotlight.onload-image-fade-down figure, .spotlight.onload-image-fade-down canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
.spotlight.onload-image-fade-down figure img, .spotlight.onload-image-fade-down figure canvas, .spotlight.onload-image-fade-down figure iframe, .spotlight.onload-image-fade-down canvas img, .spotlight.onload-image-fade-down canvas canvas, .spotlight.onload-image-fade-down canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .spotlight.onload-image-fade-down figure, body.is-preload .spotlight.onload-image-fade-down canvas {
  transform: translateY(-1rem);
  opacity: 0;
}
body.is-preload .spotlight.onload-image-fade-down figure img, body.is-preload .spotlight.onload-image-fade-down figure canvas, body.is-preload .spotlight.onload-image-fade-down figure iframe, body.is-preload .spotlight.onload-image-fade-down canvas img, body.is-preload .spotlight.onload-image-fade-down canvas canvas, body.is-preload .spotlight.onload-image-fade-down canvas iframe {
  opacity: 0;
}
.spotlight.onload-image-fade-left figure, .spotlight.onload-image-fade-left canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
.spotlight.onload-image-fade-left figure img, .spotlight.onload-image-fade-left figure canvas, .spotlight.onload-image-fade-left figure iframe, .spotlight.onload-image-fade-left canvas img, .spotlight.onload-image-fade-left canvas canvas, .spotlight.onload-image-fade-left canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .spotlight.onload-image-fade-left figure, body.is-preload .spotlight.onload-image-fade-left canvas {
  transform: translateX(1rem);
  opacity: 0;
}
body.is-preload .spotlight.onload-image-fade-left figure img, body.is-preload .spotlight.onload-image-fade-left figure canvas, body.is-preload .spotlight.onload-image-fade-left figure iframe, body.is-preload .spotlight.onload-image-fade-left canvas img, body.is-preload .spotlight.onload-image-fade-left canvas canvas, body.is-preload .spotlight.onload-image-fade-left canvas iframe {
  opacity: 0;
}
.spotlight.onload-image-fade-right figure, .spotlight.onload-image-fade-right canvas {
  transition: opacity var(--duration_on_load) ease-in-out, transform var(--duration_on_load) ease-in-out;
}
.spotlight.onload-image-fade-right figure img, .spotlight.onload-image-fade-right figure canvas, .spotlight.onload-image-fade-right figure iframe, .spotlight.onload-image-fade-right canvas img, .spotlight.onload-image-fade-right canvas canvas, .spotlight.onload-image-fade-right canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .spotlight.onload-image-fade-right figure, body.is-preload .spotlight.onload-image-fade-right canvas {
  transform: translateX(-1rem);
  opacity: 0;
}
body.is-preload .spotlight.onload-image-fade-right figure img, body.is-preload .spotlight.onload-image-fade-right figure canvas, body.is-preload .spotlight.onload-image-fade-right figure iframe, body.is-preload .spotlight.onload-image-fade-right canvas img, body.is-preload .spotlight.onload-image-fade-right canvas canvas, body.is-preload .spotlight.onload-image-fade-right canvas iframe {
  opacity: 0;
}
.spotlight.onload-image-fade-in figure img, .spotlight.onload-image-fade-in figure canvas, .spotlight.onload-image-fade-in figure iframe, .spotlight.onload-image-fade-in canvas img, .spotlight.onload-image-fade-in canvas canvas, .spotlight.onload-image-fade-in canvas iframe {
  transition: opacity var(--duration_on_load) ease-in-out;
}
body.is-preload .spotlight.onload-image-fade-in figure img, body.is-preload .spotlight.onload-image-fade-in figure canvas, body.is-preload .spotlight.onload-image-fade-in figure iframe, body.is-preload .spotlight.onload-image-fade-in canvas img, body.is-preload .spotlight.onload-image-fade-in canvas canvas, body.is-preload .spotlight.onload-image-fade-in canvas iframe {
  opacity: 0;
}
.spotlight.onscroll-content-fade-up .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-content-fade-up.is-inactive .content {
  transform: translateY(1rem);
  opacity: 0;
}
.spotlight.onscroll-content-fade-down .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-content-fade-down.is-inactive .content {
  transform: translateY(-1rem);
  opacity: 0;
}
.spotlight.onscroll-content-fade-left .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-content-fade-left.is-inactive .content {
  transform: translateX(1rem);
  opacity: 0;
}
.spotlight.onscroll-content-fade-right .content {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-content-fade-right.is-inactive .content {
  transform: translateX(-1rem);
  opacity: 0;
}
.spotlight.onscroll-content-fade-in .content {
  transition: opacity var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-content-fade-in.is-inactive .content {
  opacity: 0;
}
.spotlight.onscroll-image-fade-up figure, .spotlight.onscroll-image-fade-up canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-image-fade-up figure img, .spotlight.onscroll-image-fade-up figure canvas, .spotlight.onscroll-image-fade-up figure iframe, .spotlight.onscroll-image-fade-up canvas img, .spotlight.onscroll-image-fade-up canvas canvas, .spotlight.onscroll-image-fade-up canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.spotlight.onscroll-image-fade-up.is-inactive figure, .spotlight.onscroll-image-fade-up.is-inactive canvas {
  transform: translateY(1rem);
  opacity: 0;
}
.spotlight.onscroll-image-fade-up.is-inactive figure img, .spotlight.onscroll-image-fade-up.is-inactive figure canvas, .spotlight.onscroll-image-fade-up.is-inactive figure iframe, .spotlight.onscroll-image-fade-up.is-inactive canvas img, .spotlight.onscroll-image-fade-up.is-inactive canvas canvas, .spotlight.onscroll-image-fade-up.is-inactive canvas iframe {
  opacity: 0;
}
.spotlight.onscroll-image-fade-down figure, .spotlight.onscroll-image-fade-down canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-image-fade-down figure img, .spotlight.onscroll-image-fade-down figure canvas, .spotlight.onscroll-image-fade-down figure iframe, .spotlight.onscroll-image-fade-down canvas img, .spotlight.onscroll-image-fade-down canvas canvas, .spotlight.onscroll-image-fade-down canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.spotlight.onscroll-image-fade-down.is-inactive figure, .spotlight.onscroll-image-fade-down.is-inactive canvas {
  transform: translateY(-1rem);
  opacity: 0;
}
.spotlight.onscroll-image-fade-down.is-inactive figure img, .spotlight.onscroll-image-fade-down.is-inactive figure canvas, .spotlight.onscroll-image-fade-down.is-inactive figure iframe, .spotlight.onscroll-image-fade-down.is-inactive canvas img, .spotlight.onscroll-image-fade-down.is-inactive canvas canvas, .spotlight.onscroll-image-fade-down.is-inactive canvas iframe {
  opacity: 0;
}
.spotlight.onscroll-image-fade-left figure, .spotlight.onscroll-image-fade-left canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-image-fade-left figure img, .spotlight.onscroll-image-fade-left figure canvas, .spotlight.onscroll-image-fade-left figure iframe, .spotlight.onscroll-image-fade-left canvas img, .spotlight.onscroll-image-fade-left canvas canvas, .spotlight.onscroll-image-fade-left canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.spotlight.onscroll-image-fade-left.is-inactive figure, .spotlight.onscroll-image-fade-left.is-inactive canvas {
  transform: translateX(1rem);
  opacity: 0;
}
.spotlight.onscroll-image-fade-left.is-inactive figure img, .spotlight.onscroll-image-fade-left.is-inactive figure canvas, .spotlight.onscroll-image-fade-left.is-inactive figure iframe, .spotlight.onscroll-image-fade-left.is-inactive canvas img, .spotlight.onscroll-image-fade-left.is-inactive canvas canvas, .spotlight.onscroll-image-fade-left.is-inactive canvas iframe {
  opacity: 0;
}
.spotlight.onscroll-image-fade-right figure, .spotlight.onscroll-image-fade-right canvas {
  transition: opacity var(--duration_on_scroll) ease-in-out, transform var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-image-fade-right figure img, .spotlight.onscroll-image-fade-right figure canvas, .spotlight.onscroll-image-fade-right figure iframe, .spotlight.onscroll-image-fade-right canvas img, .spotlight.onscroll-image-fade-right canvas canvas, .spotlight.onscroll-image-fade-right canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.spotlight.onscroll-image-fade-right.is-inactive figure, .spotlight.onscroll-image-fade-right.is-inactive canvas {
  transform: translateX(-1rem);
  opacity: 0;
}
.spotlight.onscroll-image-fade-right.is-inactive figure img, .spotlight.onscroll-image-fade-right.is-inactive figure canvas, .spotlight.onscroll-image-fade-right.is-inactive figure iframe, .spotlight.onscroll-image-fade-right.is-inactive canvas img, .spotlight.onscroll-image-fade-right.is-inactive canvas canvas, .spotlight.onscroll-image-fade-right.is-inactive canvas iframe {
  opacity: 0;
}
.spotlight.onscroll-image-fade-in figure img, .spotlight.onscroll-image-fade-in figure canvas, .spotlight.onscroll-image-fade-in figure iframe, .spotlight.onscroll-image-fade-in canvas img, .spotlight.onscroll-image-fade-in canvas canvas, .spotlight.onscroll-image-fade-in canvas iframe {
  transition: opacity var(--duration_on_scroll) ease-in-out;
}
.spotlight.onscroll-image-fade-in.is-inactive figure img, .spotlight.onscroll-image-fade-in.is-inactive figure canvas, .spotlight.onscroll-image-fade-in.is-inactive figure iframe, .spotlight.onscroll-image-fade-in.is-inactive canvas img, .spotlight.onscroll-image-fade-in.is-inactive canvas canvas, .spotlight.onscroll-image-fade-in.is-inactive canvas iframe {
  opacity: 0;
}

.spotlight:not(:has(> figure, > canvas)) > .content {
  width: 100%;
  max-width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose)));
  min-width: 0;
  flex-basis: 100%;
}
.spotlight:not(:has(> figure, > canvas)) > .content:has(> figure.fit:only-child),
.spotlight:not(:has(> figure, > canvas)) > .content:has(> figure.figure-inline.fit:only-child) {
  display: block;
  padding-left: 0;
  padding-right: 0;
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-prose,
.spotlight:not(:has(> figure, > canvas)) > .content.width-medium,
.spotlight:not(:has(> figure, > canvas)) > .content.width-narrow,
.spotlight:not(:has(> figure, > canvas)) > .content.width-wide,
.spotlight:not(:has(> figure, > canvas)) > .content.width-full {
  flex-basis: auto;
  flex-grow: 1;
  min-width: 0;
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-prose {
  width: min(100%, var(--content-max-width-prose));
  max-width: var(--content-max-width-prose);
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-medium {
  width: min(100%, var(--content-max-width-medium));
  max-width: var(--content-max-width-medium);
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-narrow {
  width: min(100%, var(--content-max-width-narrow));
  max-width: var(--content-max-width-narrow);
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-wide {
  width: min(100%, var(--content-max-width-wide));
  max-width: var(--content-max-width-wide);
}
.spotlight:not(:has(> figure, > canvas)) > .content.width-full {
  width: min(100%, var(--content-max-width-full));
  max-width: var(--content-max-width-full);
}
.spotlight:not(:has(> figure, > canvas)) > .content > figure.fit,
.spotlight:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit {
  align-self: stretch;
  min-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
}
.spotlight:not(:has(> figure, > canvas)) > .content > figure.fit .ql-embed-frame,
.spotlight:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit .ql-embed-frame {
  min-width: 100%;
  width: 100%;
  max-width: 100%;
}

.spotlight.intro-card > .content,
.spotlight[data-ql-section-surface=intro_card] > .content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--surface-intro-card-gap, clamp(0.8rem, 1.5vw, 1.15rem));
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, inherit));
  width: 100%;
  max-width: var(--surface-intro-card-max-width, var(--intro-card-max-width, var(--ql-hero-card-max, 980px)));
  margin-inline: auto;
  padding: var(--surface-intro-card-padding-y, clamp(1.4rem, 3vw, 2.2rem)) var(--surface-intro-card-padding-x, clamp(1.6rem, 4vw, 3rem));
  border-radius: var(--surface-intro-card-radius, var(--intro-card-radius, 28px));
  background: var(--surface-intro-card-bg, var(--intro-card-bg, var(--ql-hero-card-bg, rgba(255, 255, 255, 0.08))));
  backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  -webkit-backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  border: 1px solid var(--surface-intro-card-border, var(--intro-card-border, var(--ql-hero-card-border, rgba(255, 255, 255, 0.18))));
  box-shadow: var(--surface-intro-card-shadow, var(--intro-card-shadow, var(--ql-hero-card-shadow, 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18))));
  overflow: hidden;
  flex-basis: auto;
  min-width: 0;
}
.spotlight.intro-card > .content::before,
.spotlight[data-ql-section-surface=intro_card] > .content::before {
  content: "";
  position: absolute;
  inset: -40% -35%;
  background: radial-gradient(closest-side at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.1) 35%, rgba(255, 255, 255, 0) 70%), radial-gradient(closest-side at 70% 10%, rgba(124, 255, 255, 0.2), rgba(124, 255, 255, 0) 60%), radial-gradient(closest-side at 90% 70%, rgba(255, 43, 214, 0.16), rgba(255, 43, 214, 0) 65%);
  transform: rotate(18deg);
  opacity: var(--surface-intro-card-glow-opacity, var(--intro-card-glow-opacity, 0.85));
  pointer-events: none;
  mix-blend-mode: screen;
}
.spotlight.intro-card > .content > :first-child,
.spotlight[data-ql-section-surface=intro_card] > .content > :first-child {
  margin-top: 0;
}
.spotlight.intro-card > .content > :last-child,
.spotlight[data-ql-section-surface=intro_card] > .content > :last-child {
  margin-bottom: 0;
}
.spotlight.intro-card > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.spotlight[data-ql-section-surface=intro_card] > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--surface-intro-card-kicker-bg, var(--intro-card-kicker-bg, var(--brochure_kicker_bg, rgba(0, 0, 0, 0.06))));
  color: var(--surface-intro-card-kicker-fg, var(--intro-card-kicker-fg, var(--brochure_kicker_fg, var(--fg))));
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}
.spotlight.intro-card > .content > :is(p, ul, ol, dl),
.spotlight[data-ql-section-surface=intro_card] > .content > :is(p, ul, ol, dl) {
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, currentColor));
}
.spotlight.intro-card > .content > :is(h1, h2),
.spotlight[data-ql-section-surface=intro_card] > .content > :is(h1, h2) {
  --intro-card-title-font: var(--surface-intro-card-title-font, var(--ql-hero-title-font, "Space Grotesk", ui-sans-serif, system-ui));
  margin: 0;
  max-width: var(--lead-max-width, var(--intro-card-title-max, none));
  font-family: var(--intro-card-title-font, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial);
  font-size: var(--surface-intro-card-title-size, var(--intro-card-title-size, var(--ql-hero-title-size, clamp(4.2rem, 10vw, 8.2rem))));
  font-weight: var(--surface-intro-card-title-weight, var(--intro-card-title-weight, 750));
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--surface-intro-card-title-fg, var(--main-intro-card-title-fg, currentColor));
}
.spotlight.intro-card > .content > :is(h1, h2) + p:not(.lead):not(.kicker):not(.ql-hero-meta),
.spotlight[data-ql-section-surface=intro_card] > .content > :is(h1, h2) + p:not(.lead):not(.kicker):not(.ql-hero-meta) {
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
  color: var(--surface-intro-card-meta-fg, var(--main-intro-card-meta-fg, var(--surface-intro-card-fg, currentColor)));
}
.spotlight.intro-card > .content > :is(.lead, p.lead, div.lead),
.spotlight[data-ql-section-surface=intro_card] > .content > :is(.lead, p.lead, div.lead) {
  max-width: var(--surface-intro-card-lead-max-width, var(--lead-max-width, var(--intro-card-lead-max, var(--brochure_lead_max, 46rem))));
  margin: 0 auto;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  line-height: 1.8;
  color: var(--surface-intro-card-lead-fg, var(--main-intro-card-lead-fg, var(--surface-intro-card-fg, currentColor)));
}
.spotlight.intro-card > .content > .ql-hero-meta,
.spotlight[data-ql-section-surface=intro_card] > .content > .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.spotlight.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
.spotlight[data-ql-section-surface=intro_card] > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
@media screen and (max-width: 736px) {
  .spotlight.intro-card > .content,
  .spotlight[data-ql-section-surface=intro_card] > .content {
    gap: 0.75rem;
  }
  .spotlight.intro-card > .content::before,
  .spotlight[data-ql-section-surface=intro_card] > .content::before {
    inset: -18% -14%;
    transform: rotate(8deg);
    opacity: 0.6;
  }
  .spotlight.intro-card > .content > :is(h1, h2),
  .spotlight[data-ql-section-surface=intro_card] > .content > :is(h1, h2) {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .spotlight.intro-card > .content > .ql-hero-meta,
  .spotlight[data-ql-section-surface=intro_card] > .content > .ql-hero-meta {
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .spotlight.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
  .spotlight[data-ql-section-surface=intro_card] > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
}
.spotlight.intro-card.content-align-left > .content > .ql-hero-meta,
.spotlight[data-ql-section-surface=intro_card].content-align-left > .content > .ql-hero-meta {
  justify-content: flex-start;
}
.spotlight.intro-card.content-align-left > .content,
.spotlight[data-ql-section-surface=intro_card].content-align-left > .content {
  align-items: flex-start;
}
.spotlight.intro-card.content-align-left > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.spotlight[data-ql-section-surface=intro_card].content-align-left > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-right: auto;
  text-align: left;
}
.spotlight.intro-card.content-align-left > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.spotlight[data-ql-section-surface=intro_card].content-align-left > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-right: auto;
}
.spotlight.intro-card.content-align-center > .content,
.spotlight[data-ql-section-surface=intro_card].content-align-center > .content {
  align-items: center;
}
.spotlight.intro-card.content-align-center > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.spotlight[data-ql-section-surface=intro_card].content-align-center > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-inline: auto;
  text-align: center;
}
.spotlight.intro-card.content-align-center > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.spotlight[data-ql-section-surface=intro_card].content-align-center > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-inline: auto;
}
.spotlight.intro-card.content-align-right > .content > .ql-hero-meta,
.spotlight[data-ql-section-surface=intro_card].content-align-right > .content > .ql-hero-meta {
  justify-content: flex-end;
}
.spotlight.intro-card.content-align-right > .content,
.spotlight[data-ql-section-surface=intro_card].content-align-right > .content {
  align-items: flex-end;
}
.spotlight.intro-card.content-align-right > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta),
.spotlight[data-ql-section-surface=intro_card].content-align-right > .content > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-left: auto;
  text-align: right;
}
.spotlight.intro-card.content-align-right > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker),
.spotlight[data-ql-section-surface=intro_card].content-align-right > .content > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-left: auto;
}

.spotlight > .content > .ql-hero {
  max-width: var(--surface-intro-card-max-width, var(--intro-card-content-max, var(--brochure_hero_max, 62rem)));
  margin-inline: auto;
}
.spotlight > .content > .ql-hero h1 {
  font-size: var(--surface-intro-card-title-size, var(--intro-card-hero-title-size, clamp(2.9rem, 5.4vw, 5.4rem)));
  line-height: 0.95;
  margin: 1rem 0 1.25rem;
}
.spotlight > .content > .ql-hero .lead {
  max-width: var(--surface-intro-card-lead-max-width, var(--lead-max-width, var(--intro-card-lead-max, var(--brochure_lead_max, 46rem))));
  margin: 0 auto;
  font-size: clamp(1.05rem, 2.2vw, 1.4rem);
  line-height: 1.8;
  color: var(--surface-intro-card-lead-fg, var(--main-intro-card-lead-fg, var(--surface-intro-card-fg, currentColor)));
  margin-top: 0;
}
.spotlight > .content > .ql-kicker,
.spotlight > .content > .ql-hero .ql-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--surface-intro-card-kicker-bg, var(--intro-card-kicker-bg, var(--brochure_kicker_bg, rgba(0, 0, 0, 0.06))));
  color: var(--surface-intro-card-kicker-fg, var(--intro-card-kicker-fg, var(--brochure_kicker_fg, var(--fg))));
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}
.spotlight > .content > .ql-hero .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.spotlight > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
.spotlight > .content > .ql-hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--surface-intro-card-gap, clamp(0.8rem, 1.5vw, 1.15rem));
  color: var(--surface-intro-card-fg, var(--main-intro-card-fg, inherit));
  width: 100%;
  max-width: var(--surface-intro-card-max-width, var(--intro-card-max-width, var(--ql-hero-card-max, 980px)));
  margin-inline: auto;
  padding: var(--surface-intro-card-padding-y, clamp(1.4rem, 3vw, 2.2rem)) var(--surface-intro-card-padding-x, clamp(1.6rem, 4vw, 3rem));
  border-radius: var(--surface-intro-card-radius, var(--intro-card-radius, 28px));
  background: var(--surface-intro-card-bg, var(--intro-card-bg, var(--ql-hero-card-bg, rgba(255, 255, 255, 0.08))));
  backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  -webkit-backdrop-filter: blur(var(--surface-intro-card-blur, var(--intro-card-blur, var(--ql-hero-card-blur, 18px)))) saturate(1.25);
  border: 1px solid var(--surface-intro-card-border, var(--intro-card-border, var(--ql-hero-card-border, rgba(255, 255, 255, 0.18))));
  box-shadow: var(--surface-intro-card-shadow, var(--intro-card-shadow, var(--ql-hero-card-shadow, 0 30px 90px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18))));
  overflow: hidden;
  flex-basis: auto;
  min-width: 0;
}
.spotlight > .content > .ql-hero-card::before {
  content: "";
  position: absolute;
  inset: -40% -35%;
  background: radial-gradient(closest-side at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.1) 35%, rgba(255, 255, 255, 0) 70%), radial-gradient(closest-side at 70% 10%, rgba(124, 255, 255, 0.2), rgba(124, 255, 255, 0) 60%), radial-gradient(closest-side at 90% 70%, rgba(255, 43, 214, 0.16), rgba(255, 43, 214, 0) 65%);
  transform: rotate(18deg);
  opacity: var(--surface-intro-card-glow-opacity, var(--intro-card-glow-opacity, 0.85));
  pointer-events: none;
  mix-blend-mode: screen;
}
.spotlight > .content > .ql-hero-card h1 {
  --intro-card-title-font: var(--surface-intro-card-title-font, var(--ql-hero-title-font, "Space Grotesk", ui-sans-serif, system-ui));
  margin: 0;
  max-width: var(--lead-max-width, var(--intro-card-title-max, none));
  font-family: var(--intro-card-title-font, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial);
  font-size: var(--surface-intro-card-title-size, var(--intro-card-title-size, var(--ql-hero-title-size, clamp(4.2rem, 10vw, 8.2rem))));
  font-weight: var(--surface-intro-card-title-weight, var(--intro-card-title-weight, 750));
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--surface-intro-card-title-fg, var(--main-intro-card-title-fg, currentColor));
}
.spotlight > .content > .ql-hero-card p {
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
  color: var(--surface-intro-card-meta-fg, var(--main-intro-card-meta-fg, var(--surface-intro-card-fg, currentColor)));
  margin: 0.8rem 0 0;
}
.spotlight > .content > .ql-hero-card .ql-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.45rem;
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.28rem);
  line-height: 1.6;
}
.spotlight > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
  content: " •";
  margin: 0 0.45rem;
  opacity: 0.8;
}
.spotlight > .content > .ql-ink {
  color: var(--surface-intro-card-ink, var(--intro-card-ink, #ffdd9a));
  mix-blend-mode: difference;
}
.spotlight > .content > .ql-ink :is(a, h1, h2, h3, p, .ql-kicker, .lead) {
  color: inherit;
}
.spotlight > .content > .ql-ink svg {
  fill: currentColor;
  stroke: currentColor;
}
.spotlight.content-align-left > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: flex-start;
}
.spotlight.content-align-left > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-right: auto;
  text-align: left;
}
.spotlight.content-align-left > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-right: auto;
}
.spotlight.content-align-center > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: center;
}
.spotlight.content-align-center > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-inline: auto;
  text-align: center;
}
.spotlight.content-align-center > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-inline: auto;
}
.spotlight.content-align-right > .content > :is(.ql-hero, .ql-hero-card) {
  align-items: flex-end;
}
.spotlight.content-align-right > .content > :is(.ql-hero, .ql-hero-card) > :is(h1, h2, p, ul, ol, dl, .lead, .ql-hero-meta) {
  margin-left: auto;
  text-align: right;
}
.spotlight.content-align-right > .content > :is(.ql-hero, .ql-hero-card) > :is(.kicker, p.kicker, div.kicker, .ql-kicker) {
  margin-left: auto;
}
@media screen and (max-width: 736px) {
  .spotlight > .content > .ql-hero h1 {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .spotlight > .content > .ql-hero .ql-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .spotlight > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .spotlight > .content > .ql-hero-card {
    gap: 0.75rem;
  }
  .spotlight > .content > .ql-hero-card::before {
    inset: -18% -14%;
    transform: rotate(8deg);
    opacity: 0.6;
  }
  .spotlight > .content > .ql-hero-card h1 {
    font-size: clamp(3.1rem, 12vw, 4.4rem);
    text-wrap: balance;
  }
  .spotlight > .content > .ql-hero-card .ql-hero-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    text-align: center;
  }
  .spotlight > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .spotlight > .content > .ql-ink {
    mix-blend-mode: normal;
  }
}
@media screen and (max-width: 980px) {
  .spotlight > .content > .ql-hero-card,
  .spotlight > .content > .ql-hero, .spotlight.intro-card > .content {
    padding: clamp(1.1rem, 4.8vw, 1.5rem) clamp(1rem, 4vw, 1.35rem);
    border-radius: min(var(--surface-intro-card-radius, var(--intro-card-radius, 28px)), 22px);
    gap: clamp(0.45rem, 2vw, 0.8rem);
    max-width: var(--surface-intro-card-mobile-max-width, var(--intro-card-mobile-max-width, 24rem));
  }
  .spotlight > .content > .ql-hero-card::before, .spotlight.intro-card > .content::before {
    opacity: var(--surface-intro-card-mobile-glow-opacity, var(--intro-card-mobile-glow-opacity, 0.42));
  }
  .spotlight > .content > .ql-hero h1,
  .spotlight > .content > .ql-hero-card h1, .spotlight.intro-card > .content > :is(h1, h2) {
    font-size: clamp(2.65rem, 11vw, 4.4rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
  }
  .spotlight > .content > .ql-hero .ql-hero-meta,
  .spotlight > .content > .ql-hero-card .ql-hero-meta, .spotlight.intro-card > .content > .ql-hero-meta {
    flex-direction: column;
    align-items: center;
    gap: 0.18rem;
    text-align: center;
    font-size: clamp(0.95rem, 3.8vw, 1.15rem);
    line-height: 1.45;
  }
  .spotlight > .content > .ql-hero .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after,
  .spotlight > .content > .ql-hero-card .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after, .spotlight.intro-card > .content > .ql-hero-meta .ql-hero-meta-item:not(:last-child)::after {
    content: none;
  }
  .spotlight > .content > .ql-ink {
    mix-blend-mode: normal;
  }
}

/* Spotlight (style1) */
.spotlight.style1 {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  overflow-x: hidden;
  text-align: left;
}
.spotlight.style1 .content {
  padding: var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-default))) var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default))) var(--section-padding-bottom, var(--surface-section-padding-y, var(--size_padding-default))) var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default)));
  align-self: center;
  flex-grow: 1;
  flex-shrink: 1;
  width: 65%;
  max-width: var(--content-max-width-prose, var(--size_inner));
  margin: 0 auto;
}
.spotlight.style1 figure, .spotlight.style1 canvas {
  flex-grow: 0;
  flex-shrink: 0;
  width: 35%;
  min-width: 25rem;
  border-radius: 0;
}
.spotlight.style1 figure img, .spotlight.style1 figure canvas, .spotlight.style1 figure iframe, .spotlight.style1 canvas img, .spotlight.style1 canvas canvas, .spotlight.style1 canvas iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1680px) {
  .spotlight.style1 .content {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .spotlight.style1 .content {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .spotlight.style1 .content {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
    width: 50%;
    min-width: 0;
  }
  .spotlight.style1 figure, .spotlight.style1 canvas {
    width: 50%;
    min-width: 0;
  }
}
@media screen and (max-width: 736px) {
  .spotlight.style1 .content {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
  }
}
@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1 {
    flex-direction: column-reverse;
    text-align: center !important;
  }
  .spotlight.style1 .content {
    width: 100%;
  }
  .spotlight.style1 figure, .spotlight.style1 canvas {
    width: 100%;
  }
  .spotlight.style1 figure.fullscreen, .spotlight.style1 canvas.fullscreen {
    min-height: 50vh;
  }
  .spotlight.style1 figure img, .spotlight.style1 figure canvas, .spotlight.style1 figure iframe, .spotlight.style1 canvas img, .spotlight.style1 canvas canvas, .spotlight.style1 canvas iframe {
    position: relative;
  }
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content {
  width: 100%;
  max-width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose)));
  min-width: 0;
  flex-basis: 100%;
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content:has(> figure.fit:only-child),
.spotlight.style1:not(:has(> figure, > canvas)) > .content:has(> figure.figure-inline.fit:only-child) {
  display: block;
  padding-left: 0;
  padding-right: 0;
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-prose,
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-medium,
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-narrow,
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-wide,
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-full {
  flex-basis: auto;
  flex-grow: 1;
  min-width: 0;
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-prose {
  width: min(100%, var(--content-max-width-prose));
  max-width: var(--content-max-width-prose);
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-medium {
  width: min(100%, var(--content-max-width-medium));
  max-width: var(--content-max-width-medium);
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-narrow {
  width: min(100%, var(--content-max-width-narrow));
  max-width: var(--content-max-width-narrow);
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-wide {
  width: min(100%, var(--content-max-width-wide));
  max-width: var(--content-max-width-wide);
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content.width-full {
  width: min(100%, var(--content-max-width-full));
  max-width: var(--content-max-width-full);
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content > figure.fit,
.spotlight.style1:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit {
  align-self: stretch;
  min-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
}
.spotlight.style1:not(:has(> figure, > canvas)) > .content > figure.fit .ql-embed-frame,
.spotlight.style1:not(:has(> figure, > canvas)) > .content > figure.figure-inline.fit .ql-embed-frame {
  min-width: 100%;
  width: 100%;
  max-width: 100%;
}
.spotlight.style1.orient-right {
  flex-direction: row-reverse;
}
@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1.orient-right {
    flex-direction: column;
  }
}
@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1.content-align-left {
    flex-direction: column;
  }
}
.spotlight.style1.content-align-center {
  text-align: center;
}
.spotlight.style1.content-align-right {
  text-align: right;
}
.spotlight.style1.fullscreen:not(:has(> figure, > canvas)), .spotlight.style1[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: calc(100svh - var(--fullscreen-content-offset, clamp(6rem, 10vw, 8rem)));
}
.spotlight.style1.fullscreen:not(:has(> figure, > canvas)) .content, .spotlight.style1[data-ql-size=full]:not(:has(> figure, > canvas)) .content {
  align-self: flex-start;
}
body.ql-shell-fixed-chrome .spotlight.style1.fullscreen:not(:has(> figure, > canvas)), body.ql-shell-fixed-chrome .spotlight.style1[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: 100%;
}
body.ql-shell-fixed-chrome .spotlight.style1.fullscreen:not(:has(> figure, > canvas)) .content, body.ql-shell-fixed-chrome .spotlight.style1[data-ql-size=full]:not(:has(> figure, > canvas)) .content {
  align-self: center;
}
.spotlight.style1.figure-position-left figure img, .spotlight.style1.figure-position-left figure canvas, .spotlight.style1.figure-position-left figure iframe, .spotlight.style1.figure-position-left canvas img, .spotlight.style1.figure-position-left canvas canvas, .spotlight.style1.figure-position-left canvas iframe {
  object-position: left;
}
.spotlight.style1.figure-position-right figure img, .spotlight.style1.figure-position-right figure canvas, .spotlight.style1.figure-position-right figure iframe, .spotlight.style1.figure-position-right canvas img, .spotlight.style1.figure-position-right canvas canvas, .spotlight.style1.figure-position-right canvas iframe {
  object-position: right;
}
@media screen and (max-width: 736px) and (orientation: portrait) {
  .spotlight.style1[data-ql-size=full] figure, .spotlight.style1[data-ql-size=full] canvas {
    min-height: 50vh;
  }
}

/* Spotlight (style2) */
.spotlight.style2 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  text-align: left;
}
.spotlight.style2 .content {
  width: calc(var(--size_inner) * 0.75 - var(--size_element_margin) * 1.75);
  max-width: 100%;
}
.spotlight.style2 figure, .spotlight.style2 canvas {
  flex-grow: 0;
  flex-shrink: 0;
  width: 21rem;
  height: 21rem;
  border-radius: 100%;
  margin: 0 calc(var(--size_element_margin) * 1.75) var(--size_element_margin) 0;
}
.spotlight.style2 figure img, .spotlight.style2 figure canvas, .spotlight.style2 figure iframe, .spotlight.style2 canvas img, .spotlight.style2 canvas canvas, .spotlight.style2 canvas iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
}
@media screen and (max-width: 1680px) {
  .spotlight.style2 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .spotlight.style2 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .spotlight.style2 {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
  .spotlight.style2 figure, .spotlight.style2 canvas {
    width: 18.375rem;
    height: 18.375rem;
    margin: calc(var(--size_element_margin) * 1) calc(var(--size_element_margin) * 1) var(--size_element_margin) 0;
  }
}
@media screen and (max-width: 736px) {
  .spotlight.style2 {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
    align-items: flex-start;
  }
  .spotlight.style2 figure, .spotlight.style2 canvas {
    width: 15.75rem;
    height: 15.75rem;
    margin: calc(var(--size_element_margin) * 1) calc(var(--size_element_margin) * 1) var(--size_element_margin) 0;
  }
}
@media screen and (orientation: portrait) {
  .spotlight.style2 {
    align-items: center;
    flex-direction: column-reverse;
    text-align: center !important;
  }
  .spotlight.style2 .content {
    width: 34rem;
    max-width: 100%;
  }
  .spotlight.style2 figure, .spotlight.style2 canvas {
    margin-right: 0;
  }
}
.spotlight.style2.orient-left {
  flex-direction: row;
}
.spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
  margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1.75);
}
@media screen and (max-width: 736px) {
  .spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
    margin: 0 0 var(--size_element_margin) calc(var(--size_element_margin) * 1);
  }
}
@media screen and (orientation: portrait) {
  .spotlight.style2.orient-left {
    flex-direction: column-reverse;
  }
  .spotlight.style2.orient-left figure, .spotlight.style2.orient-left canvas {
    margin-left: 0;
  }
}
.spotlight.style2.content-align-center {
  text-align: center;
}
.spotlight.style2.content-align-right {
  text-align: right;
}
.spotlight.style2.figure-position-left figure img, .spotlight.style2.figure-position-left figure canvas, .spotlight.style2.figure-position-left figure iframe, .spotlight.style2.figure-position-left canvas img, .spotlight.style2.figure-position-left canvas canvas, .spotlight.style2.figure-position-left canvas iframe {
  object-position: left;
}
.spotlight.style2.figure-position-right figure img, .spotlight.style2.figure-position-right figure canvas, .spotlight.style2.figure-position-right figure iframe, .spotlight.style2.figure-position-right canvas img, .spotlight.style2.figure-position-right canvas canvas, .spotlight.style2.figure-position-right canvas iframe {
  object-position: right;
}

/* Spotlight (style3) */
.spotlight.style3 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (var(--size_padding-default))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (var(--size_padding-default)));
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  text-align: left;
}
.spotlight.style3 .content {
  width: calc(var(--size_inner) * 0.75 - var(--size_element_margin) * 1.75);
  max-width: 100%;
}
.spotlight.style3 figure, .spotlight.style3 canvas {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  border-radius: 0;
  border: solid 1px;
}
.spotlight.style3 figure img, .spotlight.style3 figure canvas, .spotlight.style3 figure iframe, .spotlight.style3 canvas img, .spotlight.style3 canvas canvas, .spotlight.style3 canvas iframe {
  -moz-object-fit: cover;
  -webkit-object-fit: cover;
  -ms-object-fit: cover;
  object-fit: cover;
  -moz-object-position: center;
  -webkit-object-position: center;
  -ms-object-position: center;
  object-position: center;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
.spotlight.style3 figure:before, .spotlight.style3 canvas:before {
  content: "";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  border: solid 1px;
  border-bottom: 0;
}
.spotlight.style3 figure:after, .spotlight.style3 canvas:after {
  content: "";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  border: solid 1px;
  border-top: 0;
}
.spotlight.style3 figure, .spotlight.style3 canvas {
  width: 13rem;
  height: 23.1111111111rem;
  margin-top: 2.5rem;
  margin-bottom: 5rem;
}
.spotlight.style3 figure:before, .spotlight.style3 canvas:before {
  height: 2.5rem;
  background-size: 64px 32px;
  margin-top: -2.5rem;
  border-radius: 1rem 1rem 0 0;
}
.spotlight.style3 figure:after, .spotlight.style3 canvas:after {
  height: 3rem;
  background-size: 64px 32px;
  margin-bottom: -3rem;
  border-radius: 0 0 1rem 1rem;
}
.spotlight.style3 figure, .spotlight.style3 canvas {
  margin-right: calc(var(--size_element_margin) * 1.75);
}
@media screen and (max-width: 1680px) {
  .spotlight.style3 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (var(--size_padding-xlarge))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (var(--size_padding-xlarge)));
  }
}
@media screen and (max-width: 1280px) {
  .spotlight.style3 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (var(--size_padding-large))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (var(--size_padding-large)));
  }
}
@media screen and (max-width: 980px) {
  .spotlight.style3 {
    padding: calc(1 * (calc(var(--size_padding-medium) * 1.25))) calc(1 * (var(--size_padding-medium))) calc(1 * max(calc(var(--size_padding-medium) * 1.25), max(0.1rem, calc(var(--size_padding-medium) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-medium)));
  }
  .spotlight.style3 figure, .spotlight.style3 canvas {
    width: 11.375rem;
    height: 20.2222222222rem;
    margin-top: 2.1875rem;
    margin-bottom: 4.625rem;
  }
  .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
    height: 2.1875rem;
    background-size: 56px 28px;
    margin-top: -2.1875rem;
    border-radius: 0.875rem 0.875rem 0 0;
  }
  .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
    height: 2.625rem;
    background-size: 56px 28px;
    margin-bottom: -2.625rem;
    border-radius: 0 0 0.875rem 0.875rem;
  }
}
@media screen and (max-width: 736px) {
  .spotlight.style3 {
    padding: calc(1 * (calc(var(--size_padding-small) * 1.25))) calc(1 * (var(--size_padding-small))) calc(1 * max(calc(var(--size_padding-small) * 1.25), max(0.1rem, calc(var(--size_padding-small) * 1.25) - var(--size_element_margin)))) calc(1 * (var(--size_padding-small)));
    align-items: flex-start;
  }
  .spotlight.style3 figure, .spotlight.style3 canvas {
    width: 8.125rem;
    height: 14.4444444444rem;
    margin-top: 1.5625rem;
    margin-bottom: 3.875rem;
  }
  .spotlight.style3 figure:before, .spotlight.style3 canvas:before {
    height: 1.5625rem;
    background-size: 40px 20px;
    margin-top: -1.5625rem;
    border-radius: 0.625rem 0.625rem 0 0;
  }
  .spotlight.style3 figure:after, .spotlight.style3 canvas:after {
    height: 1.875rem;
    background-size: 40px 20px;
    margin-bottom: -1.875rem;
    border-radius: 0 0 0.625rem 0.625rem;
  }
}
@media screen and (orientation: portrait) {
  .spotlight.style3 {
    align-items: center;
    flex-direction: column-reverse;
    text-align: center !important;
  }
  .spotlight.style3 .content {
    width: 34rem;
    max-width: 100%;
  }
  .spotlight.style3 figure, .spotlight.style3 canvas {
    margin-right: 0;
    margin-left: 0;
  }
}
.spotlight.style3.orient-left {
  flex-direction: row;
}
.spotlight.style3.orient-left figure, .spotlight.style3.orient-left canvas {
  margin-right: 0;
  margin-left: calc(var(--size_element_margin) * 1.75);
}
@media screen and (orientation: portrait) {
  .spotlight.style3.orient-left {
    flex-direction: column-reverse;
  }
  .spotlight.style3.orient-left figure, .spotlight.style3.orient-left canvas {
    margin-right: 0;
    margin-left: 0;
  }
}
.spotlight.style3.content-align-center {
  text-align: center;
}
.spotlight.style3.content-align-right {
  text-align: right;
}
.spotlight.style3.figure-position-left figure img, .spotlight.style3.figure-position-left figure canvas, .spotlight.style3.figure-position-left figure iframe, .spotlight.style3.figure-position-left canvas img, .spotlight.style3.figure-position-left canvas canvas, .spotlight.style3.figure-position-left canvas iframe {
  object-position: left;
}
.spotlight.style3.figure-position-right figure img, .spotlight.style3.figure-position-right figure canvas, .spotlight.style3.figure-position-right figure iframe, .spotlight.style3.figure-position-right canvas img, .spotlight.style3.figure-position-right canvas canvas, .spotlight.style3.figure-position-right canvas iframe {
  object-position: right;
}

/* Spotlight (style4) */
.spotlight.style4 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75)));
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  overflow-x: hidden;
  text-align: center;
}
.spotlight.style4 .content {
  padding: calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * max(calc(var(--size_padding-default) * 0.5), max(0.1rem, calc(var(--size_padding-default) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.5)));
  position: relative;
  width: calc(var(--size_inner) * 0.625);
  max-width: 50%;
  background-color: inherit;
  opacity: var(--misc_overlay_opacity);
  border-radius: var(--size_border_radius_alt);
  margin-bottom: var(--size_element_margin);
  z-index: 1;
}
.spotlight.style4 figure, .spotlight.style4 canvas {
  flex-grow: 0;
  flex-shrink: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
}
.spotlight.style4 figure img, .spotlight.style4 figure canvas, .spotlight.style4 figure iframe, .spotlight.style4 canvas img, .spotlight.style4 canvas canvas, .spotlight.style4 canvas iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1680px) {
  .spotlight.style4 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75)));
  }
  .spotlight.style4 .content {
    padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5)));
  }
}
@media screen and (max-width: 1280px) {
  .spotlight.style4 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
  .spotlight.style4 .content {
    padding: calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(calc(var(--size_padding-large) * 0.75), max(0.1rem, calc(var(--size_padding-large) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
}
@media screen and (max-width: 980px) {
  .spotlight.style4 {
    padding: calc(1 * (var(--size_padding-medium))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75)));
  }
  .spotlight.style4 .content {
    padding: calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 0.75), max(0.1rem, calc(var(--size_padding-medium) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75)));
  }
}
@media screen and (max-width: 736px) {
  .spotlight.style4 {
    padding: calc(1 * (var(--size_padding-small))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75)));
  }
  .spotlight.style4 .content {
    padding: calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 0.75), max(0.1rem, calc(var(--size_padding-small) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75)));
  }
}
@media screen and (max-width: 480px) {
  .spotlight.style4 .content {
    max-width: 80%;
  }
}
.spotlight.style4.fullscreen, .spotlight.style4[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .spotlight.style4.fullscreen, .spotlight.style4[data-ql-size=full] {
    min-height: 50vh;
  }
  .spotlight.style4.fullscreen div.content, .spotlight.style4[data-ql-size=full] div.content {
    min-height: none;
  }
}
.spotlight.style4.fullscreen img, .spotlight.style4.fullscreen canvas, .spotlight.style4.fullscreen iframe, .spotlight.style4[data-ql-size=full] img, .spotlight.style4[data-ql-size=full] canvas, .spotlight.style4[data-ql-size=full] iframe {
  position: relative;
}
.spotlight.style4.fullscreen:not(:has(> figure, > canvas)), .spotlight.style4[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: calc(100svh - var(--fullscreen-content-offset, clamp(6rem, 10vw, 8rem)));
}
.spotlight.style4.halfscreen, .spotlight.style4[data-ql-size=half] {
  min-height: 50vh;
}
.spotlight.style4.halfscreen div.content, .spotlight.style4[data-ql-size=half] div.content {
  min-height: none;
}
.spotlight.style4.orient-left {
  justify-content: flex-start;
  padding-left: 0;
}
.spotlight.style4.orient-left .content {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.spotlight.style4.orient-right {
  justify-content: flex-end;
  padding-right: 0;
}
.spotlight.style4.orient-right .content {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.spotlight.style4.content-align-left {
  text-align: left;
}
.spotlight.style4.content-align-right {
  text-align: right;
}
.spotlight.style4.figure-position-left figure img, .spotlight.style4.figure-position-left figure canvas, .spotlight.style4.figure-position-left figure iframe, .spotlight.style4.figure-position-left canvas img, .spotlight.style4.figure-position-left canvas canvas, .spotlight.style4.figure-position-left canvas iframe {
  object-position: left;
}
.spotlight.style4.figure-position-right figure img, .spotlight.style4.figure-position-right figure canvas, .spotlight.style4.figure-position-right figure iframe, .spotlight.style4.figure-position-right canvas img, .spotlight.style4.figure-position-right canvas canvas, .spotlight.style4.figure-position-right canvas iframe {
  object-position: right;
}

/* Spotlight (style5) */
.spotlight.style5 {
  padding: calc(1 * (var(--size_padding-default))) calc(1 * (calc(var(--size_padding-default) * 0.75))) calc(1 * max(var(--size_padding-default), max(0.1rem, var(--size_padding-default) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.75)));
  align-items: center;
  display: flex;
  justify-content: center;
  background-color: inherit;
  position: relative;
  overflow-x: hidden;
  text-align: center;
}
.spotlight.style5 .content {
  padding: calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * (calc(var(--size_padding-default) * 0.5))) calc(1 * max(calc(var(--size_padding-default) * 0.5), max(0.1rem, calc(var(--size_padding-default) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-default) * 0.5)));
  position: relative;
  width: calc(var(--size_inner) * 0.625);
  max-width: 52.5%;
  background-color: inherit;
  border-radius: var(--size_border_radius_alt);
  margin-bottom: var(--size_element_margin);
  z-index: 1;
}
.spotlight.style5 figure, .spotlight.style5 canvas {
  flex-grow: 0;
  flex-shrink: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 0;
}
.spotlight.style5 figure img, .spotlight.style5 figure canvas, .spotlight.style5 figure iframe, .spotlight.style5 canvas img, .spotlight.style5 canvas canvas, .spotlight.style5 canvas iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1680px) {
  .spotlight.style5 {
    padding: calc(1 * (var(--size_padding-xlarge))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75))) calc(1 * max(var(--size_padding-xlarge), max(0.1rem, var(--size_padding-xlarge) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.75)));
  }
  .spotlight.style5 .content {
    padding: calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5))) calc(1 * max(calc(var(--size_padding-xlarge) * 0.5), max(0.1rem, calc(var(--size_padding-xlarge) * 0.5) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-xlarge) * 0.5)));
  }
}
@media screen and (max-width: 1280px) {
  .spotlight.style5 {
    padding: calc(1 * (var(--size_padding-large))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(var(--size_padding-large), max(0.1rem, var(--size_padding-large) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
  .spotlight.style5 .content {
    padding: calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * (calc(var(--size_padding-large) * 0.75))) calc(1 * max(calc(var(--size_padding-large) * 0.75), max(0.1rem, calc(var(--size_padding-large) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-large) * 0.75)));
  }
}
@media screen and (max-width: 980px) {
  .spotlight.style5 {
    padding: calc(1 * (var(--size_padding-medium))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(var(--size_padding-medium), max(0.1rem, var(--size_padding-medium) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75)));
  }
  .spotlight.style5 .content {
    padding: calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * (calc(var(--size_padding-medium) * 0.75))) calc(1 * max(calc(var(--size_padding-medium) * 0.75), max(0.1rem, calc(var(--size_padding-medium) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-medium) * 0.75)));
  }
}
@media screen and (max-width: 736px) {
  .spotlight.style5 {
    padding: calc(1 * (var(--size_padding-small))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(var(--size_padding-small), max(0.1rem, var(--size_padding-small) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75)));
  }
  .spotlight.style5 .content {
    padding: calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * (calc(var(--size_padding-small) * 0.75))) calc(1 * max(calc(var(--size_padding-small) * 0.75), max(0.1rem, calc(var(--size_padding-small) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--size_padding-small) * 0.75)));
  }
}
@media screen and (max-width: 480px) {
  .spotlight.style5 .content {
    max-width: 80%;
  }
}
.spotlight.style5.fullscreen, .spotlight.style5[data-ql-size=full] {
  min-height: 100vh;
}
@media screen and (orientation: portrait) {
  .spotlight.style5.fullscreen, .spotlight.style5[data-ql-size=full] {
    min-height: 50vh;
  }
  .spotlight.style5.fullscreen div.content, .spotlight.style5[data-ql-size=full] div.content {
    min-height: none;
  }
}
.spotlight.style5.fullscreen:not(:has(> figure, > canvas)), .spotlight.style5[data-ql-size=full]:not(:has(> figure, > canvas)) {
  min-height: calc(100svh - var(--fullscreen-content-offset, clamp(6rem, 10vw, 8rem)));
}
.spotlight.style5.halfscreen, .spotlight.style5[data-ql-size=half] {
  min-height: 50vh;
}
.spotlight.style5.halfscreen div.content, .spotlight.style5[data-ql-size=half] div.content {
  min-height: none;
}
.spotlight.style5.orient-left {
  justify-content: flex-start;
}
.spotlight.style5.orient-right {
  justify-content: flex-end;
}
.spotlight.style5.content-align-left {
  text-align: left;
}
.spotlight.style5.content-align-right {
  text-align: right;
}
.spotlight.style5.figure-position-left figure img, .spotlight.style5.figure-position-left figure canvas, .spotlight.style5.figure-position-left figure iframe, .spotlight.style5.figure-position-left canvas img, .spotlight.style5.figure-position-left canvas canvas, .spotlight.style5.figure-position-left canvas iframe {
  object-position: left;
}
.spotlight.style5.figure-position-right figure img, .spotlight.style5.figure-position-right figure canvas, .spotlight.style5.figure-position-right figure iframe, .spotlight.style5.figure-position-right canvas img, .spotlight.style5.figure-position-right canvas canvas, .spotlight.style5.figure-position-right canvas iframe {
  object-position: right;
}

.spotlight figure, .spotlight canvas {
  background-color: rgba(239, 239, 239, 0.225);
}
.spotlight.invert figure, .spotlight.invert canvas {
  background-color: rgba(255, 255, 255, 0.125);
}

.spotlight.style3 figure, .spotlight.style3 canvas {
  border-color: rgba(1, 1, 1, 0.2);
  background-color: rgba(1, 1, 1, 0.2);
  border-width: 0;
}
.spotlight.style3 figure:before, .spotlight.style3 canvas:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgba(1, 1, 1, 0.2);
  width: 100%;
}
.spotlight.style3 figure:after, .spotlight.style3 canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgba(1, 1, 1, 0.2);
  width: 100%;
}
.spotlight.style3.android figure:after, .spotlight.style3.android canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(1, 1, 1, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}
.spotlight.style3.invert figure, .spotlight.style3.invert canvas {
  border-color: rgb(255, 255, 255);
  background-color: rgb(255, 255, 255);
  border-width: 1px;
}
.spotlight.style3.invert figure:before, .spotlight.style3.invert canvas:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
.spotlight.style3.invert figure:after, .spotlight.style3.invert canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
.spotlight.style3.invert.android figure:after, .spotlight.style3.invert.android canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Gallery (transitions) */
.gallery.onload-fade-in article figure img, .gallery.onload-fade-in article figure svg {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--misc_gallery_limit) * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(1) figure img, .gallery.onload-fade-in article:nth-child(1) figure svg {
  transition-delay: calc(0 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(2) figure img, .gallery.onload-fade-in article:nth-child(2) figure svg {
  transition-delay: calc(1 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(3) figure img, .gallery.onload-fade-in article:nth-child(3) figure svg {
  transition-delay: calc(2 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(4) figure img, .gallery.onload-fade-in article:nth-child(4) figure svg {
  transition-delay: calc(3 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(5) figure img, .gallery.onload-fade-in article:nth-child(5) figure svg {
  transition-delay: calc(4 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(6) figure img, .gallery.onload-fade-in article:nth-child(6) figure svg {
  transition-delay: calc(5 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(7) figure img, .gallery.onload-fade-in article:nth-child(7) figure svg {
  transition-delay: calc(6 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(8) figure img, .gallery.onload-fade-in article:nth-child(8) figure svg {
  transition-delay: calc(7 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(9) figure img, .gallery.onload-fade-in article:nth-child(9) figure svg {
  transition-delay: calc(8 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(10) figure img, .gallery.onload-fade-in article:nth-child(10) figure svg {
  transition-delay: calc(9 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(11) figure img, .gallery.onload-fade-in article:nth-child(11) figure svg {
  transition-delay: calc(10 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(12) figure img, .gallery.onload-fade-in article:nth-child(12) figure svg {
  transition-delay: calc(11 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(13) figure img, .gallery.onload-fade-in article:nth-child(13) figure svg {
  transition-delay: calc(12 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(14) figure img, .gallery.onload-fade-in article:nth-child(14) figure svg {
  transition-delay: calc(13 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(15) figure img, .gallery.onload-fade-in article:nth-child(15) figure svg {
  transition-delay: calc(14 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(16) figure img, .gallery.onload-fade-in article:nth-child(16) figure svg {
  transition-delay: calc(15 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(17) figure img, .gallery.onload-fade-in article:nth-child(17) figure svg {
  transition-delay: calc(16 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(18) figure img, .gallery.onload-fade-in article:nth-child(18) figure svg {
  transition-delay: calc(17 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(19) figure img, .gallery.onload-fade-in article:nth-child(19) figure svg {
  transition-delay: calc(18 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(20) figure img, .gallery.onload-fade-in article:nth-child(20) figure svg {
  transition-delay: calc(19 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(21) figure img, .gallery.onload-fade-in article:nth-child(21) figure svg {
  transition-delay: calc(20 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(22) figure img, .gallery.onload-fade-in article:nth-child(22) figure svg {
  transition-delay: calc(21 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(23) figure img, .gallery.onload-fade-in article:nth-child(23) figure svg {
  transition-delay: calc(22 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(24) figure img, .gallery.onload-fade-in article:nth-child(24) figure svg {
  transition-delay: calc(23 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(25) figure img, .gallery.onload-fade-in article:nth-child(25) figure svg {
  transition-delay: calc(24 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(26) figure img, .gallery.onload-fade-in article:nth-child(26) figure svg {
  transition-delay: calc(25 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(27) figure img, .gallery.onload-fade-in article:nth-child(27) figure svg {
  transition-delay: calc(26 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(28) figure img, .gallery.onload-fade-in article:nth-child(28) figure svg {
  transition-delay: calc(27 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(29) figure img, .gallery.onload-fade-in article:nth-child(29) figure svg {
  transition-delay: calc(28 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(30) figure img, .gallery.onload-fade-in article:nth-child(30) figure svg {
  transition-delay: calc(29 * var(--duration_gallery_delay));
}
.gallery.onload-fade-in article:nth-child(31) figure img, .gallery.onload-fade-in article:nth-child(31) figure svg {
  transition-delay: calc(30 * var(--duration_gallery_delay));
}
body.is-preload .gallery.onload-fade-in article figure img, body.is-preload .gallery.onload-fade-in article figure svg {
  opacity: 0;
}
.gallery.onscroll-fade-in article figure img, .gallery.onscroll-fade-in article figure svg {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--misc_gallery_limit) * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(1) figure img, .gallery.onscroll-fade-in article:nth-child(1) figure svg {
  transition-delay: calc(0 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(2) figure img, .gallery.onscroll-fade-in article:nth-child(2) figure svg {
  transition-delay: calc(1 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(3) figure img, .gallery.onscroll-fade-in article:nth-child(3) figure svg {
  transition-delay: calc(2 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(4) figure img, .gallery.onscroll-fade-in article:nth-child(4) figure svg {
  transition-delay: calc(3 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(5) figure img, .gallery.onscroll-fade-in article:nth-child(5) figure svg {
  transition-delay: calc(4 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(6) figure img, .gallery.onscroll-fade-in article:nth-child(6) figure svg {
  transition-delay: calc(5 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(7) figure img, .gallery.onscroll-fade-in article:nth-child(7) figure svg {
  transition-delay: calc(6 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(8) figure img, .gallery.onscroll-fade-in article:nth-child(8) figure svg {
  transition-delay: calc(7 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(9) figure img, .gallery.onscroll-fade-in article:nth-child(9) figure svg {
  transition-delay: calc(8 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(10) figure img, .gallery.onscroll-fade-in article:nth-child(10) figure svg {
  transition-delay: calc(9 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(11) figure img, .gallery.onscroll-fade-in article:nth-child(11) figure svg {
  transition-delay: calc(10 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(12) figure img, .gallery.onscroll-fade-in article:nth-child(12) figure svg {
  transition-delay: calc(11 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(13) figure img, .gallery.onscroll-fade-in article:nth-child(13) figure svg {
  transition-delay: calc(12 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(14) figure img, .gallery.onscroll-fade-in article:nth-child(14) figure svg {
  transition-delay: calc(13 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(15) figure img, .gallery.onscroll-fade-in article:nth-child(15) figure svg {
  transition-delay: calc(14 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(16) figure img, .gallery.onscroll-fade-in article:nth-child(16) figure svg {
  transition-delay: calc(15 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(17) figure img, .gallery.onscroll-fade-in article:nth-child(17) figure svg {
  transition-delay: calc(16 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(18) figure img, .gallery.onscroll-fade-in article:nth-child(18) figure svg {
  transition-delay: calc(17 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(19) figure img, .gallery.onscroll-fade-in article:nth-child(19) figure svg {
  transition-delay: calc(18 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(20) figure img, .gallery.onscroll-fade-in article:nth-child(20) figure svg {
  transition-delay: calc(19 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(21) figure img, .gallery.onscroll-fade-in article:nth-child(21) figure svg {
  transition-delay: calc(20 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(22) figure img, .gallery.onscroll-fade-in article:nth-child(22) figure svg {
  transition-delay: calc(21 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(23) figure img, .gallery.onscroll-fade-in article:nth-child(23) figure svg {
  transition-delay: calc(22 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(24) figure img, .gallery.onscroll-fade-in article:nth-child(24) figure svg {
  transition-delay: calc(23 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(25) figure img, .gallery.onscroll-fade-in article:nth-child(25) figure svg {
  transition-delay: calc(24 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(26) figure img, .gallery.onscroll-fade-in article:nth-child(26) figure svg {
  transition-delay: calc(25 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(27) figure img, .gallery.onscroll-fade-in article:nth-child(27) figure svg {
  transition-delay: calc(26 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(28) figure img, .gallery.onscroll-fade-in article:nth-child(28) figure svg {
  transition-delay: calc(27 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(29) figure img, .gallery.onscroll-fade-in article:nth-child(29) figure svg {
  transition-delay: calc(28 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(30) figure img, .gallery.onscroll-fade-in article:nth-child(30) figure svg {
  transition-delay: calc(29 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in article:nth-child(31) figure img, .gallery.onscroll-fade-in article:nth-child(31) figure svg {
  transition-delay: calc(30 * var(--duration_gallery_delay));
}
.gallery.onscroll-fade-in.is-inactive article figure img, .gallery.onscroll-fade-in.is-inactive article figure svg {
  opacity: 0;
}

/* Gallery (style1) */
.gallery.style1 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  width: 100%;
  background-color: transparent;
}
.gallery.style1 > .forward,
.gallery.style1 > .backward {
  display: none;
}
.gallery.style1 > .inner {
  align-items: inherit;
  display: inherit;
  flex-wrap: inherit;
  justify-content: inherit;
}
.gallery.style1 article {
  overflow: hidden;
  position: relative;
  width: 25%;
}
.gallery.style1 article figure {
  transition: opacity var(--duration_transition) ease-in-out;
  display: block;
  width: 100%;
  border-radius: 0;
  width: 3.5rem;
}
.gallery.style1 article figure img, .gallery.style1 article figure svg {
  display: block;
  width: 100%;
  border-radius: 0;
}
.gallery.style1 article .caption {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
  transition: opacity var(--duration_transition) ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, var(--misc_overlay_opacity));
  opacity: 0;
  padding: 2rem;
  z-index: 1;
  font-size: 0.8rem;
}
.gallery.style1 article .caption a {
  pointer-events: auto;
}
.gallery.style1 article .caption h2, .gallery.style1 article .caption h3, .gallery.style1 article .caption h4, .gallery.style1 article .caption h5, .gallery.style1 article .caption h6 {
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
}
.gallery.style1 article .caption > * {
  max-width: 100%;
  margin-bottom: 1rem;
}
.gallery.style1 article .caption > :last-child {
  margin-bottom: 0;
}
.gallery.style1 article:hover .caption {
  opacity: 1;
}
@media screen and (min-width: 1280px) and (max-width: 1280px) {
  .gallery.style1 article {
    width: 33.3333333333%;
  }
  .gallery.style1 article .caption {
    padding: 1rem;
  }
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style1 article {
    width: 50%;
  }
  .gallery.style1 article .caption {
    padding: 1rem;
  }
}
@media screen and (min-width: 480px) and (max-width: 480px) {
  .gallery.style1 article {
    width: 100%;
  }
  .gallery.style1 article .caption {
    padding: 1rem;
  }
}
.gallery.style1.small article {
  width: 20%;
}
.gallery.style1.small article .caption {
  padding: 1rem;
}
@media screen and (min-width: 1280px) and (max-width: 1280px) {
  .gallery.style1.small article {
    width: 25%;
  }
  .gallery.style1.small article .caption {
    padding: 1rem;
  }
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style1.small article {
    width: 33.3333333333%;
  }
  .gallery.style1.small article .caption {
    padding: 1rem;
  }
}
@media screen and (min-width: 736px) and (max-width: 736px) {
  .gallery.style1.small article {
    width: 50%;
  }
  .gallery.style1.small article .caption {
    padding: 1rem;
  }
}
.gallery.style1.big article {
  width: 33.3333333333%;
}
.gallery.style1.big article .caption {
  padding: 3rem;
}
@media screen and (min-width: 1280px) and (max-width: 1280px) {
  .gallery.style1.big article {
    width: 50%;
  }
  .gallery.style1.big article .caption {
    padding: 2rem;
  }
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style1.big article {
    width: 50%;
  }
  .gallery.style1.big article .caption {
    padding: 2rem;
  }
}
@media screen and (min-width: 480px) and (max-width: 480px) {
  .gallery.style1.big article {
    width: 100%;
  }
  .gallery.style1.big article .caption {
    padding: 1rem;
  }
}

/* Gallery (style2) */
.gallery.style2 {
  display: flex;
  -webkit-overflow-scrolling: touch;
  position: relative;
  background-color: transparent;
}
.gallery.style2 > .forward,
.gallery.style2 > .backward {
  transition: opacity var(--duration_transition) ease-in-out;
  position: absolute;
  top: 0;
  width: 5rem;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
}
.gallery.style2 > .forward:before,
.gallery.style2 > .backward:before {
  display: block;
  top: calc(50% - 1.5rem);
  width: 4rem;
  height: 3rem;
  line-height: 1em;
  font-size: 3rem;
  position: absolute;
  text-align: center;
}
.gallery.style2:hover > .forward,
.gallery.style2:hover > .backward {
  opacity: 1;
}
.gallery.style2 > .forward {
  right: 0;
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0));
}
.gallery.style2 > .forward:before {
  content: "\f105";
  right: 0;
}
.gallery.style2 > .backward {
  left: 0;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25) 15%, rgba(0, 0, 0, 0));
}
.gallery.style2 > .backward:before {
  content: "\f104";
  left: 0;
}
.gallery.style2 > .inner {
  display: inherit;
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
  width: 100%;
}
.gallery.style2 article {
  flex-grow: 0;
  flex-shrink: 0;
  display: block;
  position: relative;
  overflow: hidden;
  width: 22.5rem;
  max-width: 75vw;
}
.gallery.style2 article figure {
  display: block;
  width: 100%;
  border-radius: 0;
}
.gallery.style2 article figure img, .gallery.style2 article figure svg {
  display: block;
  width: 100%;
  border-radius: 0;
}
.gallery.style2 article .caption {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
  transition: opacity var(--duration_transition) ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, var(--misc_overlay_opacity));
  opacity: 0;
  padding: 3rem;
  z-index: 1;
  font-size: 0.8rem;
}
.gallery.style2 article .caption a {
  pointer-events: auto;
}
.gallery.style2 article .caption h2, .gallery.style2 article .caption h3, .gallery.style2 article .caption h4, .gallery.style2 article .caption h5, .gallery.style2 article .caption h6 {
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
}
.gallery.style2 article .caption > * {
  max-width: 100%;
  margin-bottom: 1rem;
}
.gallery.style2 article .caption > :last-child {
  margin-bottom: 0;
}
.gallery.style2 article:hover .caption {
  opacity: 1;
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style2 article .caption {
    padding: 2rem;
  }
}
@media screen and (min-width: 736px) and (max-width: 736px) {
  .gallery.style2 article .caption {
    padding: 2rem;
  }
}
.gallery.style2.small article {
  width: 17.5rem;
}
.gallery.style2.small article .caption {
  padding: 2rem;
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style2.small article .caption {
    padding: 2rem;
  }
}
@media screen and (min-width: 736px) and (max-width: 736px) {
  .gallery.style2.small article .caption {
    padding: 2rem;
  }
}
.gallery.style2.big article {
  width: 30rem;
}
.gallery.style2.big article .caption {
  padding: 4rem;
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.style2.big article .caption {
    padding: 3rem;
  }
}
@media screen and (min-width: 736px) and (max-width: 736px) {
  .gallery.style2.big article .caption {
    padding: 2rem;
  }
}

/* Gallery (lightbox) */
.pswp__img {
  background: var(--bg);
}

@keyframes gallery-modal-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.gallery.lightbox .modal {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  user-select: none;
  transition: opacity var(--duration_gallery_lightbox) ease, visibility var(--duration_gallery_lightbox), z-index var(--duration_gallery_lightbox);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  outline: 0;
  background-color: rgba(0, 0, 0, var(--misc_lightbox_opacity));
  visibility: hidden;
  opacity: 0;
  z-index: 0;
}
.gallery.lightbox .modal:before {
  animation: gallery-modal-spinner 1s infinite linear;
  transition: opacity calc(var(--duration_gallery_lightbox) * 0.5) ease;
  transition-delay: var(--duration_gallery_lightbox);
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4rem;
  height: 4rem;
  margin: -2rem 0 0 -2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cstyle%3Ecircle %7Bfill: transparent; stroke: %23ffffff; stroke-width: 1.5px; %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 4rem;
  opacity: 0;
}
.gallery.lightbox .modal:after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cstyle%3Eline %7Bstroke: %23ffffff; stroke-width: 1.5px;%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 3rem;
}
.gallery.lightbox .modal .inner {
  transform: translateY(0.75rem);
  transition: opacity calc(var(--duration_gallery_lightbox) * 0.5) ease, transform calc(var(--duration_gallery_lightbox) * 0.5) ease;
  opacity: 0;
}
.gallery.lightbox .modal .inner img, .gallery.lightbox .modal .inner svg {
  display: block;
  max-width: 90vw;
  max-height: 85vh;
  box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35);
}
.gallery.lightbox .modal.visible {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  z-index: calc(var(--misc_z_index_base) + 1);
}
.gallery.lightbox .modal.visible:before {
  opacity: 1;
}
.gallery.lightbox .modal.loaded .inner {
  transform: translateY(0);
  transition: opacity var(--duration_gallery_lightbox) ease, transform var(--duration_gallery_lightbox) ease;
  opacity: 1;
}
.gallery.lightbox .modal.loaded:before {
  transition-delay: 0s;
  opacity: 0;
}
@media screen and (min-width: 980px) and (max-width: 980px) {
  .gallery.lightbox .modal .inner img, .gallery.lightbox .modal .inner svg {
    max-width: 100vw;
  }
}

.gallery.style1 figure img,
.gallery.style1 figure svg {
  max-width: 100%;
  max-height: 10vw;
}

.gallery article figure {
  background-color: rgba(0, 0, 0, 0.125);
}

@media (orientation: portrait) {
  .figure-inline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 2rem auto;
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 100vh;
  }
  .figure-inline figure {
    width: 100%;
    height: 100%;
    margin: 0;
    max-width: 400px;
    max-height: 100vh;
  }
  .figure-inline figure a, .figure-inline figure img {
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 100vh;
  }
}
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Wrapper (style1) */
:is(.ql-section, .wrapper, .banner, .spotlight) {
  margin-block-start: var(--section-gap-before, 0);
  margin-block-end: var(--section-gap-after, 0);
  /* Density modifiers rebind the shared surface rhythm to inherited main-scope values. */
}
:is(.ql-section, .wrapper, .banner, .spotlight).space-none {
  --section-gap-before: var(--section-gap-none);
  --section-gap-after: var(--section-gap-none);
}
:is(.ql-section, .wrapper, .banner, .spotlight).space-tight {
  --section-gap-before: var(--section-gap-tight);
  --section-gap-after: var(--section-gap-tight);
}
:is(.ql-section, .wrapper, .banner, .spotlight).space-normal {
  --section-gap-before: var(--surface-section-gap-y, var(--section-gap-normal));
  --section-gap-after: var(--surface-section-gap-y, var(--section-gap-normal));
}
:is(.ql-section, .wrapper, .banner, .spotlight).space-roomy {
  --section-gap-before: var(--section-gap-roomy);
  --section-gap-after: var(--section-gap-roomy);
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-none {
  --section-padding-top: 0rem;
  --section-padding-bottom: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-tight {
  --section-padding-top: var(--section-padding-y-tight);
  --section-padding-bottom: var(--section-padding-y-tight);
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-normal {
  --section-padding-top: var(--surface-section-padding-y, var(--section-padding-y-normal));
  --section-padding-bottom: var(--surface-section-padding-y, var(--section-padding-y-normal));
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-roomy {
  --section-padding-top: var(--section-padding-y-roomy);
  --section-padding-bottom: var(--section-padding-y-roomy);
}
:is(.ql-section, .wrapper, .banner, .spotlight).squeeze-bottom {
  --section-gap-after: var(--section-gap-none);
  --section-padding-bottom: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).squeeze-top {
  --section-gap-before: var(--section-gap-none);
  --section-padding-top: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-bottom {
  --section-gap-after: var(--section-gap-roomy);
  --section-padding-bottom: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad-top {
  --section-gap-before: var(--section-gap-roomy);
  --section-padding-top: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).squeeze {
  --section-gap-before: var(--section-gap-none);
  --section-gap-after: var(--section-gap-none);
  --section-padding-top: 0rem;
  --section-padding-bottom: 0rem;
}
:is(.ql-section, .wrapper, .banner, .spotlight).pad {
  --section-gap-before: var(--section-gap-roomy);
  --section-gap-after: var(--section-gap-roomy);
}
:is(.ql-section, .wrapper, .banner, .spotlight).density-tight {
  --surface-section-padding-y: calc(var(--main-section-padding-y, var(--section-padding-y-normal)) * 0.85);
  --surface-section-gap-y: calc(var(--main-section-gap-y, var(--section-gap-normal)) * 0.85);
  --surface-structured-gap: calc(var(--main-structured-gap, var(--section-gap-tight)) * 0.85);
  --surface-compact-padding-y: calc(var(--main-compact-padding-y, var(--section-padding-y-tight)) * 0.9);
  --surface-component-gap: calc(var(--main-component-gap, 1.25rem) * 0.9);
  --surface-body-line-height: calc(var(--main-body-line-height, 1.65) * 0.97);
  --surface-heading-line-height: calc(var(--main-heading-line-height, 1.375) * 0.98);
  --surface-paragraph-gap: calc(var(--main-paragraph-gap, var(--size_element_margin)) * 0.9);
  --surface-heading-gap: calc(var(--main-heading-gap, calc(var(--size_element_margin) * 0.5)) * 0.9);
}
:is(.ql-section, .wrapper, .banner, .spotlight).density-normal {
  --surface-section-padding-y: var(--main-section-padding-y, var(--section-padding-y-normal));
  --surface-section-gap-y: var(--main-section-gap-y, var(--section-gap-normal));
  --surface-structured-gap: var(--main-structured-gap, var(--section-gap-tight));
  --surface-compact-padding-y: var(--main-compact-padding-y, var(--section-padding-y-tight));
  --surface-component-gap: var(--main-component-gap, 1.25rem);
  --surface-body-line-height: var(--main-body-line-height, 1.65);
  --surface-heading-line-height: var(--main-heading-line-height, 1.375);
  --surface-paragraph-gap: var(--main-paragraph-gap, var(--size_element_margin));
  --surface-heading-gap: var(--main-heading-gap, calc(var(--size_element_margin) * 0.5));
}
:is(.ql-section, .wrapper, .banner, .spotlight).density-roomy {
  --surface-section-padding-y: calc(var(--main-section-padding-y, var(--section-padding-y-normal)) * 1.15);
  --surface-section-gap-y: calc(var(--main-section-gap-y, var(--section-gap-normal)) * 1.15);
  --surface-structured-gap: calc(var(--main-structured-gap, var(--section-gap-tight)) * 1.1);
  --surface-compact-padding-y: calc(var(--main-compact-padding-y, var(--section-padding-y-tight)) * 1.1);
  --surface-component-gap: calc(var(--main-component-gap, 1.25rem) * 1.1);
  --surface-body-line-height: calc(var(--main-body-line-height, 1.65) * 1.03);
  --surface-heading-line-height: calc(var(--main-heading-line-height, 1.375) * 1.02);
  --surface-paragraph-gap: calc(var(--main-paragraph-gap, var(--size_element_margin)) * 1.1);
  --surface-heading-gap: calc(var(--main-heading-gap, calc(var(--size_element_margin) * 0.5)) * 1.1);
}

/*
  The first rendered section in <main> should start flush with the main surface.
  Outer section rhythm is for section-to-section spacing, not header-to-main spacing.
*/
main > :is(.ql-section, .wrapper, .banner, .spotlight):first-of-type {
  --section-gap-before: var(--section-gap-none);
}

:is(.ql-section, .wrapper, .banner, .spotlight):has(> .content > :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.actions.special,
ul.actions.special)) {
  --section-gap-after: var(--section-gap-tight);
}

:is(.ql-section, .wrapper, .banner, .spotlight):has(+ :is(.ql-section, .wrapper, .banner, .spotlight) > .content > :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.actions.special,
ul.actions.special)) {
  --section-gap-after: var(--section-gap-tight);
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content > :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note) + :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.actions.special,
ul.actions.special) {
  margin-top: var(--surface-structured-gap, var(--section-gap-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content > :is(.kicker,
.ql-kicker,
p.lead,
h1,
h2,
h3,
h4,
h5,
h6) + :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.actions.special,
ul.actions.special) {
  margin-top: var(--surface-structured-gap, var(--section-gap-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content > :is(.actions.special,
ul.actions.special) + :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.ql-facts) {
  margin-top: var(--surface-structured-gap, var(--section-gap-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> :is(.ql-note:only-child,
ul.actions.special:only-child,
.actions.special:only-child,
.ql-facts:only-child)) {
  --section-padding-top: var(--surface-compact-padding-y, var(--section-padding-y-tight));
  --section-padding-bottom: var(--surface-compact-padding-y, var(--section-padding-y-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> h4:only-child),
:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> h4:first-child:last-child > time:only-child) {
  --section-padding-top: var(--surface-compact-padding-y, var(--section-padding-y-tight));
  --section-padding-bottom: var(--surface-compact-padding-y, var(--section-padding-y-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight):not(.intro-card):not([data-ql-size=full]):not([data-ql-size=half]) > .content:has(> :is(h1, h2, h3):first-child + p:last-child) {
  --section-padding-top: var(--surface-compact-padding-y, var(--section-padding-y-tight));
  --section-padding-bottom: var(--surface-compact-padding-y, var(--section-padding-y-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> :is(h1,
h2,
h3,
h4,
h5,
h6,
.kicker,
.ql-kicker,
p.lead):first-child + :is(.ql-grid-2,
.ql-grid-3,
.ql-grid-4,
.ql-steps,
.ql-testimonial-grid,
.ql-trust-grid,
.ql-price-grid,
.ql-activity-grid,
.ql-gallery-grid,
.ql-team-grid,
.ql-contact-grid,
.ql-faq-grid,
.ql-note,
.actions.special,
ul.actions.special):last-child) {
  --section-padding-top: var(--surface-compact-padding-y, var(--section-padding-y-tight));
  --section-padding-bottom: var(--surface-compact-padding-y, var(--section-padding-y-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> :is(h4, h5, h6):first-child + p:last-child),
:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> :is(h4, h5, h6):first-child + p + :is(.actions.special, ul.actions.special):last-child),
:is(.ql-section, .wrapper, .banner, .spotlight) > .content:has(> :is(h4, h5, h6):first-child + .ql-note:last-child) {
  --section-padding-top: var(--surface-compact-padding-y, var(--section-padding-y-tight));
  --section-padding-bottom: var(--surface-compact-padding-y, var(--section-padding-y-tight));
}

:is(.ql-section, .wrapper, .banner, .spotlight):is([data-ql-flow=figure_led]) > figure[data-ql-editable=media] + .content,
:is(.ql-section, .wrapper, .banner, .spotlight):is([data-ql-flow=figure_led]) > .content + figure[data-ql-editable=media] {
  margin-top: var(--surface-structured-gap, var(--section-gap-tight));
}

.ql-gallery-grid {
  display: grid;
  gap: var(--surface-component-gap, 1.25rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ql-gallery-item {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: var(--surface-gallery-card-radius, 1.4rem);
  background: var(--surface-gallery-card-bg, color-mix(in srgb, var(--bg, #ffffff) 92%, white 8%));
  border: 1px solid var(--surface-gallery-card-border, color-mix(in srgb, var(--border, rgba(0, 0, 0, 0.12)) 72%, transparent));
  box-shadow: var(--surface-gallery-card-shadow, 0 24px 60px rgba(0, 0, 0, 0.14));
  transform: translateY(0);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.ql-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--surface-gallery-card-shadow-hover, 0 30px 70px rgba(0, 0, 0, 0.18));
}
.ql-gallery-item > a {
  display: block;
}
.ql-gallery-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.ql-gallery-item figcaption {
  padding: 1rem 1.05rem 1.15rem;
  color: var(--fg, inherit);
  font-size: 0.95rem;
  line-height: 1.6;
}
.ql-gallery-item figcaption > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 980px) {
  .ql-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 736px) {
  .ql-gallery-grid {
    grid-template-columns: 1fr;
  }
}
.wrapper.style1 > .content {
  padding: var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-xlarge) * 0.5))) var(--section-padding-x, var(--surface-section-padding-x, calc(var(--size_padding-xlarge) * 0.5))) var(--section-padding-bottom, var(--surface-section-padding-y, calc(var(--size_padding-xlarge) * 0.5))) var(--section-padding-x, var(--surface-section-padding-x, calc(var(--size_padding-xlarge) * 0.5)));
  margin: 0 auto;
  max-width: 100%;
  width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose, var(--size_inner))));
}
.wrapper.style1 > .content.medium {
  width: var(--content-max-width-medium, calc(var(--size_inner) * 0.75));
}
.wrapper.style1 > .content.small {
  width: var(--content-max-width-narrow, calc(var(--size_inner) * 0.5));
}
.wrapper.style1:is([data-ql-flow=figure_led]) > .content {
  width: var(--section-content-max-width, var(--figure-led-content-max-width, var(--content-max-width-wide, var(--size_inner))));
}
@media screen and (max-width: 1680px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-xlarge) * 0.5))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, calc(var(--size_padding-xlarge) * 0.5))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-xlarge) * 0.5))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-xlarge) * 0.5))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, calc(var(--size_padding-xlarge) * 0.5)))));
  }
}
@media screen and (max-width: 1280px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-large) * 0.5))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-large) * 0.5))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-large) * 0.5))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large)))));
  }
}
@media screen and (max-width: 980px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-medium) * 0.5))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-medium) * 0.5))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, calc(var(--size_padding-medium) * 0.5))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium)))));
  }
}
@media screen and (max-width: 736px) {
  .wrapper.style1 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small))))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))) - var(--size_element_margin)))) calc(1 * (var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small)))));
  }
}

/* Wrapper (style2) */
.wrapper.style2 {
  padding: var(--size_padding-default);
  background: var(--bg_alt);
}
.wrapper.style2 > .content {
  padding: calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-default))) * 0.75) calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default))) * 0.5) calc(var(--section-padding-bottom, var(--surface-section-padding-y, var(--size_padding-default))) * 0.75) calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-default))) * 0.5);
  background: var(--bg);
  border-radius: var(--size_border_radius_alt);
  margin: 0 auto;
  max-width: 100%;
  position: relative;
  width: var(--section-content-max-width, var(--surface-content-max-width, var(--content-max-width-prose, var(--size_inner))));
  z-index: 1;
}
.wrapper.style2 > .content.medium {
  width: var(--content-max-width-medium, calc(var(--size_inner) * 0.75));
}
.wrapper.style2 > .content.small {
  width: var(--content-max-width-narrow, calc(var(--size_inner) * 0.5));
}
.wrapper.style2:is([data-ql-flow=figure_led]) > .content {
  width: var(--section-content-max-width, var(--figure-led-content-max-width, var(--content-max-width-wide, var(--size_inner))));
}
@media screen and (max-width: 1680px) {
  .wrapper.style2 {
    padding: var(--size_padding-xlarge);
  }
  .wrapper.style2 > .content {
    padding: calc(1 * (calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))) * 0.75))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-xlarge))) * 0.5))) calc(1 * max(calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))) * 0.75), max(0.1rem, calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-xlarge))) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-xlarge))) * 0.5)));
  }
}
@media screen and (max-width: 1280px) {
  .wrapper.style2 {
    padding: var(--size_padding-large);
  }
  .wrapper.style2 > .content {
    padding: calc(1 * (calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))) * 0.75))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large))) * 0.5))) calc(1 * max(calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))) * 0.75), max(0.1rem, calc(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-large))) * 0.75) - var(--size_element_margin)))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-large))) * 0.5)));
  }
}
@media screen and (max-width: 980px) {
  .wrapper.style2 {
    padding: calc(var(--size_padding-medium) * 0.75);
  }
  .wrapper.style2 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium))) * 0.75))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-medium))) - var(--size_element_margin)))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-medium))) * 0.75)));
  }
}
@media screen and (max-width: 736px) {
  .wrapper.style2 {
    padding: calc(var(--size_padding-small) * 0.75);
  }
  .wrapper.style2 > .content {
    padding: calc(1 * (var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small))) * 0.75))) calc(1 * max(var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))), max(0.1rem, var(--section-padding-top, var(--surface-section-padding-y, var(--size_padding-small))) - var(--size_element_margin)))) calc(1 * (calc(var(--section-padding-x, var(--surface-section-padding-x, var(--size_padding-small))) * 0.75)));
  }
}

#wrapper > .wrapper.style2.invert > .content {
  background: var(--invert_bg);
}

.wrapper > .content.width-prose {
  width: var(--content-max-width-prose);
}
.wrapper > .content.width-medium {
  width: var(--content-max-width-medium);
}
.wrapper > .content.width-narrow {
  width: var(--content-max-width-narrow);
}
.wrapper > .content.width-wide {
  width: var(--content-max-width-wide);
}
.wrapper > .content.width-full {
  width: var(--content-max-width-full);
}
.wrapper > .content.columns-2,
.wrapper > .content.columns-3,
.wrapper > .content.columns-4,
.wrapper > .content.cols-2,
.wrapper > .content.cols-3,
.wrapper > .content.cols-4 {
  column-fill: balance;
  column-gap: clamp(1rem, 2.25vw, 2.1rem);
}
.wrapper > .content.columns-2,
.wrapper > .content.cols-2 {
  column-count: 2;
}
.wrapper > .content.columns-3,
.wrapper > .content.cols-3 {
  column-count: 3;
}
.wrapper > .content.columns-4,
.wrapper > .content.cols-4 {
  column-count: 4;
}
.wrapper > .content.row,
.wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4) {
  align-content: flex-start;
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}
.wrapper {
  /* Structured editing sections should not inherit the roomy prose-wrapper spacing
     above and below them, otherwise short rows sit in large white gaps. */
}
.wrapper:has(> .content.row) > .content, .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content {
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}
.wrapper:has(+ .wrapper > .content.row) > .content, .wrapper:has(+ .wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content {
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}
.wrapper:has(> .content.row) + .wrapper > .content, .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) + .wrapper > .content {
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
}
.wrapper {
  /* Legacy repair: early 2-col row inserts were saved as col-4/col-12-medium.
     When there are exactly two such children, treat them as halves. */
}
.wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2),
.wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2) ~ .col-4.col-12-medium {
  width: 50%;
}
.wrapper {
  /* Editor-created rows are still useful even if child col-* attrs are absent or stale.
     In the common 2-item case, keep them side-by-side instead of collapsing to text width. */
}
.wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2),
.wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2) ~ :not(.nt-block-actions-anchor):not([class*=col-]) {
  flex: 0 0 50%;
  max-width: 50%;
  width: 50%;
}
.wrapper:is([data-ql-size=full]) > .content.row, .wrapper:is([data-ql-size=full]) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4), .wrapper:is([data-ql-size=half]) > .content.row, .wrapper:is([data-ql-size=half]) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4) {
  height: auto;
  min-height: auto;
}
.wrapper > .content.columns-rule,
.wrapper > .content.cols-rule {
  column-rule: 1px solid color-mix(in srgb, var(--color-text, var(--text)) 22%, transparent);
}
.wrapper > .content.columns-tight,
.wrapper > .content.cols-tight {
  column-gap: clamp(0.7rem, 1.5vw, 1.25rem);
}
.wrapper > .content.columns-wide,
.wrapper > .content.cols-wide {
  column-gap: clamp(1.35rem, 3vw, 2.7rem);
}
.wrapper > .content.columns-auto,
.wrapper > .content.cols-auto {
  column-width: clamp(17rem, 35vw, 24rem);
  column-count: auto;
}
.wrapper > .content[class*=columns-] > *,
.wrapper > .content[class*=cols-] > * {
  break-inside: avoid-column;
  page-break-inside: avoid;
}
.wrapper > .content[class*=columns-] > .column-span-all,
.wrapper > .content[class*=cols-] > .column-span-all,
.wrapper > .content[class*=columns-] > h1,
.wrapper > .content[class*=columns-] > h2,
.wrapper > .content[class*=columns-] > h3,
.wrapper > .content[class*=cols-] > h1,
.wrapper > .content[class*=cols-] > h2,
.wrapper > .content[class*=cols-] > h3 {
  column-span: all;
}
@media screen and (max-width: 980px) {
  .wrapper > .content.columns-3,
  .wrapper > .content.columns-4,
  .wrapper > .content.cols-3,
  .wrapper > .content.cols-4 {
    column-count: 2;
  }
}
@media screen and (max-width: 736px) {
  .wrapper > .content.columns-2,
  .wrapper > .content.columns-3,
  .wrapper > .content.columns-4,
  .wrapper > .content.cols-2,
  .wrapper > .content.cols-3,
  .wrapper > .content.cols-4 {
    column-count: 1;
  }
}
.wrapper:is([data-ql-size=full]) .content {
  min-height: 80vh;
}
@media screen and (orientation: portrait) {
  .wrapper:is([data-ql-size=full]) .content .content {
    min-height: 50vh;
  }
  .wrapper:is([data-ql-size=full]) .content .image {
    height: 50vh;
  }
}
.wrapper.page-graphic {
  --ql-page-graphic-min-height: clamp(28rem, 86vh, 64rem);
  --ql-page-graphic-padding-y: clamp(1.25rem, 4vh, 3.25rem);
  --ql-page-graphic-padding-x: clamp(1rem, 3vw, 2.5rem);
  isolation: isolate;
  overflow: clip;
  position: relative;
}
.wrapper.page-graphic > .content {
  align-content: center;
  display: grid;
  gap: clamp(0.75rem, 2.2vh, 1.5rem);
  min-height: var(--ql-page-graphic-min-height);
  padding: var(--ql-page-graphic-padding-y) var(--ql-page-graphic-padding-x);
  position: relative;
  z-index: 2;
}
.wrapper.page-graphic > .content > * {
  break-inside: avoid;
  page-break-inside: avoid;
}
.wrapper.page-graphic:is([data-ql-size=full]) > .content {
  min-height: 92vh;
}
@media screen and (max-width: 736px) {
  .wrapper.page-graphic > .content {
    min-height: clamp(24rem, 72vh, 44rem);
  }
}
.wrapper.content-align-center {
  text-align: center;
}
.wrapper.content-align-right {
  text-align: right;
}
.wrapper.image-preserve-aspect figure img {
  object-fit: contain;
}
.wrapper.svg-margin, .wrapper.svg-margin-lines, .wrapper.svg-margin-motif {
  --ql-svg-margin-inset: clamp(0.35rem, 1.25vw, 1.1rem);
  --ql-svg-margin-strip-width: 0.95rem;
  --ql-svg-margin-tile-height: 5.75rem;
  --ql-svg-margin-opacity: 0.55;
  --ql-svg-margin-animation: none;
  --ql-svg-margin-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 128'%3E%3Cline x1='12' y1='0' x2='12' y2='128' stroke='%2397A1B3' stroke-width='1.5'/%3E%3C/svg%3E");
  overflow: hidden;
  position: relative;
}
.wrapper.svg-margin:before, .wrapper.svg-margin:after, .wrapper.svg-margin-lines:before, .wrapper.svg-margin-lines:after, .wrapper.svg-margin-motif:before, .wrapper.svg-margin-motif:after {
  background-image: var(--ql-svg-margin-svg);
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% var(--ql-svg-margin-tile-height);
  bottom: 0;
  content: "";
  opacity: var(--ql-svg-margin-opacity);
  pointer-events: none;
  position: absolute;
  top: 0;
  width: var(--ql-svg-margin-strip-width);
  animation: var(--ql-svg-margin-animation);
}
.wrapper.svg-margin:before, .wrapper.svg-margin-lines:before, .wrapper.svg-margin-motif:before {
  left: var(--ql-svg-margin-inset);
}
.wrapper.svg-margin:after, .wrapper.svg-margin-lines:after, .wrapper.svg-margin-motif:after {
  right: var(--ql-svg-margin-inset);
}
@media screen and (max-width: 736px) {
  .wrapper.svg-margin, .wrapper.svg-margin-lines, .wrapper.svg-margin-motif {
    --ql-svg-margin-opacity: 0.4;
    --ql-svg-margin-strip-width: 0.75rem;
  }
}
.wrapper.svg-margin-motif, .wrapper.svg-margin-preset-motif {
  --ql-svg-margin-strip-width: 1.15rem;
  --ql-svg-margin-tile-height: 2.5rem;
  --ql-svg-margin-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='14' fill='none' stroke='%2397A1B3' stroke-width='1.5'/%3E%3C/svg%3E");
}
.wrapper.svg-margin-french, .wrapper.svg-margin-preset-french-flag {
  --ql-svg-margin-strip-width: 1.1rem;
  --ql-svg-margin-tile-height: 100%;
  --ql-svg-margin-opacity: 0.95;
  --ql-svg-margin-svg: linear-gradient(
  	to right,
  	#0055a4 0%,
  	#0055a4 33.333%,
  	#ffffff 33.333%,
  	#ffffff 66.666%,
  	#ef4135 66.666%,
  	#ef4135 100%
  );
}
.wrapper.svg-margin-french:before, .wrapper.svg-margin-french:after, .wrapper.svg-margin-preset-french-flag:before, .wrapper.svg-margin-preset-french-flag:after {
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.wrapper.svg-margin-preset-orbitals-spdf {
  --ql-svg-margin-strip-width: 1.45rem;
  --ql-svg-margin-tile-height: 8.25rem;
  --ql-svg-margin-opacity: 0.68;
  --ql-svg-margin-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%20128%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2216%22%20r%3D%228%22%20fill%3D%22%234f7fd8%22%2F%3E%3Cg%20transform%3D%22translate(0%2032)%22%20fill%3D%22%238a6ab3%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2216%22%20rx%3D%225.2%22%20ry%3D%229%22%2F%3E%3Crect%20x%3D%2211.1%22%20y%3D%227%22%20width%3D%221.8%22%20height%3D%2218%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(0%2064)%22%20fill%3D%22%23c85d5a%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%229.2%22%20rx%3D%223.8%22%20ry%3D%225%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2222.8%22%20rx%3D%223.8%22%20ry%3D%225%22%2F%3E%3Cellipse%20cx%3D%225.2%22%20cy%3D%2216%22%20rx%3D%225%22%20ry%3D%223.8%22%2F%3E%3Cellipse%20cx%3D%2218.8%22%20cy%3D%2216%22%20rx%3D%225%22%20ry%3D%223.8%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(0%2096)%22%20fill%3D%22%234e9b67%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%20transform%3D%22rotate(60%2012%2016)%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%20transform%3D%22rotate(120%2012%2016)%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%20transform%3D%22rotate(180%2012%2016)%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%20transform%3D%22rotate(240%2012%2016)%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%228.8%22%20rx%3D%222.8%22%20ry%3D%224.2%22%20transform%3D%22rotate(300%2012%2016)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
.wrapper.svg-margin-preset-power-grid {
  --ql-svg-margin-strip-width: 1.9rem;
  --ql-svg-margin-tile-height: 10rem;
  --ql-svg-margin-opacity: 0.96;
  --ql-svg-margin-animation: none;
  --ql-svg-margin-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 160'%3E%3Crect width='36' height='160' fill='%23010503'/%3E%3Cg fill='none' stroke='%230d2a1d' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M6 0V160M18 0V160M30 0V160'/%3E%3Cpath d='M6 20H18M18 20H30M6 52H18M18 84H30M6 116H18M18 148H30'/%3E%3Cpath d='M18 52H30M6 84H18M18 116H30'/%3E%3C/g%3E%3Cg fill='none' stroke='%231b6a49' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M6 20H30M6 84H30M6 148H30'/%3E%3Cpath d='M18 20V52M30 52V84M18 84V116M30 116V148'/%3E%3C/g%3E%3Cg fill='%2348d494' fill-opacity='.55'%3E%3Ccircle cx='6' cy='20' r='1.05'/%3E%3Ccircle cx='18' cy='20' r='1.05'/%3E%3Ccircle cx='30' cy='20' r='1.05'/%3E%3Ccircle cx='18' cy='52' r='1.05'/%3E%3Ccircle cx='30' cy='52' r='1.05'/%3E%3Ccircle cx='6' cy='84' r='1.05'/%3E%3Ccircle cx='18' cy='84' r='1.05'/%3E%3Ccircle cx='30' cy='84' r='1.05'/%3E%3Ccircle cx='18' cy='116' r='1.05'/%3E%3Ccircle cx='30' cy='116' r='1.05'/%3E%3Ccircle cx='6' cy='148' r='1.05'/%3E%3Ccircle cx='18' cy='148' r='1.05'/%3E%3Ccircle cx='30' cy='148' r='1.05'/%3E%3C/g%3E%3C/svg%3E");
  --ql-svg-margin-grid-traffic-svg: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiA0ODAnPjxnIGZpbGw9JyNjN2ZmZWEnPjxjaXJjbGUgcj0nMC45NSc+PGFuaW1hdGVNb3Rpb24gZHVyPSc2LjhzJyBiZWdpbj0nMHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyBjYWxjTW9kZT0nbGluZWFyJyBwYXRoPSdNNiAyMCBMMTggMjAgTDE4IDUyIEwzMCA1MiBMMzAgODQgTDE4IDg0IEwxOCAxMTYgTDMwIDExNiBMMzAgMTQ4Jy8+PC9jaXJjbGU+PGNpcmNsZSByPScwLjg4Jz48YW5pbWF0ZU1vdGlvbiBkdXI9JzkuNnMnIGJlZ2luPSctMy4xcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIGNhbGNNb2RlPSdsaW5lYXInIHBhdGg9J00zMCAyMCBMMTggMjAgTDE4IDUyIEwzMCA1MiBMMzAgODQgTDE4IDg0IEw2IDg0IEw2IDE0OCcvPjwvY2lyY2xlPjxjaXJjbGUgcj0nMC45Jz48YW5pbWF0ZU1vdGlvbiBkdXI9JzE0cycgYmVnaW49Jy03LjJzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScgY2FsY01vZGU9J2xpbmVhcicgcGF0aD0nTTE4IDE0OCBMMTggMTE2IEwzMCAxMTYgTDMwIDg0IEwxOCA4NCBMMTggNTIgTDYgNTIgTDYgMjAnLz48L2NpcmNsZT48Y2lyY2xlIHI9JzAuODQnPjxhbmltYXRlTW90aW9uIGR1cj0nOC4xcycgYmVnaW49Jy00LjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScgY2FsY01vZGU9J2xpbmVhcicgcGF0aD0nTTMwIDE0OCBMMzAgMTE2IEwxOCAxMTYgTDE4IDg0IEw2IDg0IEw2IDUyIEwxOCA1MiBMMTggMjAnLz48L2NpcmNsZT48Y2lyY2xlIHI9JzAuOTInPjxhbmltYXRlTW90aW9uIGR1cj0nMTUuMnMnIGJlZ2luPSctMS44cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIGNhbGNNb2RlPSdsaW5lYXInIHBhdGg9J00xOCAxODAgTDMwIDE4MCBMMzAgMjEyIEwxOCAyMTIgTDE4IDI0NCBMNiAyNDQgTDYgMjc2IEwxOCAyNzYgTDE4IDMwOCcvPjwvY2lyY2xlPjxjaXJjbGUgcj0nMC44Nic+PGFuaW1hdGVNb3Rpb24gZHVyPSc4LjhzJyBiZWdpbj0nLTYuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyBjYWxjTW9kZT0nbGluZWFyJyBwYXRoPSdNNiAxODAgTDYgMjEyIEwxOCAyMTIgTDE4IDI0NCBMMzAgMjQ0IEwzMCAyNzYgTDE4IDI3NiBMMTggMzA4Jy8+PC9jaXJjbGU+PGNpcmNsZSByPScwLjknPjxhbmltYXRlTW90aW9uIGR1cj0nMTIuNHMnIGJlZ2luPSctOS40cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIGNhbGNNb2RlPSdsaW5lYXInIHBhdGg9J00zMCAzMDggTDE4IDMwOCBMMTggMjc2IEwzMCAyNzYgTDMwIDI0NCBMMTggMjQ0IEwxOCAyMTIgTDYgMjEyIEw2IDE4MCcvPjwvY2lyY2xlPjxjaXJjbGUgcj0nMC44Myc+PGFuaW1hdGVNb3Rpb24gZHVyPSc3LjVzJyBiZWdpbj0nLTIuNHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyBjYWxjTW9kZT0nbGluZWFyJyBwYXRoPSdNNiAzMDggTDE4IDMwOCBMMTggMjc2IEw2IDI3NiBMNiAyNDQgTDE4IDI0NCBMMTggMjEyIEwzMCAyMTIgTDMwIDE4MCcvPjwvY2lyY2xlPjxjaXJjbGUgcj0nMC45Myc+PGFuaW1hdGVNb3Rpb24gZHVyPScxMS4xcycgYmVnaW49Jy0zLjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScgY2FsY01vZGU9J2xpbmVhcicgcGF0aD0nTTMwIDM0MCBMMTggMzQwIEwxOCAzNzIgTDYgMzcyIEw2IDQwNCBMMTggNDA0IEwxOCA0MzYgTDMwIDQzNiBMMzAgNDY4Jy8+PC9jaXJjbGU+PGNpcmNsZSByPScwLjg3Jz48YW5pbWF0ZU1vdGlvbiBkdXI9JzEzLjNzJyBiZWdpbj0nLTAuOXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyBjYWxjTW9kZT0nbGluZWFyJyBwYXRoPSdNMTggMzQwIEwxOCAzNzIgTDMwIDM3MiBMMzAgNDA0IEwxOCA0MDQgTDE4IDQzNiBMNiA0MzYgTDYgNDY4Jy8+PC9jaXJjbGU+PGNpcmNsZSByPScwLjknPjxhbmltYXRlTW90aW9uIGR1cj0nNy44cycgYmVnaW49Jy01LjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScgY2FsY01vZGU9J2xpbmVhcicgcGF0aD0nTTYgMzQwIEwxOCAzNDAgTDE4IDM3MiBMMzAgMzcyIEwzMCA0MDQgTDE4IDQwNCBMMTggNDM2IEwzMCA0MzYgTDMwIDQ2OCcvPjwvY2lyY2xlPjxjaXJjbGUgcj0nMC44Mic+PGFuaW1hdGVNb3Rpb24gZHVyPScxNy4xcycgYmVnaW49Jy0xMS4xcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnIGNhbGNNb2RlPSdsaW5lYXInIHBhdGg9J00zMCA0NjggTDE4IDQ2OCBMMTggNDM2IEw2IDQzNiBMNiA0MDQgTDE4IDQwNCBMMTggMzcyIEw2IDM3MiBMNiAzNDAnLz48L2NpcmNsZT48L2c+PC9zdmc+");
  --ql-svg-margin-grid-glow-svg: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiA0ODAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nIzZmZmZjMicgc3Ryb2tlLXdpZHRoPScxLjI1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnPjxwYXRoIGQ9J002IDIwSDMwTTE4IDIwVjUyTTMwIDUyVjg0Jz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdzdHJva2Utb3BhY2l0eScgdmFsdWVzPScwOzAuMzY7MC4wODswLjUyOzAnIGR1cj0nOC43cycgYmVnaW49Jy0xLjJzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNNiA4NEgzME0xOCA4NFYxMTZNMzAgMTE2VjE0OCc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIHZhbHVlcz0nMDswLjQyOzAuMDY7MC4zOzAnIGR1cj0nMTEuNHMnIGJlZ2luPSctNnMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9wYXRoPjxwYXRoIGQ9J00xOCAxNDhWMTgwTTMwIDE0OFYxODAnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J3N0cm9rZS1vcGFjaXR5JyB2YWx1ZXM9JzA7MC4yODswLjA0OzAuNDY7MCcgZHVyPScxMy4xcycgYmVnaW49Jy0zLjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNMTggMTgwSDMwTTMwIDE4MFYyMTJNNiAyNDRIMzAnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J3N0cm9rZS1vcGFjaXR5JyB2YWx1ZXM9JzA7MC41OzAuMTswLjI2OzAnIGR1cj0nOS44cycgYmVnaW49Jy0yLjlzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNMTggMjQ0VjI3Nk02IDI3NkgxOE0xOCAyNzZWMzA4Jz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdzdHJva2Utb3BhY2l0eScgdmFsdWVzPScwOzAuMjQ7MC41NjswLjEyOzAnIGR1cj0nMTIuNnMnIGJlZ2luPSctNy40cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3BhdGg+PHBhdGggZD0nTTMwIDMwOFYzNDBNMTggMzA4VjM0MCc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIHZhbHVlcz0nMDswLjI7MC40OzAuMDY7MCcgZHVyPScxNC4ycycgYmVnaW49Jy00LjZzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNMzAgMzQwSDE4TTE4IDM0MFYzNzJNNiA0MDRIMTgnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J3N0cm9rZS1vcGFjaXR5JyB2YWx1ZXM9JzA7MC40NjswLjEyOzAuMzQ7MCcgZHVyPScxMC45cycgYmVnaW49Jy0xLjhzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNMTggNDA0VjQzNk0xOCA0MzZIMzBNMzAgNDM2VjQ2OCc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIHZhbHVlcz0nMDswLjIyOzAuNjI7MC4xNDswJyBkdXI9JzE1cycgYmVnaW49Jy04LjNzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcGF0aD48cGF0aCBkPSdNNiA0NjhIMzBNMTggNDY4VjQ4ME0xOCAwVjIwJz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdzdHJva2Utb3BhY2l0eScgdmFsdWVzPScwOzAuMzI7MC4wODswLjQ4OzAnIGR1cj0nMTIuMXMnIGJlZ2luPSctNS41cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3BhdGg+PHBhdGggZD0nTTE4IDBWNDgwJz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdzdHJva2Utb3BhY2l0eScgdmFsdWVzPScwOzAuMTg7MDswLjM0OzA7MC4xMjswJyBkdXI9JzE3LjhzJyBiZWdpbj0nLTkuN3MnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9wYXRoPjwvZz48ZyBmaWxsPScjYTZmZmQ3Jz48Y2lyY2xlIGN4PScxOCcgY3k9JzIwJyByPScxLjA1Jz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyB2YWx1ZXM9JzA7MC43OzAuMDg7MC4zMjswJyBkdXI9JzguMnMnIGJlZ2luPSctMC40cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L2NpcmNsZT48Y2lyY2xlIGN4PSczMCcgY3k9Jzg0JyByPScxLjA1Jz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyB2YWx1ZXM9JzA7MC43OzAuMDg7MC4zMjswJyBkdXI9JzEwLjdzJyBiZWdpbj0nLTIuOHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9jaXJjbGU+PGNpcmNsZSBjeD0nNicgY3k9JzE0OCcgcj0nMS4wNSc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgdmFsdWVzPScwOzAuNzswLjA4OzAuMzI7MCcgZHVyPScxMi45cycgYmVnaW49Jy02LjVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvY2lyY2xlPjxjaXJjbGUgY3g9JzMwJyBjeT0nMTgwJyByPScxLjA1Jz48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyB2YWx1ZXM9JzA7MC43OzAuMDg7MC4zMjswJyBkdXI9JzkuNXMnIGJlZ2luPSctNC4ycycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L2NpcmNsZT48Y2lyY2xlIGN4PScxOCcgY3k9JzI0NCcgcj0nMS4wNSc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgdmFsdWVzPScwOzAuNzswLjA4OzAuMzI7MCcgZHVyPScxMS44cycgYmVnaW49Jy0xLjNzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvY2lyY2xlPjxjaXJjbGUgY3g9JzYnIGN5PSczMDgnIHI9JzEuMDUnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIHZhbHVlcz0nMDswLjc7MC4wODswLjMyOzAnIGR1cj0nMTQuMXMnIGJlZ2luPSctOHMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9jaXJjbGU+PGNpcmNsZSBjeD0nMTgnIGN5PSczNDAnIHI9JzEuMDUnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIHZhbHVlcz0nMDswLjc7MC4wODswLjMyOzAnIGR1cj0nMTAuMnMnIGJlZ2luPSctMy4zcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L2NpcmNsZT48Y2lyY2xlIGN4PSczMCcgY3k9JzQwNCcgcj0nMS4wNSc+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgdmFsdWVzPScwOzAuNzswLjA4OzAuMzI7MCcgZHVyPScxMi41cycgYmVnaW49Jy03LjFzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvY2lyY2xlPjxjaXJjbGUgY3g9JzYnIGN5PSc0NjgnIHI9JzEuMDUnPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIHZhbHVlcz0nMDswLjc7MC4wODswLjMyOzAnIGR1cj0nMTUuNnMnIGJlZ2luPSctNS45cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L2NpcmNsZT48L2c+PC9zdmc+");
}
.wrapper.svg-margin-preset-power-grid:before, .wrapper.svg-margin-preset-power-grid:after {
  background-color: #010604;
  background-image: var(--ql-svg-margin-grid-traffic-svg), var(--ql-svg-margin-grid-glow-svg), var(--ql-svg-margin-svg);
  background-position: center 0, center 0, center top;
  background-repeat: repeat-y, repeat-y, repeat-y;
  background-size: 100% calc(var(--ql-svg-margin-tile-height) * 3), 100% calc(var(--ql-svg-margin-tile-height) * 3), 100% var(--ql-svg-margin-tile-height);
  animation: none;
  filter: drop-shadow(0 0 4px rgba(86, 255, 172, 0.35)) saturate(1.08);
}
.wrapper.svg-margin-left:after {
  display: none;
}
.wrapper.svg-margin-right:before {
  display: none;
}
.wrapper.hero-bauhaus, .wrapper.hero-editorial {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.wrapper.hero-bauhaus > .content, .wrapper.hero-editorial > .content {
  position: relative;
  z-index: 2;
}
.wrapper.hero-bauhaus:before, .wrapper.hero-bauhaus:after, .wrapper.hero-editorial:before, .wrapper.hero-editorial:after {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.wrapper.hero-bauhaus {
  background-color: #f7f1e5;
  background-image: radial-gradient(circle at 12% 20%, rgba(220, 38, 38, 0.22) 0 10%, transparent 10.4%), radial-gradient(circle at 84% 82%, rgba(29, 78, 216, 0.18) 0 13%, transparent 13.4%), linear-gradient(132deg, rgba(15, 23, 42, 0.08) 0 17%, transparent 17% 83%, rgba(15, 23, 42, 0.07) 83% 100%), linear-gradient(160deg, rgba(255, 252, 242, 0.98), rgba(242, 235, 221, 0.84));
  border-bottom: 1px solid rgba(15, 23, 42, 0.2);
  border-top: 1px solid rgba(15, 23, 42, 0.14);
}
.wrapper.hero-bauhaus:before {
  top: clamp(0.8rem, 2.5vw, 2.2rem);
  right: clamp(-1.8rem, -1vw, -0.8rem);
  width: clamp(7rem, 18vw, 14rem);
  height: clamp(2.6rem, 7vw, 5.2rem);
  transform: rotate(-22deg);
  border: 2px solid rgba(15, 23, 42, 0.34);
  background: linear-gradient(90deg, rgba(234, 88, 12, 0.24), rgba(37, 99, 235, 0.2));
}
.wrapper.hero-bauhaus:after {
  bottom: clamp(-2.6rem, -2.2vw, -1.2rem);
  left: clamp(-2.8rem, -1.8vw, -1rem);
  width: clamp(8rem, 20vw, 15rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid rgba(17, 24, 39, 0.32);
  background: radial-gradient(circle at 38% 36%, rgba(220, 38, 38, 0.2), rgba(220, 38, 38, 0.05) 63%, transparent 72%);
}
.wrapper.hero-editorial {
  background-color: #f8fbff;
  background-image: linear-gradient(rgba(15, 23, 42, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.08) 1px, transparent 1px), linear-gradient(158deg, rgba(14, 165, 233, 0.14), rgba(248, 113, 113, 0.08) 52%, rgba(251, 146, 60, 0.12));
  background-size: 28px 28px, 28px 28px, cover;
  background-position: 0 0, 0 0, center;
  border-bottom: 1px solid rgba(30, 41, 59, 0.18);
  border-top: 1px solid rgba(30, 41, 59, 0.12);
}
.wrapper.hero-editorial:before {
  top: clamp(0.8rem, 2.4vw, 1.8rem);
  left: clamp(0.65rem, 1.8vw, 1.3rem);
  width: clamp(3.2rem, 8vw, 6.2rem);
  height: clamp(3.2rem, 8vw, 6.2rem);
  border: 2px solid rgba(15, 23, 42, 0.3);
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(1px);
}
.wrapper.hero-editorial:after {
  right: clamp(0.8rem, 2vw, 1.5rem);
  bottom: clamp(0.55rem, 1.3vw, 1rem);
  width: clamp(3.6rem, 10vw, 7rem);
  height: 0.62rem;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.72), rgba(15, 23, 42, 0.05));
  opacity: 0.4;
}
@media screen and (max-width: 736px) {
  .wrapper.hero-bauhaus, .wrapper.hero-editorial {
    background-size: 20px 20px, 20px 20px, cover;
  }
  .wrapper.hero-bauhaus:before, .wrapper.hero-bauhaus:after, .wrapper.hero-editorial:before, .wrapper.hero-editorial:after {
    opacity: 0.72;
  }
}
.wrapper.no-underline a {
  text-decoration: none;
}

@media print {
  .wrapper.page-graphic {
    --ql-page-graphic-page-height: 297mm;
    --ql-page-graphic-page-margin-y: 25mm;
    break-before: page;
    break-after: page;
    break-inside: avoid;
    page-break-before: always;
    page-break-after: always;
    page-break-inside: avoid;
    min-height: auto;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
  }
  .wrapper.page-graphic > .content {
    align-content: center;
    display: grid;
    gap: clamp(0.65rem, 1.5vh, 1.2rem);
    min-height: calc(var(--ql-page-graphic-page-height) - 2 * var(--ql-page-graphic-page-margin-y));
    padding: 0;
  }
  .wrapper.page-graphic > .content > * {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Items (transitions) */
.items.onload-fade-in > * > .inner {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--misc_items_limit) * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(1) > .inner {
  transition-delay: calc(0 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(2) > .inner {
  transition-delay: calc(1 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(3) > .inner {
  transition-delay: calc(2 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(4) > .inner {
  transition-delay: calc(3 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(5) > .inner {
  transition-delay: calc(4 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(6) > .inner {
  transition-delay: calc(5 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(7) > .inner {
  transition-delay: calc(6 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(8) > .inner {
  transition-delay: calc(7 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(9) > .inner {
  transition-delay: calc(8 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(10) > .inner {
  transition-delay: calc(9 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(11) > .inner {
  transition-delay: calc(10 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(12) > .inner {
  transition-delay: calc(11 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(13) > .inner {
  transition-delay: calc(12 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(14) > .inner {
  transition-delay: calc(13 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(15) > .inner {
  transition-delay: calc(14 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(16) > .inner {
  transition-delay: calc(15 * var(--duration_items_delay));
}
.items.onload-fade-in > *:nth-child(17) > .inner {
  transition-delay: calc(16 * var(--duration_items_delay));
}
body.is-preload .items.onload-fade-in > * > .inner {
  opacity: 0;
}
.items.onscroll-fade-in > * > .inner {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--misc_items_limit) * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(1) > .inner {
  transition-delay: calc(0 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(2) > .inner {
  transition-delay: calc(1 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(3) > .inner {
  transition-delay: calc(2 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(4) > .inner {
  transition-delay: calc(3 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(5) > .inner {
  transition-delay: calc(4 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(6) > .inner {
  transition-delay: calc(5 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(7) > .inner {
  transition-delay: calc(6 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(8) > .inner {
  transition-delay: calc(7 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(9) > .inner {
  transition-delay: calc(8 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(10) > .inner {
  transition-delay: calc(9 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(11) > .inner {
  transition-delay: calc(10 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(12) > .inner {
  transition-delay: calc(11 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(13) > .inner {
  transition-delay: calc(12 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(14) > .inner {
  transition-delay: calc(13 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(15) > .inner {
  transition-delay: calc(14 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(16) > .inner {
  transition-delay: calc(15 * var(--duration_items_delay));
}
.items.onscroll-fade-in > *:nth-child(17) > .inner {
  transition-delay: calc(16 * var(--duration_items_delay));
}
.items.onscroll-fade-in.is-inactive > * > .inner {
  opacity: 0;
}

/* Items (style1) */
.items.style1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative;
}
.items.style1 > * {
  flex-grow: 0;
  flex-shrink: 0;
  border-style: solid;
  border-left-width: var(--size_border_width);
  border-top-width: var(--size_border_width);
}
.items.style1.big > * {
  padding: var(--size_gutter) var(--size_gutter);
  width: calc(100% / 2);
}
.items.style1.big > *:nth-child(-n+2) {
  border-top-width: 0;
}
.items.style1.big > *:nth-child(2n+1) {
  border-left-width: 0;
}
.items.style1.medium > * {
  padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
  width: calc(100% / 3);
}
.items.style1.medium > *:nth-child(-n+3) {
  border-top-width: 0;
}
.items.style1.medium > *:nth-child(3n+1) {
  border-left-width: 0;
}
.items.style1.small > * {
  padding: calc(var(--size_gutter) * 0.375) calc(var(--size_gutter) * 0.375);
  width: calc(100% / 4);
}
.items.style1.small > *:nth-child(-n+4) {
  border-top-width: 0;
}
.items.style1.small > *:nth-child(4n+1) {
  border-left-width: 0;
}
@media screen and (max-width: 1280px) {
  .items.style1.small > *:nth-child(-n+4) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.small > *:nth-child(4n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.small > * {
    padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
    width: calc(100% / 3);
  }
  .items.style1.small > *:nth-child(-n+3) {
    border-top-width: 0;
  }
  .items.style1.small > *:nth-child(3n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 980px) {
  .items.style1.medium > *:nth-child(-n+3) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.medium > *:nth-child(3n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.medium > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2);
  }
  .items.style1.medium > *:nth-child(-n+2) {
    border-top-width: 0;
  }
  .items.style1.medium > *:nth-child(2n+1) {
    border-left-width: 0;
  }
  .items.style1.small > *:nth-child(-n+3) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.small > *:nth-child(3n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.small > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2);
  }
  .items.style1.small > *:nth-child(-n+2) {
    border-top-width: 0;
  }
  .items.style1.small > *:nth-child(2n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 480px) {
  .items.style1.big > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.big > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.big > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style1.big > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style1.big > *:nth-child(1n+1) {
    border-left-width: 0;
  }
  .items.style1.medium > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.medium > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.medium > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style1.medium > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style1.medium > *:nth-child(1n+1) {
    border-left-width: 0;
  }
  .items.style1.small > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style1.small > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style1.small > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style1.small > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style1.small > *:nth-child(1n+1) {
    border-left-width: 0;
  }
  .items.style1.big > *, .items.style1.medium > *, .items.style1.small > * {
    padding-left: 0;
    padding-right: 0;
  }
  .items.style1.big > :first-child, .items.style1.medium > :first-child, .items.style1.small > :first-child {
    padding-top: 0;
  }
  .items.style1.big > :last-child, .items.style1.medium > :last-child, .items.style1.small > :last-child {
    padding-bottom: 0;
  }
  .items.style1.big > :last-child > .inner > :last-child, .items.style1.medium > :last-child > .inner > :last-child, .items.style1.small > :last-child > .inner > :last-child {
    margin-bottom: 0;
  }
}

/* Items (style2) */
.items.style2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative;
  border: solid var(--size_border_width);
  border-radius: var(--size_border_radius);
}
.items.style2 > * {
  flex-grow: 0;
  flex-shrink: 0;
  border-style: solid;
  border-left-width: var(--size_border_width);
  border-top-width: var(--size_border_width);
}
.items.style2.big > * {
  padding: var(--size_gutter) var(--size_gutter);
  width: calc(100% / 2);
}
.items.style2.big > *:nth-child(-n+2) {
  border-top-width: 0;
}
.items.style2.big > *:nth-child(2n+1) {
  border-left-width: 0;
}
.items.style2.medium > * {
  padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
  width: calc(100% / 3);
}
.items.style2.medium > *:nth-child(-n+3) {
  border-top-width: 0;
}
.items.style2.medium > *:nth-child(3n+1) {
  border-left-width: 0;
}
.items.style2.small > * {
  padding: calc(var(--size_gutter) * 0.375) calc(var(--size_gutter) * 0.375);
  width: calc(100% / 4);
}
.items.style2.small > *:nth-child(-n+4) {
  border-top-width: 0;
}
.items.style2.small > *:nth-child(4n+1) {
  border-left-width: 0;
}
@media screen and (max-width: 1280px) {
  .items.style2.small > *:nth-child(-n+4) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.small > *:nth-child(4n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.small > * {
    padding: calc(var(--size_gutter) * 0.625) calc(var(--size_gutter) * 0.625);
    width: calc(100% / 3);
  }
  .items.style2.small > *:nth-child(-n+3) {
    border-top-width: 0;
  }
  .items.style2.small > *:nth-child(3n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 980px) {
  .items.style2.medium > *:nth-child(-n+3) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.medium > *:nth-child(3n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.medium > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2);
  }
  .items.style2.medium > *:nth-child(-n+2) {
    border-top-width: 0;
  }
  .items.style2.medium > *:nth-child(2n+1) {
    border-left-width: 0;
  }
  .items.style2.small > *:nth-child(-n+3) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.small > *:nth-child(3n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.small > * {
    padding: var(--size_gutter) var(--size_gutter);
    width: calc(100% / 2);
  }
  .items.style2.small > *:nth-child(-n+2) {
    border-top-width: 0;
  }
  .items.style2.small > *:nth-child(2n+1) {
    border-left-width: 0;
  }
}
@media screen and (max-width: 480px) {
  .items.style2.big > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.big > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.big > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style2.big > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style2.big > *:nth-child(1n+1) {
    border-left-width: 0;
  }
  .items.style2.medium > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.medium > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.medium > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style2.medium > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style2.medium > *:nth-child(1n+1) {
    border-left-width: 0;
  }
  .items.style2.small > *:nth-child(-n+2) {
    border-top-width: var(--size_border_width);
  }
  .items.style2.small > *:nth-child(2n+1) {
    border-left-width: var(--size_border_width);
  }
  .items.style2.small > * {
    padding: calc(var(--size_gutter) * 0.75) calc(var(--size_gutter) * 0.75);
    width: calc(100% / 1);
  }
  .items.style2.small > *:nth-child(-n+1) {
    border-top-width: 0;
  }
  .items.style2.small > *:nth-child(1n+1) {
    border-left-width: 0;
  }
}

/* Items (style3) */
.items.style3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(var(--size_element_margin) * 1.5) 0;
  position: relative;
}
.items.style3 > * {
  flex-grow: 0;
  flex-shrink: 0;
}
.items.style3.big > * {
  padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
  width: calc(100% / 2);
}
.items.style3.medium > * {
  padding: calc(var(--size_gutter) * 0.5 * 0.625) calc(var(--size_gutter) * 0.5 * 0.625);
  width: calc(100% / 3);
}
.items.style3.small > * {
  padding: calc(var(--size_gutter) * 0.5 * 0.375) calc(var(--size_gutter) * 0.5 * 0.375);
  width: calc(100% / 4);
}
@media screen and (max-width: 1280px) {
  .items.style3.small > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.625) calc(var(--size_gutter) * 0.5 * 0.625);
    width: calc(100% / 3);
  }
}
@media screen and (max-width: 980px) {
  .items.style3.medium > * {
    padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
    width: calc(100% / 2);
  }
  .items.style3.small > * {
    padding: calc(var(--size_gutter) * 0.5) calc(var(--size_gutter) * 0.5);
    width: calc(100% / 2);
  }
}
@media screen and (max-width: 736px) {
  .items.style3 {
    margin: var(--size_element_margin) 0;
  }
}
@media screen and (max-width: 480px) {
  .items.style3.big > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
    width: calc(100% / 1);
  }
  .items.style3.medium > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
    width: calc(100% / 1);
  }
  .items.style3.small > * {
    padding: calc(var(--size_gutter) * 0.5 * 0.75) calc(var(--size_gutter) * 0.5 * 0.75);
    width: calc(100% / 1);
  }
  .items.style3.big > *, .items.style3.medium > *, .items.style3.small > * {
    padding-left: 0;
    padding-right: 0;
  }
  .items.style3.big > :first-child, .items.style3.medium > :first-child, .items.style3.small > :first-child {
    padding-top: 0;
  }
  .items.style3.big > :last-child, .items.style3.medium > :last-child, .items.style3.small > :last-child {
    padding-bottom: 0;
  }
  .items.style3.big > :last-child > .inner > :last-child, .items.style3.medium > :last-child > .inner > :last-child, .items.style3.small > :last-child > .inner > :last-child {
    margin-bottom: 0;
  }
}

.items.style1 > * {
  border-color: var(--border);
}

.items.style2 {
  border-color: var(--border);
}
.items.style2 > * {
  border-color: var(--border);
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Index */
.index > * {
  padding: 3rem 0;
  display: flex;
  border-top: solid 1px;
}
.index > * > header {
  flex-grow: 0;
  flex-shrink: 0;
  width: 15rem;
}
.index > * > .content {
  flex-grow: 1;
  flex-shrink: 1;
}
.index > :first-child {
  border-top: 0;
}
@media screen and (max-width: 980px) {
  .index > * > header {
    width: 11rem;
  }
}
@media screen and (max-width: 736px) {
  .index > * > header {
    width: 10rem;
  }
}
@media screen and (max-width: 480px) {
  .index > * {
    flex-direction: column;
  }
  .index > * > header {
    width: 100%;
  }
}

.index > * {
  border-top-color: var(--border);
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Sidebar */
#sidebar nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sidebar nav ul li {
  display: inline-block;
  margin-left: -2px;
  margin-right: 2em;
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
* {
  box-sizing: border-box;
}

.carousel-cell {
  padding-bottom: 1.5rem;
  counter-increment: carousel-cell;
  overflow: auto;
}
.carousel-cell figure img {
  max-width: 100%;
  height: auto;
}
.carousel-cell figure img picture {
  max-width: 100%;
  height: auto;
}

/* cell number */
.carousel-cell:before {
  display: block;
  text-align: center;
  color: None;
}

/* no circle */
.flickity-prev-next-button {
  width: 0px;
  height: 100% px;
  outline: none;
  box-shadow: none;
}

/* position dots in carousel */
.flickity-page-dots {
  bottom: 5px;
}

/* position outside */
.flickity-prev-next-button.previous {
  left: -5px;
}

.flickity-prev-next-button.next {
  right: -5px;
}

/* icon color */
.flickity-button-icon svg {
  color: gray;
}

/* hide disabled button */
.flickity-button:disabled {
  display: none;
}

.carousel {
  position: relative;
}

/* viewport is the draggable/scroller */
.carousel .qc-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y; /* allow vertical page scroll */
  cursor: grab;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.carousel .qc-viewport::-webkit-scrollbar {
  display: none;
}

.carousel .qc-viewport.qc-dragging {
  cursor: grabbing;
}

.carousel .qc-track {
  display: flex;
  gap: 10px;
  align-items: stretch;
  will-change: transform; /* for elastic translate */
  width: 100%;
  flex-wrap: nowrap;
}

.carousel-cell {
  flex: 0 0 auto;
  scroll-snap-align: center;
}

/* round arrows, vertically centered */
.carousel .qc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 9999px;
  border: 0;
  background: rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(2px);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 5;
  padding: 0;
  font-weight: 800;
}

.carousel .qc-prev {
  left: -5px;
}

.carousel .qc-next {
  right: -5px;
}

/* hide when no slide in that direction */
.carousel .qc-arrow[disabled] {
  display: none;
}

.carousel .qc-arrow:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}

.carousel .qc-track {
  width: 100%;
  flex-wrap: nowrap;
  display: flex;
  gap: 10px;
  align-items: stretch;
}

/* THIS is the important part */
.carousel .carousel-cell {
  flex: 0 0 80%;
  max-width: 80%;
  scroll-snap-align: center;
}

@media (max-width: 700px) {
  .carousel .carousel-cell {
    flex-basis: 92%;
    max-width: 92%;
  }
}
.carousel {
  --qc-cell: 80%;
  --qc-gap: 10px;
  --qc-edge: calc((100% - var(--qc-cell)) / 2);
}

.carousel .qc-viewport {
  scroll-padding-inline: var(--qc-edge);
}

.carousel .qc-track {
  display: flex;
  gap: var(--qc-gap);
  align-items: stretch;
  flex-wrap: nowrap;
  width: 100%;
}

.carousel .carousel-cell {
  flex: 0 0 var(--qc-cell);
  max-width: var(--qc-cell);
  scroll-snap-align: center;
}

/* KEY: symmetric “end spacing” so first/last can center */
.carousel .qc-track > .carousel-cell:first-child {
  margin-left: var(--qc-edge);
}

.carousel .qc-track > .carousel-cell:last-child {
  margin-right: var(--qc-edge);
}

@media (max-width: 700px) {
  .carousel {
    --qc-cell: 92%;
  }
}
.carousel-div {
  opacity: 0;
}

.carousel-div.visible {
  opacity: 1;
}

/* end spacing */
.carousel .qc-track > .carousel-cell:first-child {
  margin-left: var(--qc-edge);
}

.carousel .qc-track > .carousel-cell:last-child {
  margin-right: var(--qc-edge);
}

.carousel .qc-viewport.qc-dragging {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  user-select: none;
}

/*
  Shared canvas-backed section effects.
*/
.ql-section.fx-starfield,
.ql-section.ql-fx-starfield {
  position: relative;
  isolation: isolate;
  overflow: clip;
  min-height: var(--ql-starfield-section-min-height, clamp(24rem, 48svh, 34rem));
  background: radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--ql-starfield-glow, var(--accent, #a3ff98)) 18%, transparent) 0%, transparent 34%), radial-gradient(circle at 84% 22%, color-mix(in srgb, var(--ql-starfield-secondary, #7cf7ff) 14%, transparent) 0%, transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--ql-starfield-bg, #03060d) 90%, black 10%) 0%, color-mix(in srgb, var(--ql-starfield-bg, #03060d) 96%, black 4%) 100%);
}
.ql-section.fx-starfield > .ql-starfield-canvas,
.ql-section.ql-fx-starfield > .ql-starfield-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  pointer-events: none;
  opacity: var(--ql-starfield-opacity, 1);
}
.ql-section.fx-starfield > .content,
.ql-section.fx-starfield > figure,
.ql-section.fx-starfield > .ql-live-media,
.ql-section.ql-fx-starfield > .content,
.ql-section.ql-fx-starfield > figure,
.ql-section.ql-fx-starfield > .ql-live-media {
  position: relative;
  z-index: 1;
}

main > .ql-section.ql-frame-only.fx-starfield:first-of-type,
main > .ql-section.ql-frame-only.ql-fx-starfield:first-of-type {
  min-height: max(var(--ql-starfield-section-min-height, clamp(24rem, 48svh, 34rem)), var(--ql-main-viewport-height, 100svh));
}

.ql-section.fx-starfield::after,
.ql-section.ql-fx-starfield::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at center, transparent 0%, transparent 52%, rgba(0, 0, 0, 0.18) 76%, rgba(0, 0, 0, 0.44) 100%);
}

.ql-section.fx-starfield > .content > .box,
.ql-section.ql-fx-starfield > .content > .box {
  background: color-mix(in srgb, var(--bg, #ffffff) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ql-section.fx-starfield.intro-card,
.ql-section.ql-fx-starfield.intro-card {
  min-height: max(50vh, var(--ql-starfield-section-min-height, clamp(42rem, 82svh, 54rem)));
}
.ql-section.fx-starfield.intro-card > .content,
.ql-section.ql-fx-starfield.intro-card > .content {
  align-self: flex-end;
  max-width: min(100%, var(--ql-starfield-card-max-width, 42rem));
  margin-top: var(--ql-starfield-card-offset-top, clamp(8rem, 18vh, 11rem));
  margin-bottom: var(--ql-starfield-card-offset-bottom, clamp(2rem, 6vh, 3.5rem));
}

@media screen and (max-width: 980px) {
  .ql-section.fx-starfield,
  .ql-section.ql-fx-starfield {
    min-height: var(--ql-starfield-section-min-height-mobile, clamp(18rem, 34svh, 24rem));
    background: radial-gradient(circle at 22% 14%, color-mix(in srgb, var(--ql-starfield-glow, var(--accent, #a3ff98)) 15%, transparent) 0%, transparent 30%), radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--ql-starfield-secondary, #7cf7ff) 11%, transparent) 0%, transparent 24%), linear-gradient(180deg, color-mix(in srgb, var(--ql-starfield-bg, #03060d) 92%, black 8%) 0%, color-mix(in srgb, var(--ql-starfield-bg, #03060d) 97%, black 3%) 100%);
  }
  .ql-section.fx-starfield.intro-card,
  .ql-section.ql-fx-starfield.intro-card {
    min-height: max(50vh, var(--ql-starfield-section-min-height-mobile, clamp(34rem, 72svh, 46rem)));
  }
  .ql-section.fx-starfield.intro-card > .content,
  .ql-section.ql-fx-starfield.intro-card > .content {
    max-width: min(100%, var(--ql-starfield-card-max-width-mobile, 26rem));
    margin-top: var(--ql-starfield-card-offset-top-mobile, clamp(5rem, 12vh, 7rem));
    margin-bottom: var(--ql-starfield-card-offset-bottom-mobile, clamp(1.25rem, 4vh, 2rem));
  }
  main > .ql-section.ql-frame-only.fx-starfield:first-of-type,
  main > .ql-section.ql-frame-only.ql-fx-starfield:first-of-type {
    min-height: max(var(--ql-starfield-section-min-height-mobile, clamp(18rem, 34svh, 24rem)), var(--ql-main-viewport-height, 100svh));
  }
}
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
span.edgeLabel {
  color: black !important;
  background-color: #a3ff98 !important;
}

.node > g > g > foreignObject > div {
  color: green;
  stroke: black;
}

.mermaid svg .cluster rect {
  fill: none !important;
  stroke: black !important;
}

.mermaid svg .node polygon {
  fill: #d2f8d2 !important;
  stroke: black !important;
}

.mermaid svg .node rect {
  fill: #d2f8d2 !important;
  stroke: black !important;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Disable scrolling on the body while modal is open */
body.modal-open {
  overflow: hidden;
}

/* The Modal (background overlay) */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}

/* Modal Content Wrapper — NEUTRAL, NO STYLING */
.modal-content {
  position: relative;
  text-align: center;
  margin: 10% auto;
  padding: 0;
  width: 90%;
  max-width: 600px;
  background: transparent;
  border: none;
  border-radius: 0;
  background-color: #000000;
  /* Animation */
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 0.3s ease, transform 0.3s ease;
  /* Trigger animation when .show is added */
}
.modal.show .modal-content {
  opacity: 1;
  transform: scale(1);
}

/* Close Button — Enhanced */
.close {
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 10;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0.25rem;
  border-radius: 50%;
  transition: all 0.2s ease;
  /* Improve accessibility and hit area */
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close:hover, .close:focus {
  color: #ff4d4d;
  background-color: rgba(0, 0, 0, 0.2);
  outline: 2px solid rgba(255, 255, 255, 0.3);
  outline-offset: 2px;
  transform: scale(1.05);
}
.close:focus {
  outline: 2px solid #4A90E2;
  outline-offset: 2px;
}
.close:active {
  transform: scale(0.95);
  background-color: rgba(0, 0, 0, 0.3);
}
.close {
  /* Optional: subtle shadow for depth */
}
.close::before {
  content: "";
  position: absolute;
  inset: -0.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.close:hover::before {
  opacity: 1;
}
.close {
  /* Optional: Add accessible label */
}
.close[aria-label="Close modal"] {
  /* No visual change, but improves screen reader UX */
}
.close svg {
  display: block;
  transition: stroke 0.2s ease;
}
.close:hover svg {
  stroke: #ff4d4d;
}

.ql-booking-widget {
  --booking-panel-bg: color-mix(in srgb, var(--surface-card-bg, rgba(255, 255, 255, 0.88)) 88%, white 12%);
  --booking-panel-border: color-mix(in srgb, var(--border, rgba(0, 0, 0, 0.12)) 72%, transparent);
  --booking-accent: var(--accent, #1f6b5c);
  --booking-accent-ink: var(--bg, #ffffff);
  --booking-tone-default: var(--booking-accent);
  --booking-tone-hall-hire: var(--booking-accent);
  --booking-tone-learning: color-mix(in srgb, var(--booking-accent) 58%, #4f46e5 42%);
  --booking-tone-consulting: color-mix(in srgb, var(--booking-accent) 44%, #b45309 56%);
  --booking-tone-community: color-mix(in srgb, var(--booking-accent) 72%, #0f766e 28%);
  --booking-tone-calendar: color-mix(in srgb, var(--fg-light, rgba(0, 0, 0, 0.72)) 82%, var(--booking-accent) 18%);
  --booking-event-bg: color-mix(in srgb, var(--booking-accent) 8%, white);
  --booking-event-border: color-mix(in srgb, var(--booking-accent) 18%, transparent);
  --booking-status-error: #b42318;
  --booking-status-ok: var(--booking-tone-community);
  width: min(100%, var(--surface-content-max-width, var(--content-max-width, 72rem)));
  margin-inline: auto;
}
.ql-booking-widget button,
.ql-booking-widget .button,
.ql-booking-widget [type=button],
.ql-booking-widget [type=submit],
.ql-booking-widget [type=reset] {
  appearance: none;
  margin: 0;
  border: 0;
  min-width: 0;
  max-width: none;
  width: auto;
  height: auto;
  padding: 0;
  line-height: 1.2;
  white-space: normal;
  text-transform: none;
  letter-spacing: inherit;
  font: inherit;
  color: inherit;
  background: none;
  box-shadow: none;
}

.ql-booking-widget-shell {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.ql-booking-title {
  margin: 0;
}

.ql-booking-intro > *:last-child {
  margin-bottom: 0;
}

.ql-booking-links {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.ql-booking-links a {
  font-size: 0.95rem;
  text-decoration: underline;
}

.ql-booking-filter-group {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 0.9rem;
}

.ql-booking-filter-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fg-light, rgba(0, 0, 0, 0.68));
}

.ql-booking-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.ql-booking-layout {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ql-booking-panel {
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: 1.2rem;
  background: var(--booking-panel-bg);
  border: 1px solid var(--booking-panel-border);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}
.ql-booking-panel h4 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.ql-booking-resources,
.ql-booking-slots,
.ql-booking-day-items,
.ql-booking-list-days {
  display: grid;
  gap: 0.75rem;
}

.ql-booking-resource,
.ql-booking-slot,
.ql-booking-event,
.ql-booking-week-day,
.ql-booking-date,
.ql-booking-filter-button,
.ql-booking-view-button,
.ql-booking-period-button {
  appearance: none;
  color: inherit;
  font: inherit;
}

.ql-booking-resource,
.ql-booking-slot {
  display: grid;
  gap: 0.28rem;
  padding: 0.85rem 0.95rem;
  border-radius: 0.95rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.82);
  text-align: left;
}

.ql-booking-resource {
  cursor: pointer;
}
.ql-booking-resource strong {
  display: block;
}
.ql-booking-resource span {
  font-size: 0.92rem;
  color: var(--fg-light, rgba(0, 0, 0, 0.7));
}

.ql-booking-slot {
  cursor: pointer;
}
.ql-booking-slot input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ql-booking-resource.is-selected,
.ql-booking-slot.is-selected,
.ql-booking-date.is-selected,
.ql-booking-week-day.is-selected,
.ql-booking-view-button.is-selected {
  border-color: var(--booking-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--booking-accent) 24%, transparent);
}

.ql-booking-period-toolbar {
  display: grid;
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.ql-booking-view-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.ql-booking-view-button,
.ql-booking-filter-button,
.ql-booking-period-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.78);
  border-radius: 999px;
  min-height: 2.75rem;
  padding: 0.55rem 0.9rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.ql-booking-filter-button {
  padding-inline: 0.8rem;
}

.ql-booking-period-button.is-ghost {
  background: transparent;
}

.ql-booking-period-nav {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.ql-booking-period-label {
  min-width: 10rem;
  font-weight: 700;
  color: var(--fg-bold, inherit);
}

.ql-booking-calendar-layout {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.9fr);
}

.ql-booking-calendar-layout--single {
  grid-template-columns: minmax(0, 1fr);
}

.ql-booking-calendar-shell,
.ql-booking-calendar-slots {
  display: grid;
  gap: 0.85rem;
}

.ql-booking-calendar {
  display: grid;
  gap: 0.85rem;
}

.ql-booking-calendar-month {
  display: grid;
  gap: 0.55rem;
}

.ql-booking-calendar-month.is-compact {
  gap: 0.4rem;
}

.ql-booking-calendar-month-label,
.ql-booking-day-heading {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--fg-bold, inherit);
}

.ql-booking-calendar-weekdays,
.ql-booking-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
}

.ql-booking-calendar-grid.is-compact {
  gap: 0.28rem;
}

.ql-booking-calendar-weekdays span {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fg-light, rgba(0, 0, 0, 0.66));
  text-align: center;
}

.ql-booking-date-cell.is-empty {
  min-height: 4.2rem;
}

.ql-booking-date {
  display: grid;
  gap: 0.25rem;
  justify-items: center;
  align-content: center;
  min-height: 4.4rem;
  padding: 0.6rem 0.35rem;
  border-radius: 0.95rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
}
.ql-booking-date strong {
  font-size: 1rem;
  line-height: 1;
}

.ql-booking-date.is-compact {
  min-height: 2.8rem;
  padding: 0.35rem 0.2rem;
  border-radius: 0.7rem;
}
.ql-booking-date.is-compact strong {
  font-size: 0.82rem;
}

.ql-booking-date-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
}

.ql-booking-date-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.14rem 0.35rem;
  border-radius: 999px;
  font-size: 0.63rem;
  line-height: 1.1;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--booking-panel-border);
  color: var(--fg-light, rgba(0, 0, 0, 0.72));
}

.ql-booking-date-badge.is-slot {
  background: color-mix(in srgb, var(--booking-accent) 12%, white);
}

.ql-booking-date-badge.is-event {
  background: color-mix(in srgb, var(--booking-tone-calendar) 10%, white);
}

.ql-booking-date-dots {
  display: inline-flex;
  gap: 0.18rem;
  align-items: center;
  justify-content: center;
}

.ql-booking-date-dot {
  display: inline-block;
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 999px;
  background: var(--booking-panel-border);
}

.ql-booking-date-dot.is-slot {
  background: var(--booking-accent);
}

.ql-booking-date-dot.is-event {
  background: var(--booking-tone-calendar);
}

.ql-booking-week-strip {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ql-booking-week-day {
  display: grid;
  gap: 0.35rem;
  justify-items: center;
  align-content: start;
  padding: 0.75rem 0.45rem;
  border-radius: 1rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
}

.ql-booking-week-day-weekday {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fg-light, rgba(0, 0, 0, 0.66));
}

.ql-booking-year-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ql-booking-day-agenda {
  display: grid;
  gap: 0.85rem;
}

.ql-booking-day-agenda.is-compact {
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.58);
}

.ql-booking-day-sections {
  display: grid;
  gap: 0.85rem;
}

.ql-booking-calendar-cta {
  margin-top: 0.8rem;
}
.ql-booking-calendar-cta .button.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0.85rem 1.2rem;
  border-radius: 999px;
  background: var(--booking-accent);
  color: var(--booking-accent-ink);
  font-weight: 700;
  text-decoration: none;
}

.ql-booking-day-section {
  display: grid;
  gap: 0.7rem;
}
.ql-booking-day-section h5 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fg-light, rgba(0, 0, 0, 0.68));
}

.ql-booking-section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.7rem;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.86);
  color: var(--fg-bold, inherit);
  font-size: 0.7rem;
  line-height: 1;
}

.ql-booking-event {
  --booking-event-tone: var(--booking-tone-default);
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.95rem;
  border: 1px solid color-mix(in srgb, var(--booking-event-tone) 18%, transparent);
  background: color-mix(in srgb, var(--booking-event-tone) 8%, white);
}

.ql-booking-event.is-source-nextcloud,
.ql-booking-event.is-kind-busy {
  --booking-event-tone: var(--booking-tone-calendar);
}

.ql-booking-event.is-category-hall-hire {
  --booking-event-tone: var(--booking-tone-hall-hire);
}

.ql-booking-event.is-category-class,
.ql-booking-event.is-category-workshop {
  --booking-event-tone: var(--booking-tone-learning);
}

.ql-booking-event.is-category-meeting,
.ql-booking-event.is-category-consulting,
.ql-booking-event.is-category-tutoring {
  --booking-event-tone: var(--booking-tone-consulting);
}

.ql-booking-event.is-category-community,
.ql-booking-event.is-category-public {
  --booking-event-tone: var(--booking-tone-community);
}

.ql-booking-event-header {
  display: grid;
  gap: 0.4rem;
}

.ql-booking-event-time {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--fg-bold, inherit);
}

.ql-booking-event-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.ql-booking-event-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.16rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--booking-event-border);
  background: rgba(255, 255, 255, 0.82);
  color: var(--fg-light, rgba(0, 0, 0, 0.72));
  font-size: 0.7rem;
  line-height: 1.1;
}

.ql-booking-event-pill.is-source-booking,
.ql-booking-event-pill.is-source-nextcloud {
  background: color-mix(in srgb, var(--booking-tone-default) 8%, white);
}

.ql-booking-event-pill.is-source-nextcloud {
  background: color-mix(in srgb, var(--booking-tone-calendar) 10%, white);
}

.ql-booking-event-pill[class*=is-category-] {
  border-color: color-mix(in srgb, var(--booking-event-tone, var(--booking-accent)) 20%, transparent);
  background: color-mix(in srgb, var(--booking-event-tone, var(--booking-accent)) 12%, white);
}

.ql-booking-filter-button.is-selected,
.ql-booking-filter-button[class*=is-category-].is-selected {
  border-color: var(--booking-event-tone, var(--booking-accent));
  background: color-mix(in srgb, var(--booking-event-tone, var(--booking-accent)) 12%, white);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--booking-event-tone, var(--booking-accent)) 20%, transparent);
}

.ql-booking-filter-button.is-category-hall-hire,
.ql-booking-event.is-category-hall-hire,
.ql-booking-event-pill.is-category-hall-hire {
  --booking-event-tone: var(--booking-tone-hall-hire);
}

.ql-booking-filter-button.is-category-class,
.ql-booking-filter-button.is-category-workshop,
.ql-booking-event-pill.is-category-class,
.ql-booking-event-pill.is-category-workshop {
  --booking-event-tone: var(--booking-tone-learning);
}

.ql-booking-filter-button.is-category-meeting,
.ql-booking-filter-button.is-category-consulting,
.ql-booking-filter-button.is-category-tutoring,
.ql-booking-event-pill.is-category-meeting,
.ql-booking-event-pill.is-category-consulting,
.ql-booking-event-pill.is-category-tutoring {
  --booking-event-tone: var(--booking-tone-consulting);
}

.ql-booking-filter-button.is-category-community,
.ql-booking-filter-button.is-category-public,
.ql-booking-event-pill.is-category-community,
.ql-booking-event-pill.is-category-public {
  --booking-event-tone: var(--booking-tone-community);
}

.ql-booking-filter-button.is-category-calendar,
.ql-booking-event-pill.is-category-calendar {
  --booking-event-tone: var(--booking-tone-calendar);
}

.ql-booking-event-copy {
  display: grid;
  gap: 0.22rem;
}
.ql-booking-event-copy strong {
  color: var(--fg-bold, inherit);
}
.ql-booking-event-copy span {
  font-size: 0.9rem;
  color: var(--fg-light, rgba(0, 0, 0, 0.72));
}

.ql-booking-form {
  display: grid;
  gap: 1rem;
}

.ql-booking-form-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ql-booking-form-grid label {
  display: grid;
  gap: 0.4rem;
  font-size: 0.95rem;
}
.ql-booking-form-grid input,
.ql-booking-form-grid textarea {
  width: 100%;
  padding: 0.82rem 0.95rem;
  border-radius: 0.9rem;
  border: 1px solid var(--booking-panel-border);
  background: rgba(255, 255, 255, 0.94);
  color: inherit;
}

.ql-booking-notes {
  grid-column: 1/-1;
}

.ql-booking-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}
.ql-booking-actions button.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0.85rem 1.2rem;
  border-radius: 999px;
  background: var(--booking-accent);
  color: var(--booking-accent-ink);
  font-weight: 700;
}
.ql-booking-actions button.primary[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.ql-booking-status {
  margin: 0;
  min-height: 1.2rem;
}

.ql-booking-status.is-error {
  color: var(--booking-status-error);
}

.ql-booking-status.is-ok {
  color: var(--booking-status-ok);
}

.ql-booking-loading,
.ql-booking-empty {
  margin: 0;
  color: var(--fg-light, rgba(0, 0, 0, 0.72));
}

@media screen and (max-width: 980px) {
  .ql-booking-layout,
  .ql-booking-form-grid,
  .ql-booking-calendar-layout,
  .ql-booking-year-grid {
    grid-template-columns: 1fr;
  }
  .ql-booking-period-nav {
    align-items: stretch;
  }
  .ql-booking-period-label {
    min-width: 0;
    width: 100%;
  }
  .ql-booking-week-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 736px) {
  .ql-booking-panel {
    padding: 0.95rem;
  }
  .ql-booking-calendar-weekdays,
  .ql-booking-calendar-grid {
    gap: 0.3rem;
  }
  .ql-booking-date,
  .ql-booking-date-cell.is-empty {
    min-height: 3.5rem;
  }
  .ql-booking-date.is-compact {
    min-height: 2.4rem;
  }
  .ql-booking-view-button,
  .ql-booking-period-button {
    width: 100%;
    justify-content: center;
  }
  .ql-booking-view-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.ql-fundalumin-widget {
  --widget-bg: var(--surface-card-bg, color-mix(in srgb, var(--bg, #ffffff) 94%, white 6%));
  --widget-panel-bg: color-mix(in srgb, var(--widget-bg) 92%, white 8%);
  --widget-panel-border: color-mix(in srgb, var(--border, rgba(0, 0, 0, 0.14)) 74%, transparent);
  --widget-ink: var(--fg, #0f172a);
  --widget-muted: var(--fg-light, rgba(15, 23, 42, 0.7));
  --widget-accent: var(--accent, #2563eb);
  --widget-accent-ink: var(--bg, #ffffff);
  --widget-accent-soft: color-mix(in srgb, var(--widget-accent) 12%, transparent);
  --widget-radius: clamp(1rem, 2vw, 1.45rem);
  --widget-gap: clamp(1rem, 2vw, 1.35rem);
  --widget-shadow: 0 20px 44px rgba(15, 23, 42, 0.08);
  width: min(100%, var(--surface-content-max-width, var(--content-max-width, 72rem)));
  margin-inline: auto;
  color: var(--widget-ink);
}
.ql-fundalumin-widget button,
.ql-fundalumin-widget .button,
.ql-fundalumin-widget [type=button],
.ql-fundalumin-widget [type=submit],
.ql-fundalumin-widget [type=reset] {
  appearance: none;
  margin: 0;
  border: 0;
  min-width: 0;
  max-width: none;
  width: auto;
  height: auto;
  padding: 0;
  line-height: 1.2;
  white-space: normal;
  text-transform: none;
  letter-spacing: inherit;
  font: inherit;
  color: inherit;
  background: none;
  box-shadow: none;
}

.ql-fundalumin-shell {
  display: grid;
  gap: var(--widget-gap);
}

.ql-fundalumin-title {
  margin: 0;
}

.ql-fundalumin-intro > *:last-child {
  margin-bottom: 0;
}

.ql-fundalumin-root {
  display: grid;
  gap: var(--widget-gap);
}

.ql-fundalumin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ql-fundalumin-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.ql-fundalumin-card {
  display: grid;
  gap: 0.95rem;
  padding: clamp(1rem, 2vw, 1.25rem);
  border-radius: var(--widget-radius);
  border: 1px solid var(--widget-panel-border);
  background: var(--widget-panel-bg);
  box-shadow: var(--widget-shadow);
}

.ql-fundalumin-card-top,
.ql-fundalumin-money,
.ql-fundalumin-chip-row {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  align-items: center;
}

.ql-fundalumin-pill,
.ql-fundalumin-kicker,
.ql-fundalumin-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  background: var(--widget-accent-soft);
  color: var(--widget-accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ql-fundalumin-kicker,
.ql-fundalumin-chip {
  background: color-mix(in srgb, var(--widget-panel-border) 35%, transparent);
  color: var(--widget-ink);
  letter-spacing: 0.02em;
  text-transform: none;
}

.ql-fundalumin-card-title,
.ql-fundalumin-profile-name {
  margin: 0;
  color: var(--widget-ink);
}

.ql-fundalumin-card-copy,
.ql-fundalumin-profile-story,
.ql-fundalumin-wishlist-copy,
.ql-fundalumin-status,
.ql-fundalumin-loading {
  margin: 0;
  color: var(--widget-muted);
}

.ql-fundalumin-money strong {
  color: var(--widget-ink);
  font-size: 1.15rem;
}

.ql-fundalumin-meter {
  height: 0.7rem;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--widget-panel-border) 40%, transparent);
}
.ql-fundalumin-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--widget-accent) 72%, white 28%), var(--widget-accent));
}

.ql-fundalumin-section {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.4rem;
  border-top: 1px solid color-mix(in srgb, var(--widget-panel-border) 68%, transparent);
}

.ql-fundalumin-section-label {
  color: var(--widget-muted);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ql-fundalumin-wishlist {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ql-fundalumin-wishlist-item {
  display: grid;
  gap: 0.18rem;
  padding: 0.75rem 0.8rem;
  border-radius: 1rem;
  border: 1px solid color-mix(in srgb, var(--widget-panel-border) 72%, transparent);
  background: color-mix(in srgb, var(--widget-bg) 84%, white 16%);
}

.ql-fundalumin-wishlist-amount {
  font-weight: 700;
  color: var(--widget-accent);
}

.ql-fundalumin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: fit-content;
  min-height: 2.8rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--widget-accent);
  color: var(--widget-accent-ink);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--widget-accent) 18%, transparent);
}

.ql-fundalumin-button:hover,
.ql-fundalumin-button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 24px color-mix(in srgb, var(--widget-accent) 22%, transparent);
}

.ql-fundalumin-button.is-secondary {
  background: transparent;
  border-color: var(--widget-panel-border);
  color: var(--widget-ink);
  box-shadow: none;
}

.ql-fundalumin-status.is-error {
  color: #b42318;
}

@media screen and (max-width: 980px) {
  .ql-fundalumin-actions {
    flex-direction: column;
  }
  .ql-fundalumin-actions .ql-fundalumin-button {
    width: 100%;
  }
}
/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* summaries.css */
.summary.style1 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.4);
  border-radius: 1rem;
  border: 0.1rem rgba(0, 0, 0, 0.1) solid;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  padding: 1rem;
  margin-bottom: 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  padding: 1rem;
}

.summary.style1:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.summary.style1 h2 {
  font-size: 1.3rem;
  color: #111;
}

.summary.style1 h3 {
  font-size: 1rem;
  color: #555;
  margin-top: 0.2rem;
}

.summary.style1 h4,
.summary.style1 h5 {
  font-size: 0.85rem;
  color: #777;
  margin: 0.3rem 0;
}

.summary.style1 p {
  color: #333;
  line-height: 1.5;
  margin-top: 0.5rem;
}

.summary.style1 figure.right {
  width: 100%;
  max-width: 100%;
  border-radius: 0.75rem;
  overflow: hidden;
  margin: 0;
}

.summary.style1 figure.right img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.summary-overlay {
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  z-index: 1;
}

.summary {
  position: relative; /* For clickable overlay */
}

/* Desktop / larger screens */
@media screen and (min-width: 768px) {
  .summary.style1 {
    flex-direction: row;
    gap: 1.5rem;
    padding: 1.5rem;
    margin: 1rem auto;
    max-width: 100%;
    width: var(--size_inner);
  }
  .summary.style1 figure.right {
    width: 25%;
    max-height: none;
  }
  .summary.style1 h2 {
    font-size: 1.4rem;
  }
  .summary.style1 h3 {
    font-size: 1.1rem;
  }
  .summary.style1 h4,
  .summary.style1 h5 {
    font-size: 0.9rem;
  }
}
.summary span.chapter-number {
  opacity: 0.6;
}

.summary .summary-children ul {
  list-style-type: none;
}
.summary .summary-children a {
  position: relative;
  z-index: 2;
  transition: color var(--duration_transition) ease-in-out;
  text-decoration: none;
}
.summary .summary-children a:hover {
  text-decoration: none;
}

.ql-skill-meter {
  --ql-skill-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03) 120%);
  --ql-skill-card-sheen: radial-gradient(900px 260px at 20% 0%, rgba(255, 255, 255, 0.12), transparent 60%);
  --ql-skill-card-fg: rgba(255, 255, 255, 0.94);
  --ql-skill-card-muted: rgba(255, 255, 255, 0.72);
  --ql-skill-card-muted-2: rgba(255, 255, 255, 0.56);
  --ql-skill-card-stroke: rgba(255, 255, 255, 0.12);
  --ql-skill-card-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.32);
  --ql-skill-accent-a: #7c3aed;
  --ql-skill-accent-b: #16a34a;
  --ql-skill-accent-c: #0891b2;
  width: 100%;
}

.ql-skill-meter-card {
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
  padding: 1.5rem;
  border-radius: 1.5rem;
  border: 1px solid var(--ql-skill-card-stroke);
  background: var(--ql-skill-card-sheen), var(--ql-skill-card-bg);
  color: var(--ql-skill-card-fg);
  box-shadow: var(--ql-skill-card-shadow);
  backdrop-filter: blur(14px) saturate(1.14);
  -webkit-backdrop-filter: blur(14px) saturate(1.14);
}

.ql-skill-meter-header {
  display: grid;
  grid-template-columns: 1.2fr auto;
  gap: 1.25rem;
  align-items: center;
}

.ql-skill-meter-copy {
  display: grid;
  gap: 0.45rem;
}

.ql-skill-meter-eyebrow {
  margin: 0;
  color: var(--ql-skill-card-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.74rem;
}

.ql-skill-meter-title {
  margin: 0;
  color: var(--ql-skill-card-fg);
  font-size: 1.75rem;
  line-height: 1.08;
}

.ql-skill-meter-subtext {
  margin: 0;
  color: var(--ql-skill-card-muted);
  font-size: 0.96rem;
  line-height: 1.6;
  max-width: 42rem;
}

.ql-skill-meter-meter {
  position: relative;
  width: 12.5rem;
  height: 12.5rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
}

.ql-skill-meter-ring {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: conic-gradient(from -90deg, var(--ql-skill-accent-a) 0%, var(--ql-skill-accent-c) 35%, var(--ql-skill-accent-b) 70%, var(--ql-skill-accent-a) 100%);
  filter: saturate(1.12);
  opacity: 0.96;
  -webkit-mask: conic-gradient(#000 0 var(--p, 0%), transparent 0);
  mask: conic-gradient(#000 0 var(--p, 0%), transparent 0);
}

.ql-skill-meter-meter::before {
  content: "";
  position: absolute;
  inset: 0.88rem;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02) 135%);
  border: 1px solid var(--ql-skill-card-stroke);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.ql-skill-meter-meter-text {
  position: relative;
  text-align: center;
  padding: 0 0.75rem;
}

.ql-skill-meter-pct {
  display: inline-flex;
  align-items: baseline;
  gap: 0.12rem;
  font-variant-numeric: tabular-nums;
}

.ql-skill-meter-value {
  font-size: 2.7rem;
  font-weight: 720;
  letter-spacing: -0.03em;
  color: var(--ql-skill-card-fg);
}

.ql-skill-meter-unit {
  font-size: 1rem;
  color: var(--ql-skill-card-muted);
  font-weight: 600;
}

.ql-skill-meter-label {
  margin-top: 0.38rem;
  font-size: 0.8rem;
  color: var(--ql-skill-card-muted);
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.ql-skill-meter-current,
.ql-skill-meter-next {
  padding: 0.25rem 0.65rem;
  border: 1px solid var(--ql-skill-card-stroke);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--ql-skill-card-fg);
  font-weight: 600;
}

.ql-skill-meter-divider {
  color: var(--ql-skill-card-muted-2);
}

.ql-skill-meter-belts {
  margin-top: 1rem;
  padding-top: 0.95rem;
  border-top: 1px solid var(--ql-skill-card-stroke);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.7rem;
}

.ql-skill-meter-belt {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  color: var(--ql-skill-card-muted-2);
  font-size: 0.76rem;
  user-select: none;
}

.ql-skill-meter-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--ql-skill-card-stroke);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.ql-skill-meter-belt.is-active {
  color: var(--ql-skill-card-fg);
}

.ql-skill-meter-belt.is-active .ql-skill-meter-dot {
  background: linear-gradient(135deg, var(--ql-skill-accent-a), var(--ql-skill-accent-c));
  border-color: transparent;
}

.ql-skill-meter-stats {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}

.ql-skill-meter-stats li {
  border: 1px solid var(--ql-skill-card-stroke);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 1rem;
  padding: 0.78rem 0.9rem;
  display: grid;
  gap: 0.35rem;
}

.ql-skill-meter-stat-k {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ql-skill-card-muted-2);
}

.ql-skill-meter-stat-v {
  color: var(--ql-skill-card-fg);
  font-size: 0.88rem;
  line-height: 1.45;
  font-weight: 600;
}

.ql-skill-meter-note {
  margin: 0.9rem 0 0;
  color: var(--ql-skill-card-muted-2);
  font-size: 0.82rem;
  line-height: 1.55;
}

.ql-skill-meter-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ql-skill-meter--compact .ql-skill-meter-card {
  max-width: 44rem;
  padding: 1.2rem;
}

.ql-skill-meter--compact .ql-skill-meter-header {
  grid-template-columns: 1fr auto;
  gap: 1rem;
}

.ql-skill-meter--compact .ql-skill-meter-meter {
  width: 9.75rem;
  height: 9.75rem;
}

.ql-skill-meter--compact .ql-skill-meter-value {
  font-size: 2.15rem;
}

.ql-skill-meter--compact .ql-skill-meter-title {
  font-size: 1.45rem;
}

.ql-skill-meter--compact .ql-skill-meter-subtext {
  font-size: 0.9rem;
  max-width: 34rem;
}

.ql-skill-meter--compact .ql-skill-meter-stats {
  grid-template-columns: repeat(2, 1fr);
}

.ql-skill-meter--compact .ql-skill-meter-note {
  font-size: 0.78rem;
}

@media screen and (max-width: 980px) {
  .ql-skill-meter-header,
  .ql-skill-meter--compact .ql-skill-meter-header {
    grid-template-columns: 1fr;
  }
  .ql-skill-meter-meter,
  .ql-skill-meter--compact .ql-skill-meter-meter {
    margin-inline: auto;
  }
}
@media screen and (max-width: 736px) {
  .ql-skill-meter-card {
    padding: 1rem;
  }
  .ql-skill-meter-meter {
    width: 8.75rem;
    height: 8.75rem;
  }
  .ql-skill-meter-value {
    font-size: 1.9rem;
  }
  .ql-skill-meter-belts,
  .ql-skill-meter-stats,
  .ql-skill-meter--compact .ql-skill-meter-stats {
    grid-template-columns: 1fr;
  }
}
/*
  QuantaLumin SCSS
  Quiz widget styles
*/
.ql-quiz {
  --ql-quiz-bg: var(--surface-quiz-bg, color-mix(in srgb, var(--bg) 96%, white 4%));
  --ql-quiz-ink: var(--surface-quiz-fg, var(--fg));
  --ql-quiz-muted: var(--surface-quiz-muted, var(--fg_light));
  --ql-quiz-border: var(--surface-quiz-border, color-mix(in srgb, var(--border) 80%, transparent));
  --ql-quiz-accent: var(--surface-quiz-accent, var(--accent, #2563eb));
  --ql-quiz-success: var(--surface-quiz-success, #18794e);
  --ql-quiz-danger: var(--surface-quiz-danger, #b42318);
  --ql-quiz-radius: var(--surface-quiz-radius, clamp(1rem, 2vw, 1.5rem));
  --ql-quiz-gap: var(--surface-quiz-gap, clamp(1rem, 2.5vw, 1.5rem));
  --ql-quiz-question-gap: var(--surface-quiz-question-gap, clamp(0.75rem, 1.8vw, 1rem));
  color: var(--ql-quiz-ink);
  margin: clamp(1.25rem, 3vw, 2rem) 0;
}
.ql-quiz .ql-quiz-shell {
  background: var(--ql-quiz-bg);
  border: 1px solid var(--ql-quiz-border);
  border-radius: var(--ql-quiz-radius);
  box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, 0.08);
  padding: clamp(1rem, 2.5vw, 1.75rem);
}
.ql-quiz .ql-quiz-header {
  display: grid;
  gap: 0.55rem;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}
.ql-quiz .ql-quiz-eyebrow {
  color: var(--ql-quiz-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}
.ql-quiz .ql-quiz-title {
  font-size: clamp(1.35rem, 3vw, 2rem);
  margin: 0;
}
.ql-quiz .ql-quiz-intro {
  color: var(--ql-quiz-muted);
}
.ql-quiz .ql-quiz-intro > *:first-child {
  margin-top: 0;
}
.ql-quiz .ql-quiz-intro > *:last-child {
  margin-bottom: 0;
}
.ql-quiz .ql-quiz-form {
  display: grid;
  gap: var(--ql-quiz-gap);
}
.ql-quiz .ql-quiz-question-list {
  display: grid;
  gap: var(--ql-quiz-gap);
  list-style: none;
  margin: 0;
  padding: 0;
}
.ql-quiz .ql-quiz-question {
  background: color-mix(in srgb, var(--ql-quiz-bg) 92%, white 8%);
  border: 1px solid color-mix(in srgb, var(--ql-quiz-border) 72%, transparent);
  border-radius: clamp(0.9rem, 1.8vw, 1.2rem);
  padding: clamp(0.9rem, 2vw, 1.15rem);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.ql-quiz .ql-quiz-question.is-correct {
  border-color: color-mix(in srgb, var(--ql-quiz-success) 50%, var(--ql-quiz-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ql-quiz-success) 14%, transparent);
}
.ql-quiz .ql-quiz-question.is-incorrect {
  border-color: color-mix(in srgb, var(--ql-quiz-danger) 50%, var(--ql-quiz-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ql-quiz-danger) 14%, transparent);
}
.ql-quiz .ql-quiz-fieldset {
  border: 0;
  display: grid;
  gap: var(--ql-quiz-question-gap);
  margin: 0;
  min-width: 0;
  padding: 0;
}
.ql-quiz .ql-quiz-legend {
  margin: 0;
  padding: 0;
}
.ql-quiz .ql-quiz-question-number {
  color: var(--ql-quiz-muted);
  display: inline-flex;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.ql-quiz .ql-quiz-prompt > *:first-child,
.ql-quiz .ql-quiz-body > *:first-child {
  margin-top: 0;
}
.ql-quiz .ql-quiz-prompt > *:last-child,
.ql-quiz .ql-quiz-body > *:last-child {
  margin-bottom: 0;
}
.ql-quiz .ql-quiz-help {
  color: var(--ql-quiz-muted);
  font-size: 0.95rem;
  margin: 0;
}
.ql-quiz .ql-quiz-choice-list {
  display: grid;
  gap: 0.7rem;
}
.ql-quiz .ql-quiz-choice {
  align-items: start;
  background: color-mix(in srgb, var(--ql-quiz-bg) 88%, white 12%);
  border: 1px solid color-mix(in srgb, var(--ql-quiz-border) 70%, transparent);
  border-radius: 0.95rem;
  cursor: pointer;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto 1fr;
  padding: 0.8rem 0.9rem;
}
.ql-quiz .ql-quiz-choice:hover {
  border-color: color-mix(in srgb, var(--ql-quiz-accent) 38%, var(--ql-quiz-border));
}
.ql-quiz .ql-quiz-choice input {
  accent-color: var(--ql-quiz-accent);
  margin: 0.15rem 0 0;
}
.ql-quiz .ql-quiz-choice-copy {
  display: block;
  line-height: 1.55;
}
.ql-quiz .ql-quiz-choice-copy > *:first-child {
  margin-top: 0;
}
.ql-quiz .ql-quiz-choice-copy > *:last-child {
  margin-bottom: 0;
}
.ql-quiz .ql-quiz-explanation {
  background: color-mix(in srgb, var(--ql-quiz-accent) 8%, transparent);
  border-left: 3px solid color-mix(in srgb, var(--ql-quiz-accent) 55%, transparent);
  border-radius: 0.7rem;
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem 0.9rem;
}
.ql-quiz .ql-quiz-explanation[hidden] {
  display: none;
}
.ql-quiz .ql-quiz-explanation-label {
  font-size: 0.88rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.ql-quiz .ql-quiz-explanation-body > *:first-child {
  margin-top: 0;
}
.ql-quiz .ql-quiz-explanation-body > *:last-child {
  margin-bottom: 0;
}
.ql-quiz .ql-quiz-footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  justify-content: space-between;
}
.ql-quiz .ql-quiz-summary {
  color: var(--ql-quiz-ink);
  font-weight: 600;
}
.ql-quiz .ql-quiz-summary[hidden] {
  display: none;
}
.ql-quiz .ql-quiz-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.ql-quiz .ql-quiz-actions button {
  background: var(--ql-quiz-accent);
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  min-width: 9rem;
  padding: 0.72rem 1rem;
}
.ql-quiz .ql-quiz-actions button[type=reset] {
  background: transparent;
  border-color: var(--ql-quiz-border);
  color: var(--ql-quiz-ink);
}
@media screen and (max-width: 736px) {
  .ql-quiz .ql-quiz-shell {
    padding: 1rem;
  }
  .ql-quiz .ql-quiz-choice {
    grid-template-columns: 1fr;
  }
  .ql-quiz .ql-quiz-footer,
  .ql-quiz .ql-quiz-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .ql-quiz .ql-quiz-actions button {
    width: 100%;
  }
}

.ql-quiz-error {
  color: var(--surface-quiz-danger, #b42318);
}

nav.content ul.actions.special {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas: "top top top" "previous up next";
  align-items: center;
  row-gap: 0.75rem;
  column-gap: 0.75rem;
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
  padding: 0;
}

nav.content ul.actions.special > li {
  list-style: none;
  min-width: 0;
  padding: 0;
}

nav.content ul.actions.special .nav-top {
  grid-area: top;
  justify-self: center;
}

nav.content ul.actions.special .nav-previous {
  grid-area: previous;
}

nav.content ul.actions.special .nav-next {
  grid-area: next;
}

nav.content ul.actions.special .nav-up {
  grid-area: up;
  justify-self: center;
}

nav.content ul.actions.special .nav-previous,
nav.content ul.actions.special .nav-next {
  min-width: 0;
}

nav.content ul.actions.special .nav-previous .button,
nav.content ul.actions.special .nav-next .button {
  width: 100%;
  max-width: none;
  min-width: 0;
}

nav.content ul.actions.special .nav-top .button,
nav.content ul.actions.special .nav-up .button {
  width: auto;
}

nav.content ul.actions.special .nav-previous .button {
  justify-content: flex-start;
}

nav.content ul.actions.special .nav-next .button {
  justify-content: flex-end;
}

nav.content ul.actions.special .nav-previous .icon-wrapper,
nav.content ul.actions.special .nav-next .icon-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: none;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

nav.content ul.actions.special .nav-previous .text,
nav.content ul.actions.special .nav-next .text {
  display: block;
  flex: 1 1 auto;
  max-width: none;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

nav.content ul.actions.special .nav-previous .text {
  text-align: left;
}

nav.content ul.actions.special .nav-next .text {
  text-align: right;
}

nav.content ul.actions.special .nav-previous .icon,
nav.content ul.actions.special .nav-next .icon {
  flex: 0 0 auto;
}

/* legacy: keep hidden if it appears elsewhere */
#TableOfContents {
  display: none;
}

/* === Overlay system === */
.ql-aside-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147482000;
  background: rgba(0, 0, 0, 0.55);
  display: none;
}

body.aside-any-open .ql-aside-backdrop {
  display: block;
}

.ql-aside {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 2147482500;
  width: 90vw;
  max-width: 420px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
  overflow-y: auto;
  box-shadow: rgba(0, 0, 0, 0.3) 0 10px 30px;
  transition: transform 0.22s ease;
  /* keep clicks inside, but not leaking */
  pointer-events: auto;
}

.ql-aside--left {
  left: 0;
  transform: translateX(-110%);
}

.ql-aside--right {
  right: 0;
  transform: translateX(110%);
}

/* Open states */
body.aside-book-open #ql-aside-book {
  transform: translateX(0);
}

body.aside-page-open #ql-aside-page {
  transform: translateX(0);
}

body.aside-video-open #ql-aside-video {
  transform: translateX(0);
}

body.aside-summary-open #ql-aside-summary {
  transform: translateX(0);
}

/* Panel inner layout */
.ql-aside__inner {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.ql-aside__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.ql-aside__title {
  margin: 0;
  font-size: 1.1rem;
}

.ql-aside__hint {
  margin: 0;
  opacity: 0.75;
  font-size: 0.9rem;
}

.ql-aside__close {
  border: 0;
  background: transparent;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  line-height: 1;
}

/* TOC styling */
.toc {
  margin-top: 0.25rem;
}
.toc ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.toc li {
  margin: 0.35rem 0;
}
.toc a {
  text-decoration: none;
}

.toc .toc-sublist {
  padding-left: 1.1em;
  margin-top: 0.25rem;
}

.chapter-number {
  font-weight: 800;
  margin-right: 0.45rem;
  white-space: nowrap;
}

/* Hugo headings TOC nesting */
#PageToc ul ul {
  padding-left: 1.1em;
}

/* Video */
.ql-video {
  border-radius: 12px;
  overflow: hidden;
}
.ql-video iframe {
  width: 100%;
  height: 240px;
  border: 0;
  display: block;
}

/* Summary panel content */
.ql-summary {
  line-height: 1.6;
}

/* === Toggle buttons === */
.ql-aside-toggle {
  position: fixed;
  z-index: 2147483000;
  border: 0;
  border-radius: 10px;
  padding: 0.6rem 0.8rem;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: rgba(0, 0, 0, 0.22) 0 8px 24px;
  font-size: 1.1rem;
  line-height: 1;
  /* Desktop: present but hidden until JS reveals */
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px) scale(0.96);
  transition: opacity 0.18s ease, transform 0.18s ease;
  /* Keyboard accessibility: reveal on focus */
}
.ql-aside-toggle:focus-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.ql-aside-toggle--book {
  top: 1rem;
  left: 1rem;
}

.ql-aside-toggle--page {
  top: 1rem;
  right: 1rem;
}

.ql-aside-toggle--video {
  bottom: 1rem;
  right: 1rem;
}

.ql-aside-toggle--summary {
  bottom: 1rem;
  left: 1rem;
}

@media screen and (max-width: 736px) {
  /* Mobile: always visible */
  .ql-aside-toggle {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
  body.aside-any-open {
    overflow: hidden;
  }
}
/* Don’t hide headings under a fixed header */
main :is(h1, h2, h3, h4, h5, h6) {
  scroll-margin-top: 5rem;
}

/* Page TOC: numeric selector UI */
#PageToc a {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  padding: 0.25rem 0.35rem;
  border-radius: 10px;
}

#PageToc .toc-idx {
  min-width: 1.6rem;
  text-align: center;
  font-weight: 800;
  opacity: 0.65;
}

#PageToc li.toc-node.is-current > a {
  background: rgba(0, 0, 0, 0.08);
}

#PageToc li.toc-node.is-in-path > a {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

#PageToc li.toc-node.is-dim > a {
  opacity: 0.5;
}

/* TOC styling */
.toc {
  margin-top: 0.25rem;
}
.toc ul, .toc ol { /* <-- was only ul */
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.toc li {
  margin: 0.35rem 0;
}
.toc a {
  text-decoration: none;
}

/* Hugo headings TOC nesting (works for ol + ul) */
#PageToc :is(ol, ul) :is(ol, ul) {
  padding-left: 1.1em;
}

/* Page title shown above list (not selectable) */
.toc-page-title {
  font-weight: 800;
  opacity: 0.85;
  font-size: 1rem;
  padding: 0.25rem 0.35rem;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.04);
  user-select: none;
  pointer-events: none;
}

.ql-aside {
  transition: transform 0.22s ease, opacity 0.22s ease;
  will-change: transform, opacity;
}

#modal-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(4px);
  z-index: calc(var(--misc_z_index_base) + 0);
  display: none;
  font-family: var(--font_family), var(--font_fallback), system-ui, -apple-system, sans-serif;
}

#view-container {
  position: relative;
  width: 90%;
  height: 90%;
  margin: 3% auto;
  background: color-mix(in srgb, var(--color1) 90%, transparent);
  border-radius: var(--size_border_radius_alt);
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
#view-container button {
  line-height: 0;
  font-family: inherit;
}
#view-container #d3-view,
#view-container #three-view {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#view-container #three-view {
  pointer-events: auto;
  display: none;
}
#view-container #view-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1000;
  background: var(--color1);
  color: var(--fg);
  padding: 10px 15px;
  border-radius: 5px;
  border: 1px solid var(--border);
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: background var(--duration_transition);
}
#view-container #view-toggle:hover {
  background: var(--bg);
}
#view-container #copyright {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 1000;
  color: var(--fg_light);
  font-size: 12px;
  background: color-mix(in srgb, var(--color1) 80%, transparent);
  padding: 5px 10px;
  border-radius: 3px;
}
#view-container #close-spherelist-modal {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1000;
  background: var(--color1);
  color: var(--fg);
  padding: 10px 15px;
  border-radius: 5px;
  border: 1px solid var(--border);
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: background var(--duration_transition);
}
#view-container #close-spherelist-modal:hover {
  background: var(--bg);
}
#view-container .node circle {
  fill: #63fff4;
  transition: fill var(--duration_transition), r var(--duration_transition), opacity var(--duration_transition);
}
#view-container .node circle:hover {
  fill: var(--accent);
  r: 7;
}
#view-container .link {
  stroke: var(--border);
  stroke-opacity: 0.6;
  transition: stroke var(--duration_transition), opacity var(--duration_transition);
}
#view-container text {
  fill: var(--fg);
  cursor: pointer;
  user-select: none;
  transition: fill var(--duration_transition), font-size var(--duration_transition), opacity var(--duration_transition);
}
#view-container text:hover {
  fill: var(--accent);
}
#view-container .three-label {
  color: var(--fg);
  font-family: var(--font_family), var(--font_fallback), system-ui, -apple-system, sans-serif;
  font-size: 10px;
  background: rgba(255, 255, 255, 0.95);
  padding: 2px 5px;
  border-radius: 3px;
  pointer-events: none;
  white-space: nowrap;
  border: 1px solid var(--border);
  transform: translate(-50%, -100%);
  margin-top: -8px;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#d3-view.dimmed {
  opacity: 0.25;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

/* lock scroll when overlay open */
body.md-overlay-open {
  overflow: hidden;
}

#markdown-overlay.md-inline-mode ~ * {
  /* reserved: inline editor mode intentionally non-modal */
}

#markdown-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

#markdown-overlay.md-inline-mode {
  position: relative;
  inset: auto;
  z-index: 100;
  width: min(96vw, 1400px);
  margin: 1.25rem auto;
}

#markdown-overlay.md-inline-mode .md-overlay-backdrop {
  display: none;
}

#markdown-overlay.md-inline-mode .md-overlay-panel {
  max-width: none;
  height: min(82vh, 980px);
  margin: 0;
}

#markdown-overlay.md-replace-main-mode {
  position: relative;
  inset: auto;
  z-index: 120;
  width: 100%;
  margin: 0;
}

#markdown-overlay.md-replace-main-mode.md-nowtype-pdf-mode {
  position: fixed;
  inset: 0;
  z-index: 12050;
  width: 100vw;
  margin: 0;
  background: #dfe1e4;
}

#markdown-overlay.md-replace-main-mode .md-overlay-backdrop {
  display: none;
}

#markdown-overlay.md-replace-main-mode .md-overlay-panel {
  max-width: none;
  width: 100%;
  height: max(70vh, 760px);
  margin: 0;
  border-radius: 0.5rem;
}

#markdown-overlay.md-replace-main-mode .md-overlay-header,
#markdown-overlay.md-replace-main-mode .md-nav,
#markdown-overlay.md-replace-main-mode .md-current-path,
#markdown-overlay.md-replace-main-mode .md-status-row {
  display: none;
}

#markdown-overlay.md-replace-main-mode .md-workbench {
  grid-template-columns: 1fr;
}

#markdown-overlay.md-replace-main-mode .md-overlay-header {
  display: flex;
}

#markdown-overlay.md-replace-main-mode .md-overlay-panel.md-nowtype-main-panel {
  display: flex;
  flex-direction: column;
  height: min(86vh, 1100px);
}

#markdown-overlay.md-replace-main-mode.md-nowtype-pdf-mode .md-overlay-panel.md-nowtype-main-panel {
  min-height: 100vh;
  height: 100vh;
  border-radius: 0;
}

#md-replace-main-root {
  width: 100%;
}

#md-replace-main-root .md-overlay-panel.md-nowtype-main-panel {
  display: flex;
  flex-direction: column;
  min-height: 86vh;
  background: rgba(30, 34, 42, 0.7);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

#markdown-overlay .md-nowtype-main,
#md-replace-main-root .md-nowtype-main {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* In embedded mode, override NowType's global fixed layout rules. */
#markdown-overlay.md-replace-main-mode #toolbar.md-nowtype-toolbar,
#md-replace-main-root #toolbar.md-nowtype-toolbar {
  position: sticky;
  top: 0;
  left: auto;
  width: 100%;
  height: auto;
  margin: 0;
  z-index: 30;
}

#markdown-overlay.md-replace-main-mode #backbox.paper,
#md-replace-main-root #backbox.paper {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0.5rem 0.75rem 0.9rem;
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  z-index: 1;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0));
}

#markdown-overlay .md-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(6px);
}

#markdown-overlay .md-overlay-panel {
  position: relative;
  max-width: min(96vw, 1100px);
  height: min(80vh, 900px);
  margin: 4vh auto 0;
  background: rgba(30, 34, 42, 0.7);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

#markdown-overlay .md-overlay-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(15, 23, 42, 0.3);
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  padding: 0.5rem 0.75rem 0.5rem 1rem;
  color: #e2e8f0;
  font-size: 0.75rem;
}

#markdown-overlay .md-overlay-title,
#md-replace-main-root .md-overlay-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

#markdown-overlay .md-context,
#md-replace-main-root .md-context {
  color: #94a3b8;
  font-size: 0.68rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 46vw;
}

#md-replace-main-root .md-mode-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #cbd5e1;
  font-size: 0.7rem;
}

#md-replace-main-root .md-mode-wrap select {
  min-width: 6.5rem;
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(226, 232, 240, 0.12);
  border-radius: 0.35rem;
  color: #e2e8f0;
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
}

#markdown-overlay .md-overlay-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

#markdown-overlay .md-overlay-actions button,
#markdown-overlay .md-overlay-actions select,
#markdown-overlay .md-copy-btn,
#markdown-overlay .md-close-btn,
#markdown-overlay .md-file-filter {
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(226, 232, 240, 0.12);
  border-radius: 0.35rem;
  color: #e2e8f0;
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
}

#markdown-overlay .md-overlay-actions button,
#markdown-overlay .md-copy-btn,
#markdown-overlay .md-close-btn {
  cursor: pointer;
}

#markdown-overlay .md-overlay-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

#markdown-overlay .md-mode-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #cbd5e1;
  font-size: 0.7rem;
}

#markdown-overlay .md-mode-wrap select {
  min-width: 6.5rem;
}

#markdown-overlay .md-close-btn {
  font-size: 0.8rem;
  line-height: 1;
}

#markdown-overlay .md-workbench {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
}

#markdown-overlay .md-nav {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-right: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(15, 23, 42, 0.25);
}

#markdown-overlay #md-file-filter {
  margin: 0.6rem;
  width: calc(100% - 1.2rem);
}

#markdown-overlay .md-file-list {
  flex: 1;
  overflow: auto;
  padding: 0.25rem 0.4rem 0.6rem;
}

#markdown-overlay .md-file-item {
  width: 100%;
  text-align: left;
  font-size: 0.72rem;
  line-height: 1.35;
  padding: 0.35rem 0.45rem;
  margin-bottom: 0.2rem;
  color: #cbd5e1;
  border: 1px solid transparent;
  border-radius: 0.3rem;
  background: transparent;
  cursor: pointer;
}

#markdown-overlay .md-file-item:hover {
  border-color: rgba(148, 163, 184, 0.25);
  background: rgba(15, 23, 42, 0.4);
}

#markdown-overlay .md-file-item.is-active {
  border-color: rgba(14, 165, 233, 0.5);
  background: rgba(14, 165, 233, 0.15);
  color: #e2e8f0;
}

#markdown-overlay .md-file-empty {
  color: #94a3b8;
  font-size: 0.72rem;
  padding: 0.7rem 0.5rem;
}

#markdown-overlay .md-editor-pane {
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#markdown-overlay .md-current-path {
  padding: 0.45rem 0.75rem;
  font-size: 0.72rem;
  color: #94a3b8;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(15, 23, 42, 0.18);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#markdown-overlay .md-editor-host {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}

#markdown-overlay .md-nowtype-toolbar,
#md-replace-main-root .md-nowtype-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(15, 23, 42, 0.24);
}

#markdown-overlay .md-nowtype-brand,
#md-replace-main-root .md-nowtype-brand {
  color: #e2e8f0;
  font-size: 0.78rem;
  font-weight: 600;
  margin-right: 0.35rem;
}

#markdown-overlay .md-nowtype-toolbar button,
#md-replace-main-root .md-nowtype-toolbar button {
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(226, 232, 240, 0.12);
  border-radius: 0.35rem;
  color: #e2e8f0;
  font-size: 0.7rem;
  padding: 0.25rem 0.6rem;
  cursor: pointer;
}

#markdown-overlay .md-nowtype-backbox,
#md-replace-main-root .md-nowtype-backbox {
  flex: 1;
  min-height: 0;
  overflow: auto;
  display: none;
  padding: 0.5rem 0.75rem 0.9rem;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0));
}

#markdown-overlay .md-nowtype-paper,
#md-replace-main-root .md-nowtype-paper {
  transform-origin: top center;
  margin: 0 auto;
  min-height: 68vh;
}

/* In replace-main normal edit mode, the document surface should look like the page
   itself. Keep the editor chrome, but remove the extra paper skin so the regular
   wrapper/row SCSS remains authoritative. */
body:not(.md-nowtype-pdf-mode) #markdown-overlay.md-replace-main-mode #backbox.paper,
body:not(.md-nowtype-pdf-mode) #md-replace-main-root #backbox.paper {
  padding: 0;
  background: transparent;
}

body:not(.md-nowtype-pdf-mode) #markdown-overlay.md-replace-main-mode #paper.md-nowtype-paper,
body:not(.md-nowtype-pdf-mode) #md-replace-main-root #paper.md-nowtype-paper {
  width: 100%;
  min-height: auto;
  margin: 0;
}

#markdown-overlay .md-nowtype-root,
#md-replace-main-root .md-nowtype-root {
  display: block;
  min-height: 68vh;
  overflow: auto;
  padding: 0.75rem 0.9rem 1.5rem;
  color: #e2e8f0;
  background: rgba(2, 6, 23, 0.25);
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 0.45rem;
}

body:not(.md-nowtype-pdf-mode) #markdown-overlay.md-replace-main-mode :is(#md-nowtype-root, #render_div),
body:not(.md-nowtype-pdf-mode) #md-replace-main-root :is(#md-nowtype-root, #render_div) {
  min-height: auto;
  overflow: visible;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

#markdown-overlay #render_div div.katex-passthrough,
#markdown-overlay #md-nowtype-root div.katex-passthrough,
#md-replace-main-root #render_div div.katex-passthrough,
#md-replace-main-root #md-nowtype-root div.katex-passthrough,
#render_div div.katex-passthrough,
#md-nowtype-root div.katex-passthrough {
  display: block !important;
  margin: 0;
}

#markdown-overlay #render_div div.katex-passthrough.nt-buttons-passthrough,
#markdown-overlay #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough,
#md-replace-main-root #render_div div.katex-passthrough.nt-buttons-passthrough,
#md-replace-main-root #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough,
#render_div div.katex-passthrough.nt-buttons-passthrough,
#md-nowtype-root div.katex-passthrough.nt-buttons-passthrough {
  margin: 0 !important;
}

#markdown-overlay #render_div div.katex-passthrough > span.math,
#markdown-overlay #md-nowtype-root div.katex-passthrough > span.math,
#md-replace-main-root #render_div div.katex-passthrough > span.math,
#md-replace-main-root #md-nowtype-root div.katex-passthrough > span.math,
#render_div div.katex-passthrough > span.math,
#md-nowtype-root div.katex-passthrough > span.math {
  display: block;
}

#markdown-overlay #render_div div.katex-passthrough > span.math > .katex-display,
#markdown-overlay #md-nowtype-root div.katex-passthrough > span.math > .katex-display,
#md-replace-main-root #render_div div.katex-passthrough > span.math > .katex-display,
#md-replace-main-root #md-nowtype-root div.katex-passthrough > span.math > .katex-display,
#render_div div.katex-passthrough > span.math > .katex-display,
#md-nowtype-root div.katex-passthrough > span.math > .katex-display {
  margin: 1em 0;
}

#markdown-overlay #render_div div.katex-passthrough.nt-buttons-passthrough > span.math,
#markdown-overlay #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math,
#md-replace-main-root #render_div div.katex-passthrough.nt-buttons-passthrough > span.math,
#md-replace-main-root #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math,
#render_div div.katex-passthrough.nt-buttons-passthrough > span.math,
#md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#markdown-overlay #render_div div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#markdown-overlay #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#md-replace-main-root #render_div div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#md-replace-main-root #md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#render_div div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#md-nowtype-root div.katex-passthrough.nt-buttons-passthrough > span.math > .katex-display,
#markdown-overlay #render_div .nt-buttons-preview-host,
#markdown-overlay #md-nowtype-root .nt-buttons-preview-host,
#md-replace-main-root #render_div .nt-buttons-preview-host,
#md-replace-main-root #md-nowtype-root .nt-buttons-preview-host,
#render_div .nt-buttons-preview-host,
#md-nowtype-root .nt-buttons-preview-host {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#markdown-overlay #render_div span.math.nt-buttons-math,
#markdown-overlay #md-nowtype-root span.math.nt-buttons-math,
#md-replace-main-root #render_div span.math.nt-buttons-math,
#md-replace-main-root #md-nowtype-root span.math.nt-buttons-math,
#render_div span.math.nt-buttons-math,
#md-nowtype-root span.math.nt-buttons-math {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#markdown-overlay #render_div ul.actions.special.nt-buttons-preview,
#markdown-overlay #md-nowtype-root ul.actions.special.nt-buttons-preview,
#md-replace-main-root #render_div ul.actions.special.nt-buttons-preview,
#md-replace-main-root #md-nowtype-root ul.actions.special.nt-buttons-preview,
#render_div ul.actions.special.nt-buttons-preview,
#md-nowtype-root ul.actions.special.nt-buttons-preview {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#markdown-overlay #render_div .nt-structured-preview-host,
#markdown-overlay #md-nowtype-root .nt-structured-preview-host,
#md-replace-main-root #render_div .nt-structured-preview-host,
#md-replace-main-root #md-nowtype-root .nt-structured-preview-host,
#render_div .nt-structured-preview-host,
#md-nowtype-root .nt-structured-preview-host {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  line-height: inherit !important;
}

#markdown-overlay #render_div .nt-structured-preview-host > .nt-structured-preview,
#markdown-overlay #md-nowtype-root .nt-structured-preview-host > .nt-structured-preview,
#md-replace-main-root #render_div .nt-structured-preview-host > .nt-structured-preview,
#md-replace-main-root #md-nowtype-root .nt-structured-preview-host > .nt-structured-preview,
#render_div .nt-structured-preview-host > .nt-structured-preview,
#md-nowtype-root .nt-structured-preview-host > .nt-structured-preview {
  display: block;
  margin: 0;
}

#markdown-overlay #render_div .nt-structured-preview-host :is(a, button, input, textarea, select),
#markdown-overlay #md-nowtype-root .nt-structured-preview-host :is(a, button, input, textarea, select),
#md-replace-main-root #render_div .nt-structured-preview-host :is(a, button, input, textarea, select),
#md-replace-main-root #md-nowtype-root .nt-structured-preview-host :is(a, button, input, textarea, select),
#render_div .nt-structured-preview-host :is(a, button, input, textarea, select),
#md-nowtype-root .nt-structured-preview-host :is(a, button, input, textarea, select) {
  pointer-events: none;
}

#markdown-overlay #render_div .nt-team-preview-host > .ql-team-grid,
#markdown-overlay #md-nowtype-root .nt-team-preview-host > .ql-team-grid,
#md-replace-main-root #render_div .nt-team-preview-host > .ql-team-grid,
#md-replace-main-root #md-nowtype-root .nt-team-preview-host > .ql-team-grid,
#render_div .nt-team-preview-host > .ql-team-grid,
#md-nowtype-root .nt-team-preview-host > .ql-team-grid {
  margin: 0;
}

#markdown-overlay #render_div .nt-contact-preview-host > .ql-contact-grid,
#markdown-overlay #md-nowtype-root .nt-contact-preview-host > .ql-contact-grid,
#md-replace-main-root #render_div .nt-contact-preview-host > .ql-contact-grid,
#md-replace-main-root #md-nowtype-root .nt-contact-preview-host > .ql-contact-grid,
#render_div .nt-contact-preview-host > .ql-contact-grid,
#md-nowtype-root .nt-contact-preview-host > .ql-contact-grid {
  margin: 0;
}

body.md-nowtype-pdf-mode #markdown-overlay .md-nowtype-root,
body.md-nowtype-pdf-mode #md-replace-main-root .md-nowtype-root,
body.md-nowtype-pdf-mode #md-nowtype-root,
body.md-nowtype-pdf-mode #render_div,
body.md-nowtype-pdf-mode #md-nowtype-pdf-compose-root {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .blockquote-quote,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .blockquote-quote,
#md-nowtype-root .blockquote-quote,
#render_div .blockquote-quote {
  margin: 0 0 1rem;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .blockquote-footer,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .blockquote-footer,
#md-nowtype-root .blockquote-footer,
#render_div .blockquote-footer {
  margin: 0.35rem 0 0;
  font-size: 0.85em;
  line-height: 1.45;
  text-align: right;
  font-style: normal;
  opacity: 0.8;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .blockquote-title,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .blockquote-title,
#md-nowtype-root .blockquote-title,
#render_div .blockquote-title {
  font-style: italic;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .blockquote-meta-sep,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .blockquote-meta-sep,
#md-nowtype-root .blockquote-meta-sep,
#render_div .blockquote-meta-sep {
  margin: 0 0.35em;
  opacity: 0.6;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-nowtype-root .wrapper > .content.row,
#render_div .wrapper > .content.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > *,
#md-nowtype-root .wrapper > .content.row > *,
#render_div .wrapper > .content.row > * {
  box-sizing: border-box;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform > * > :last-child,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform > * > :last-child,
#md-nowtype-root .wrapper > .content.row.gtr-uniform > * > :last-child,
#render_div .wrapper > .content.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-left,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-left,
#md-nowtype-root .wrapper > .content.row.aln-left,
#render_div .wrapper > .content.row.aln-left {
  justify-content: flex-start;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-center,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-center,
#md-nowtype-root .wrapper > .content.row.aln-center,
#render_div .wrapper > .content.row.aln-center {
  justify-content: center;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-right,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-right,
#md-nowtype-root .wrapper > .content.row.aln-right,
#render_div .wrapper > .content.row.aln-right {
  justify-content: flex-end;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-top,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-top,
#md-nowtype-root .wrapper > .content.row.aln-top,
#render_div .wrapper > .content.row.aln-top {
  align-items: flex-start;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-middle,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-middle,
#md-nowtype-root .wrapper > .content.row.aln-middle,
#render_div .wrapper > .content.row.aln-middle {
  align-items: center;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-bottom,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.aln-bottom,
#md-nowtype-root .wrapper > .content.row.aln-bottom,
#render_div .wrapper > .content.row.aln-bottom {
  align-items: flex-end;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .imp,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .imp,
#md-nowtype-root .wrapper > .content.row > .imp,
#render_div .wrapper > .content.row > .imp {
  order: -1;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-1,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-1,
#md-nowtype-root .wrapper > .content.row > .col-1,
#render_div .wrapper > .content.row > .col-1 {
  width: 8.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-1,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-1,
#md-nowtype-root .wrapper > .content.row > .off-1,
#render_div .wrapper > .content.row > .off-1 {
  margin-left: 8.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-2,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-2,
#md-nowtype-root .wrapper > .content.row > .col-2,
#render_div .wrapper > .content.row > .col-2 {
  width: 16.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-2,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-2,
#md-nowtype-root .wrapper > .content.row > .off-2,
#render_div .wrapper > .content.row > .off-2 {
  margin-left: 16.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-3,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-3,
#md-nowtype-root .wrapper > .content.row > .col-3,
#render_div .wrapper > .content.row > .col-3 {
  width: 25%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-3,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-3,
#md-nowtype-root .wrapper > .content.row > .off-3,
#render_div .wrapper > .content.row > .off-3 {
  margin-left: 25%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4,
#md-nowtype-root .wrapper > .content.row > .col-4,
#render_div .wrapper > .content.row > .col-4 {
  width: 33.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-4,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-4,
#md-nowtype-root .wrapper > .content.row > .off-4,
#render_div .wrapper > .content.row > .off-4 {
  margin-left: 33.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-5,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-5,
#md-nowtype-root .wrapper > .content.row > .col-5,
#render_div .wrapper > .content.row > .col-5 {
  width: 41.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-5,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-5,
#md-nowtype-root .wrapper > .content.row > .off-5,
#render_div .wrapper > .content.row > .off-5 {
  margin-left: 41.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-6,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-6,
#md-nowtype-root .wrapper > .content.row > .col-6,
#render_div .wrapper > .content.row > .col-6 {
  width: 50%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-6,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-6,
#md-nowtype-root .wrapper > .content.row > .off-6,
#render_div .wrapper > .content.row > .off-6 {
  margin-left: 50%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-7,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-7,
#md-nowtype-root .wrapper > .content.row > .col-7,
#render_div .wrapper > .content.row > .col-7 {
  width: 58.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-7,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-7,
#md-nowtype-root .wrapper > .content.row > .off-7,
#render_div .wrapper > .content.row > .off-7 {
  margin-left: 58.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-8,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-8,
#md-nowtype-root .wrapper > .content.row > .col-8,
#render_div .wrapper > .content.row > .col-8 {
  width: 66.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-8,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-8,
#md-nowtype-root .wrapper > .content.row > .off-8,
#render_div .wrapper > .content.row > .off-8 {
  margin-left: 66.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-9,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-9,
#md-nowtype-root .wrapper > .content.row > .col-9,
#render_div .wrapper > .content.row > .col-9 {
  width: 75%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-9,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-9,
#md-nowtype-root .wrapper > .content.row > .off-9,
#render_div .wrapper > .content.row > .off-9 {
  margin-left: 75%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-10,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-10,
#md-nowtype-root .wrapper > .content.row > .col-10,
#render_div .wrapper > .content.row > .col-10 {
  width: 83.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-10,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-10,
#md-nowtype-root .wrapper > .content.row > .off-10,
#render_div .wrapper > .content.row > .off-10 {
  margin-left: 83.3333333333%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-11,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-11,
#md-nowtype-root .wrapper > .content.row > .col-11,
#render_div .wrapper > .content.row > .col-11 {
  width: 91.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-11,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-11,
#md-nowtype-root .wrapper > .content.row > .off-11,
#render_div .wrapper > .content.row > .off-11 {
  margin-left: 91.6666666667%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-12,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-12,
#md-nowtype-root .wrapper > .content.row > .col-12,
#render_div .wrapper > .content.row > .col-12 {
  width: 100%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-12,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .off-12,
#md-nowtype-root .wrapper > .content.row > .off-12,
#render_div .wrapper > .content.row > .off-12 {
  margin-left: 100%;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0,
#md-nowtype-root .wrapper > .content.row.gtr-0,
#render_div .wrapper > .content.row.gtr-0 {
  margin-top: 0;
  margin-left: 0rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0 > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0 > *,
#md-nowtype-root .wrapper > .content.row.gtr-0 > *,
#render_div .wrapper > .content.row.gtr-0 > * {
  padding: 0 0 0 0rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-0.gtr-uniform,
#render_div .wrapper > .content.row.gtr-0.gtr-uniform {
  margin-top: 0rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-0.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-0.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-0.gtr-uniform > * {
  padding-top: 0rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25,
#md-nowtype-root .wrapper > .content.row.gtr-25,
#render_div .wrapper > .content.row.gtr-25 {
  margin-top: 0;
  margin-left: -0.5rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25 > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25 > *,
#md-nowtype-root .wrapper > .content.row.gtr-25 > *,
#render_div .wrapper > .content.row.gtr-25 > * {
  padding: 0 0 0 0.5rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-25.gtr-uniform,
#render_div .wrapper > .content.row.gtr-25.gtr-uniform {
  margin-top: -0.5rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-25.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-25.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-25.gtr-uniform > * {
  padding-top: 0.5rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50,
#md-nowtype-root .wrapper > .content.row.gtr-50,
#render_div .wrapper > .content.row.gtr-50 {
  margin-top: 0;
  margin-left: -1rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50 > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50 > *,
#md-nowtype-root .wrapper > .content.row.gtr-50 > *,
#render_div .wrapper > .content.row.gtr-50 > * {
  padding: 0 0 0 1rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-50.gtr-uniform,
#render_div .wrapper > .content.row.gtr-50.gtr-uniform {
  margin-top: -1rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-50.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-50.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-50.gtr-uniform > * {
  padding-top: 1rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-nowtype-root .wrapper > .content.row,
#render_div .wrapper > .content.row {
  margin-top: 0;
  margin-left: -2rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > *,
#md-nowtype-root .wrapper > .content.row > *,
#render_div .wrapper > .content.row > * {
  padding: 0 0 0 2rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-uniform,
#render_div .wrapper > .content.row.gtr-uniform {
  margin-top: -2rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-uniform > * {
  padding-top: 2rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150,
#md-nowtype-root .wrapper > .content.row.gtr-150,
#render_div .wrapper > .content.row.gtr-150 {
  margin-top: 0;
  margin-left: -3rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150 > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150 > *,
#md-nowtype-root .wrapper > .content.row.gtr-150 > *,
#render_div .wrapper > .content.row.gtr-150 > * {
  padding: 0 0 0 3rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-150.gtr-uniform,
#render_div .wrapper > .content.row.gtr-150.gtr-uniform {
  margin-top: -3rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-150.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-150.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-150.gtr-uniform > * {
  padding-top: 3rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200,
#md-nowtype-root .wrapper > .content.row.gtr-200,
#render_div .wrapper > .content.row.gtr-200 {
  margin-top: 0;
  margin-left: -4rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200 > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200 > *,
#md-nowtype-root .wrapper > .content.row.gtr-200 > *,
#render_div .wrapper > .content.row.gtr-200 > * {
  padding: 0 0 0 4rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200.gtr-uniform,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200.gtr-uniform,
#md-nowtype-root .wrapper > .content.row.gtr-200.gtr-uniform,
#render_div .wrapper > .content.row.gtr-200.gtr-uniform {
  margin-top: -4rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200.gtr-uniform > *,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row.gtr-200.gtr-uniform > *,
#md-nowtype-root .wrapper > .content.row.gtr-200.gtr-uniform > *,
#render_div .wrapper > .content.row.gtr-200.gtr-uniform > * {
  padding-top: 4rem;
}
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row,
#md-nowtype-root .wrapper > .content.row,
#render_div .wrapper > .content.row {
  align-content: flex-start;
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(> .content.row) > .content,
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(> .content.row) > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#md-nowtype-root .wrapper:has(> .content.row) > .content,
#md-nowtype-root .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#render_div .wrapper:has(> .content.row) > .content,
#render_div .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content {
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(+ .wrapper > .content.row) > .content,
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(+ .wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(+ .wrapper > .content.row) > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(+ .wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#md-nowtype-root .wrapper:has(+ .wrapper > .content.row) > .content,
#md-nowtype-root .wrapper:has(+ .wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content,
#render_div .wrapper:has(+ .wrapper > .content.row) > .content,
#render_div .wrapper:has(+ .wrapper > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) > .content {
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(> .content.row) + .wrapper > .content,
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) + .wrapper > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(> .content.row) + .wrapper > .content,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) + .wrapper > .content,
#md-nowtype-root .wrapper:has(> .content.row) + .wrapper > .content,
#md-nowtype-root .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) + .wrapper > .content,
#render_div .wrapper:has(> .content.row) + .wrapper > .content,
#render_div .wrapper:has(> .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4)) + .wrapper > .content {
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:is(.fullscreen, .halfscreen) > .content.row,
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper:is(.fullscreen, .halfscreen) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:is(.fullscreen, .halfscreen) > .content.row,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper:is(.fullscreen, .halfscreen) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4),
#md-nowtype-root .wrapper:is(.fullscreen, .halfscreen) > .content.row,
#md-nowtype-root .wrapper:is(.fullscreen, .halfscreen) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4),
#render_div .wrapper:is(.fullscreen, .halfscreen) > .content.row,
#render_div .wrapper:is(.fullscreen, .halfscreen) > .content:is(.columns-2, .columns-3, .columns-4, .cols-2, .cols-3, .cols-4) {
  height: auto;
  min-height: auto;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .nt-block-actions-anchor,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .nt-block-actions-anchor,
#md-nowtype-root .wrapper > .content.row > .nt-block-actions-anchor,
#render_div .wrapper > .content.row > .nt-block-actions-anchor {
  flex: 0 0 0;
  margin: 0 !important;
  overflow: hidden;
  padding: 0 !important;
  width: 0 !important;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2),
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2) ~ .col-4.col-12-medium,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2) ~ .col-4.col-12-medium,
#md-nowtype-root .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2),
#md-nowtype-root .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2) ~ .col-4.col-12-medium,
#render_div .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2),
#render_div .wrapper > .content.row > .col-4.col-12-medium:first-child:nth-last-child(2) ~ .col-4.col-12-medium {
  flex-basis: 50%;
  max-width: 50%;
  width: 50%;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2),
#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2) ~ :not(.nt-block-actions-anchor):not([class*=col-]),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2) ~ :not(.nt-block-actions-anchor):not([class*=col-]),
#md-nowtype-root .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2),
#md-nowtype-root .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2) ~ :not(.nt-block-actions-anchor):not([class*=col-]),
#render_div .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2),
#render_div .wrapper > .content.row > :not(.nt-block-actions-anchor):not([class*=col-]):first-child:nth-last-child(2) ~ :not(.nt-block-actions-anchor):not([class*=col-]) {
  flex: 0 0 50%;
  max-width: 50%;
  width: 50%;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-8.col-12-medium,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-8.col-12-medium,
#md-nowtype-root .wrapper > .content.row > .col-8.col-12-medium,
#render_div .wrapper > .content.row > .col-8.col-12-medium {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
  width: 66.666667%;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-9.col-12-medium,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-9.col-12-medium,
#md-nowtype-root .wrapper > .content.row > .col-9.col-12-medium,
#render_div .wrapper > .content.row > .col-9.col-12-medium {
  flex: 0 0 75%;
  max-width: 75%;
  width: 75%;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-3.col-6-medium,
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content.row > .col-3.col-6-medium,
#md-nowtype-root .wrapper > .content.row > .col-3.col-6-medium,
#render_div .wrapper > .content.row > .col-3.col-6-medium {
  flex: 0 0 25%;
  max-width: 25%;
  width: 25%;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-2, .cols-2, .columns-3, .cols-3, .columns-4, .cols-4),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-2, .cols-2, .columns-3, .cols-3, .columns-4, .cols-4),
#md-nowtype-root .wrapper > .content:is(.columns-2, .cols-2, .columns-3, .cols-3, .columns-4, .cols-4),
#render_div .wrapper > .content:is(.columns-2, .cols-2, .columns-3, .cols-3, .columns-4, .cols-4) {
  column-fill: balance;
  column-gap: clamp(1rem, 2.25vw, 2.1rem);
  padding-top: clamp(0.55rem, 1.2vw, 1rem);
  padding-bottom: clamp(0.55rem, 1.2vw, 1rem);
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-2, .cols-2),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-2, .cols-2),
#md-nowtype-root .wrapper > .content:is(.columns-2, .cols-2),
#render_div .wrapper > .content:is(.columns-2, .cols-2) {
  column-count: 2;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-3, .cols-3),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-3, .cols-3),
#md-nowtype-root .wrapper > .content:is(.columns-3, .cols-3),
#render_div .wrapper > .content:is(.columns-3, .cols-3) {
  column-count: 3;
}

#markdown-overlay :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-4, .cols-4),
#md-replace-main-root :is(#md-nowtype-root, #render_div) .wrapper > .content:is(.columns-4, .cols-4),
#md-nowtype-root .wrapper > .content:is(.columns-4, .cols-4),
#render_div .wrapper > .content:is(.columns-4, .cols-4) {
  column-count: 4;
}

#markdown-overlay #md-source-input {
  flex: 1;
  min-height: 0;
  width: 100%;
  border: 0;
  outline: 0;
  resize: none;
  margin: 0;
  padding: 0.75rem 0.9rem;
  color: #e2e8f0;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0));
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.8rem;
  line-height: 1.45;
  tab-size: 2;
}

#markdown-overlay .md-status-row,
#md-replace-main-root .md-status-row {
  border-top: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(15, 23, 42, 0.3);
  padding: 0.35rem 0.7rem;
  font-size: 0.68rem;
}

#markdown-overlay #md-status,
#md-replace-main-root #md-status {
  color: #cbd5e1;
}

#markdown-overlay #md-status[data-kind=ok],
#md-replace-main-root #md-status[data-kind=ok] {
  color: #86efac;
}

#markdown-overlay #md-status[data-kind=warn],
#md-replace-main-root #md-status[data-kind=warn] {
  color: #facc15;
}

#markdown-overlay #md-status[data-kind=error],
#md-replace-main-root #md-status[data-kind=error] {
  color: #fda4af;
}

#markdown-overlay .md-editor {
  flex: 1;
  display: flex;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.8rem;
  line-height: 1.45;
  background: radial-gradient(circle at top, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0));
}

#markdown-overlay .md-gutter {
  background: rgba(15, 23, 42, 0.35);
  color: #5c6370;
  text-align: right;
  padding: 0.75rem 0.5rem 0.75rem 0.5rem;
  user-select: none;
  min-width: 3.4rem;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  white-space: pre;
  backdrop-filter: blur(4px);
}

#markdown-overlay .md-gutter .md-lnum {
  display: block;
}

#markdown-overlay .md-source-pre {
  margin: 0;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  background: transparent;
  overflow: auto;
  white-space: pre;
  flex: 1;
  color: #e2e8f0;
  tab-size: 2;
  text-wrap: nowrap;
}

#markdown-overlay .md-source-pre code {
  background: transparent;
}

/* scrollbar nice-ish */
#markdown-overlay .md-editor::-webkit-scrollbar,
#markdown-overlay .md-source-pre::-webkit-scrollbar,
#markdown-overlay .md-file-list::-webkit-scrollbar,
#markdown-overlay #md-source-input::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

#markdown-overlay .md-editor::-webkit-scrollbar-thumb,
#markdown-overlay .md-source-pre::-webkit-scrollbar-thumb,
#markdown-overlay .md-file-list::-webkit-scrollbar-thumb,
#markdown-overlay #md-source-input::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.35);
  border-radius: 9999px;
}

@media (max-width: 980px) {
  #markdown-overlay .md-workbench {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(160px, 35vh) minmax(0, 1fr);
  }
  #markdown-overlay .md-nav {
    border-right: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.15);
  }
}
.ql-edit-toggle-btn {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 11000;
  border: 1px solid rgba(148, 163, 184, 0.4);
  background: rgba(15, 23, 42, 0.82);
  color: #e2e8f0;
  border-radius: 9999px;
  padding: 0.5rem 0.85rem;
  font-size: 0.72rem;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}

.ql-edit-toggle-btn:hover {
  border-color: rgba(56, 189, 248, 0.65);
}

.ql-edit-toggle-btn.is-active,
body.ql-edit-mode .ql-edit-toggle-btn {
  background: rgba(2, 132, 199, 0.85);
  border-color: rgba(125, 211, 252, 0.8);
  color: #f8fafc;
}

.region {
  --region-bg: rgba(30, 41, 59, 0.05);
  --region-border: rgba(30, 41, 59, 0.22);
  --region-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
  --region-radius: 14px;
  --region-pad-y: 0.92rem;
  --region-pad-x: 1.08rem;
  --region-text: inherit;
  display: block;
  padding: var(--region-pad-y) var(--region-pad-x);
  margin: 0.5rem 0;
  border: 1px solid var(--region-border);
  border-radius: var(--region-radius);
  background: var(--region-bg);
  box-shadow: var(--region-shadow);
  color: var(--region-text);
  position: relative;
  overflow: hidden;
}

.region > :first-child {
  margin-top: 0;
}

.region > :last-child {
  margin-bottom: 0;
}

.region.region-wrap-left,
.region.region-wrap-right {
  --region-wrap-width: min(48%, 24rem);
  --region-wrap-gap-x: clamp(0.75rem, 2vw, 1.4rem);
  --region-wrap-gap-y: 0.5rem;
  width: var(--region-wrap-width);
  max-width: 100%;
}

.region.region-wrap-left {
  float: left;
  clear: left;
  margin: var(--region-wrap-gap-y) var(--region-wrap-gap-x) var(--region-wrap-gap-y) 0;
}

.region.region-wrap-right {
  float: right;
  clear: right;
  margin: var(--region-wrap-gap-y) 0 var(--region-wrap-gap-y) var(--region-wrap-gap-x);
}

.region.region-wrap-narrow {
  --region-wrap-width: min(38%, 18rem);
}

.region.region-wrap-wide {
  --region-wrap-width: min(56%, 30rem);
}

.region.region-wrap-tight {
  --region-wrap-gap-x: 0.62rem;
  --region-wrap-gap-y: 0.34rem;
}

.region.region-wrap-roomy {
  --region-wrap-gap-x: 1.6rem;
  --region-wrap-gap-y: 0.75rem;
}

.region.region-wrap-shape {
  shape-outside: margin-box;
  -webkit-shape-outside: margin-box;
  shape-margin: 0.55rem;
}

.region.region-wrap-circle {
  border-radius: 999px;
  shape-outside: circle(50%);
  -webkit-shape-outside: circle(50%);
}

.region.region-wrap-ellipse {
  border-radius: 999px;
  shape-outside: ellipse(46% 50%);
  -webkit-shape-outside: ellipse(46% 50%);
}

.region.region-wrap-diamond {
  shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  -webkit-shape-outside: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

@media (max-width: 900px) {
  .region.region-wrap-left,
  .region.region-wrap-right {
    float: none;
    clear: none;
    width: auto;
    margin: 0.65rem 0;
    shape-outside: none;
    -webkit-shape-outside: none;
  }
}
.region-shape-rect {
  --region-radius: 0;
}

.region-shape-rounded {
  --region-radius: 12px;
}

.region-shape-soft {
  --region-radius: 20px;
}

.region-shape-pill {
  --region-radius: 999px;
}

.region-shape-circle {
  --region-radius: 999px;
  min-height: 10rem;
  aspect-ratio: 1/1;
  width: 82%;
  max-width: 28rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.region-shape-diamond {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  padding: calc(var(--region-pad-y) + 0.4rem) calc(var(--region-pad-x) + 0.4rem);
}

.region-tone-paper {
  --region-bg: rgba(255, 251, 236, 0.75);
  --region-border: rgba(161, 140, 84, 0.35);
}

.region-tone-ink {
  --region-bg: rgba(24, 29, 40, 0.92);
  --region-border: rgba(129, 140, 248, 0.5);
  --region-text: #eef3ff;
}

.region-tone-blue {
  --region-bg: rgba(59, 130, 246, 0.13);
  --region-border: rgba(37, 99, 235, 0.38);
}

.region-tone-teal {
  --region-bg: rgba(20, 184, 166, 0.13);
  --region-border: rgba(13, 148, 136, 0.38);
}

.region-tone-amber {
  --region-bg: rgba(245, 158, 11, 0.13);
  --region-border: rgba(217, 119, 6, 0.42);
}

.region-tone-rose {
  --region-bg: rgba(244, 63, 94, 0.12);
  --region-border: rgba(190, 24, 93, 0.35);
}

.region-tone-emerald {
  --region-bg: rgba(16, 185, 129, 0.13);
  --region-border: rgba(5, 150, 105, 0.4);
}

.region-tone-slate {
  --region-bg: rgba(71, 85, 105, 0.12);
  --region-border: rgba(51, 65, 85, 0.34);
}

.region-tone-violet {
  --region-bg: rgba(139, 92, 246, 0.14);
  --region-border: rgba(109, 40, 217, 0.38);
}

.region-fill-gradient-soft {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(226, 232, 240, 0.7));
}

.region-fill-gradient-strong {
  background: linear-gradient(145deg, rgba(37, 99, 235, 0.24), rgba(14, 116, 144, 0.3));
}

.region-fill-radial {
  background: radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.82), rgba(226, 232, 240, 0.58) 48%, rgba(148, 163, 184, 0.35));
}

.region-fill-glass {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(241, 245, 249, 0.22));
  backdrop-filter: blur(2px);
}

.region-fill-grid {
  background-image: linear-gradient(rgba(15, 23, 42, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.08) 1px, transparent 1px);
  background-size: 16px 16px, 16px 16px;
  background-color: var(--region-bg);
}

.region-fill-dots {
  background-image: radial-gradient(circle at 1px 1px, rgba(15, 23, 42, 0.16) 1px, transparent 0);
  background-size: 12px 12px;
  background-color: var(--region-bg);
}

.region-fill-stripes {
  background-image: repeating-linear-gradient(-45deg, rgba(15, 23, 42, 0.06) 0 8px, rgba(15, 23, 42, 0) 8px 16px);
  background-color: var(--region-bg);
}

.region-border-thick {
  border-width: 2px;
}

.region-border-double {
  border-style: double;
  border-width: 3px;
}

.region-border-dashed {
  border-style: dashed;
}

.region-border-glow {
  box-shadow: 0 0 0 1px var(--region-border), 0 0 24px color-mix(in srgb, var(--region-border) 50%, transparent);
}

.region-boundary-leftbar {
  border-left-width: 6px;
  padding-left: calc(var(--region-pad-x) - 0.25rem);
}

.region-boundary-topbar {
  border-top-width: 5px;
  padding-top: calc(var(--region-pad-y) - 0.2rem);
}

.region-shadow-none {
  --region-shadow: none;
}

.region-shadow-soft {
  --region-shadow: 0 6px 12px rgba(15, 23, 42, 0.08);
}

.region-shadow-hard {
  --region-shadow: 0 12px 24px rgba(15, 23, 42, 0.22);
}

.region-shadow-float {
  --region-shadow: 0 18px 34px rgba(15, 23, 42, 0.24);
}

.region-clip-diagonal {
  clip-path: polygon(0 0, 100% 0, 100% 84%, 0 100%);
}

.region-clip-notch {
  clip-path: polygon(0 0, 94% 0, 100% 12%, 100% 100%, 0 100%);
}

.region-clip-arch {
  clip-path: ellipse(92% 100% at 50% 50%);
}

.region-clip-chevron {
  clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%, 7% 50%);
}

.region-pad-s {
  --region-pad-y: 0.58rem;
  --region-pad-x: 0.78rem;
}

.region-pad-m {
  --region-pad-y: 0.92rem;
  --region-pad-x: 1.08rem;
}

.region-pad-l {
  --region-pad-y: 1.18rem;
  --region-pad-x: 1.35rem;
}

.region-pad-xl {
  --region-pad-y: 1.45rem;
  --region-pad-x: 1.6rem;
}

.region-card-paper {
  --region-bg: rgba(255, 251, 236, 0.9);
  --region-border: rgba(143, 116, 58, 0.34);
}

.region-card-glass {
  --region-bg: rgba(248, 250, 252, 0.68);
  --region-border: rgba(100, 116, 139, 0.32);
}

.region-note-info {
  --region-bg: rgba(37, 99, 235, 0.12);
  --region-border: rgba(29, 78, 216, 0.3);
}

.region-note-warning {
  --region-bg: rgba(245, 158, 11, 0.14);
  --region-border: rgba(217, 119, 6, 0.42);
}

.region-note-success {
  --region-bg: rgba(16, 185, 129, 0.14);
  --region-border: rgba(5, 150, 105, 0.42);
}

.region-note-danger {
  --region-bg: rgba(220, 38, 38, 0.13);
  --region-border: rgba(185, 28, 28, 0.42);
}

.region-hero-gradient {
  --region-bg: linear-gradient(130deg, rgba(79, 70, 229, 0.2), rgba(14, 165, 233, 0.2), rgba(16, 185, 129, 0.18));
  --region-border: rgba(67, 56, 202, 0.34);
}

.region-callout-ink {
  --region-bg: linear-gradient(145deg, rgba(30, 41, 59, 0.94), rgba(51, 65, 85, 0.92));
  --region-border: rgba(148, 163, 184, 0.42);
  --region-text: rgba(241, 245, 249, 0.98);
}

.region-tone-bauhaus {
  --region-bg: rgba(249, 244, 233, 0.92);
  --region-border: rgba(17, 24, 39, 0.42);
  --region-text: rgba(17, 24, 39, 0.98);
}

.region-tone-editorial {
  --region-bg: rgba(247, 250, 252, 0.94);
  --region-border: rgba(30, 41, 59, 0.34);
  --region-text: rgba(15, 23, 42, 0.98);
}

.region-fill-bauhaus-geo {
  background-image: radial-gradient(circle at 13% 22%, rgba(220, 38, 38, 0.24) 0 11%, transparent 11.4%), radial-gradient(circle at 84% 78%, rgba(29, 78, 216, 0.2) 0 13%, transparent 13.4%), linear-gradient(140deg, rgba(15, 23, 42, 0.06) 0 17%, transparent 17% 82%, rgba(15, 23, 42, 0.05) 82% 100%), linear-gradient(155deg, rgba(255, 255, 255, 0.72), rgba(241, 245, 249, 0.56));
  background-color: var(--region-bg);
}

.region-fill-editorial-grid {
  background-image: linear-gradient(rgba(15, 23, 42, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, 0.08) 1px, transparent 1px), linear-gradient(158deg, rgba(14, 165, 233, 0.12), rgba(248, 113, 113, 0.08) 54%, rgba(251, 146, 60, 0.12));
  background-size: 24px 24px, 24px 24px, cover;
  background-position: 0 0, 0 0, center;
  background-color: var(--region-bg);
}

.region-shape-cut-corner {
  clip-path: polygon(0 0, calc(100% - 1.5rem) 0, 100% 1.5rem, 100% 100%, 0 100%);
}

.region-shape-arch-top {
  border-top-left-radius: 48% 18%;
  border-top-right-radius: 48% 18%;
}

.region-hero-bauhaus {
  --region-bg: linear-gradient(150deg, rgba(255, 252, 242, 0.98), rgba(242, 235, 221, 0.9));
  --region-border: rgba(17, 24, 39, 0.42);
  --region-text: rgba(17, 24, 39, 0.98);
}

.region-hero-bauhaus::before {
  content: "";
  position: absolute;
  top: -2.6rem;
  left: -1.7rem;
  width: clamp(4.8rem, 10vw, 8.6rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid rgba(17, 24, 39, 0.42);
  background: radial-gradient(circle at 42% 42%, rgba(220, 38, 38, 0.24), rgba(220, 38, 38, 0.08) 62%, transparent 72%);
  opacity: 0.9;
  pointer-events: none;
}

.region-hero-bauhaus::after {
  content: "";
  position: absolute;
  right: -2.8rem;
  bottom: -2.4rem;
  width: clamp(6.2rem, 14vw, 10.8rem);
  height: clamp(2.4rem, 6vw, 4.5rem);
  border: 2px solid rgba(30, 41, 59, 0.36);
  background: linear-gradient(90deg, rgba(234, 88, 12, 0.2), rgba(37, 99, 235, 0.16));
  transform: rotate(-19deg);
  opacity: 0.86;
  pointer-events: none;
}

.region-hero-editorial {
  --region-bg: linear-gradient(160deg, rgba(248, 250, 252, 0.98), rgba(226, 232, 240, 0.72));
  --region-border: rgba(30, 41, 59, 0.36);
  --region-text: rgba(15, 23, 42, 0.98);
}

.region-hero-editorial::before {
  content: "";
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
  width: clamp(4rem, 7.5vw, 6.8rem);
  height: 0.55rem;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.75), rgba(15, 23, 42, 0.08));
  opacity: 0.45;
  pointer-events: none;
}

.region-hero-editorial::after {
  content: "";
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: clamp(1.8rem, 3.7vw, 3rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: rgba(37, 99, 235, 0.2);
  box-shadow: 2.2rem 1.25rem 0 0 rgba(239, 68, 68, 0.15), -1.1rem 2.1rem 0 0 rgba(245, 158, 11, 0.18);
  pointer-events: none;
}

.region-hero-bauhaus > *,
.region-hero-editorial > * {
  position: relative;
  z-index: 1;
}

.region-figure-frame {
  --region-bg: rgba(248, 250, 252, 0.95);
  --region-border: rgba(71, 85, 105, 0.35);
}

.region-figure-spotlight {
  --region-bg: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.96), rgba(226, 232, 240, 0.7));
  --region-border: rgba(148, 163, 184, 0.4);
}

.region-figure-banner {
  --region-bg: linear-gradient(150deg, rgba(30, 64, 175, 0.16), rgba(14, 116, 144, 0.18));
  --region-border: rgba(30, 64, 175, 0.38);
}

.region-figure-style1 {
  --region-bg: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(239, 246, 255, 0.9));
  --region-border: rgba(37, 99, 235, 0.3);
}

.region-figure-style2 {
  --region-bg: linear-gradient(145deg, rgba(255, 247, 237, 0.88), rgba(255, 237, 213, 0.74));
  --region-border: rgba(234, 88, 12, 0.34);
}

figure.region {
  --region-pad-y: 0.7rem;
  --region-pad-x: 0.7rem;
}

figure.region > img,
figure.region > picture > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: calc(var(--region-radius) - 2px);
}

figure.region > figcaption {
  margin-top: 0.55rem;
}

/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Image */
/* .figure-inline figure {
	min-height: 40vh;
} */
figure {
  border: 0;
  border-radius: var(--size_border_radius);
  display: inline-block;
  position: relative;
  max-height: 100vh;
}
figure img {
  display: block;
  border-radius: var(--size_border_radius);
}
figure.left, figure.right {
  width: 40%;
  max-width: 50%;
}
figure.left img, figure.right img {
  width: 100%;
}
figure.left {
  float: left;
  margin: 0 1.5rem 1rem 0;
  top: 0.25rem;
}
figure.right {
  float: right;
  margin: 0 0 1rem 1.5rem;
  top: 0.25rem;
}
figure.fit {
  display: block;
  margin: 0 0 var(--size_element_margin) 0;
  width: 100%;
  max-width: 100%;
  float: none;
}
figure.fit img {
  width: 100%;
}
figure.centre {
  display: block;
  margin: 0 0 var(--size_element_margin) 0;
  width: 50%;
}
figure.centre img {
  width: 100%;
}
figure.centre {
  display: flex;
  justify-content: center;
  align-items: center;
}
figure.main {
  display: block;
  margin: 0 0 calc(var(--size_element_margin) * 1.5) 0;
  width: 100%;
}
figure.main img {
  width: 100%;
}
figure .ql-embed-frame {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  background: transparent;
}
figure .ql-embed-frame iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
  background: transparent;
}
figure .ql-embed-frame .ql-embed-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 2vw, 1.5rem);
  background: linear-gradient(180deg, rgba(10, 12, 18, 0.2), rgba(10, 12, 18, 0.72)), radial-gradient(circle at top, rgba(255, 255, 255, 0.1), transparent 55%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}
figure .ql-embed-frame .ql-embed-fallback-card {
  display: grid;
  gap: 0.75rem;
  width: min(30rem, 100%);
  padding: clamp(1rem, 2vw, 1.5rem);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: calc(var(--size_border_radius) * 1.2);
  background: rgba(15, 18, 26, 0.92);
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.28);
  color: #fff;
  text-align: center;
}
figure .ql-embed-frame .ql-embed-fallback-title {
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.2;
}
figure .ql-embed-frame .ql-embed-fallback-copy {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.5;
}
figure .ql-embed-frame .ql-embed-fallback-link {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.1rem;
  border-radius: calc(var(--size_border_radius) * 1.05);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
}
figure .ql-embed-frame .ql-embed-fallback-link:hover,
figure .ql-embed-frame .ql-embed-fallback-link:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}
figure .ql-embed-frame[data-ql-embed-state=fallback] .ql-embed-fallback {
  opacity: 1;
  pointer-events: auto;
}
figure .ql-embed-frame.ql-embed-frame-ratio {
  aspect-ratio: var(--ql-embed-aspect-ratio, 16/9);
}
figure .ql-embed-frame.ql-embed-frame-ratio iframe {
  position: absolute;
  inset: 0;
  height: 100%;
}
figure .ql-embed-frame.ql-embed-frame-fixed iframe {
  height: var(--ql-embed-height, 32rem);
}

@media screen and (max-width: 980px) {
  figure .ql-embed-frame.ql-embed-frame-fixed iframe {
    height: min(var(--ql-embed-height, 32rem), var(--surface-embed-fixed-max-height-medium, 75svh));
  }
}
@media screen and (max-width: 736px) {
  figure .ql-embed-frame.ql-embed-frame-fixed iframe {
    height: min(var(--ql-embed-height, 32rem), var(--surface-embed-fixed-max-height-small, 68svh));
  }
}
.figure-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.figure-gallery:nth-child(1) .figure img {
  transition-delay: calc(0 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(2) .figure img {
  transition-delay: calc(1 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(3) .figure img {
  transition-delay: calc(2 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(4) .figure img {
  transition-delay: calc(3 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(5) .figure img {
  transition-delay: calc(4 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(6) .figure img {
  transition-delay: calc(5 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(7) .figure img {
  transition-delay: calc(6 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(8) .figure img {
  transition-delay: calc(7 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(9) .figure img {
  transition-delay: calc(8 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(10) .figure img {
  transition-delay: calc(9 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(11) .figure img {
  transition-delay: calc(10 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(12) .figure img {
  transition-delay: calc(11 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(13) .figure img {
  transition-delay: calc(12 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(14) .figure img {
  transition-delay: calc(13 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(15) .figure img {
  transition-delay: calc(14 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(16) .figure img {
  transition-delay: calc(15 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(17) .figure img {
  transition-delay: calc(16 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(18) .figure img {
  transition-delay: calc(17 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(19) .figure img {
  transition-delay: calc(18 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(20) .figure img {
  transition-delay: calc(19 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(21) .figure img {
  transition-delay: calc(20 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(22) .figure img {
  transition-delay: calc(21 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(23) .figure img {
  transition-delay: calc(22 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(24) .figure img {
  transition-delay: calc(23 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(25) .figure img {
  transition-delay: calc(24 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(26) .figure img {
  transition-delay: calc(25 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(27) .figure img {
  transition-delay: calc(26 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(28) .figure img {
  transition-delay: calc(27 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(29) .figure img {
  transition-delay: calc(28 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(30) .figure img {
  transition-delay: calc(29 * var(--duration_gallery_delay));
}
.figure-gallery:nth-child(31) .figure img {
  transition-delay: calc(30 * var(--duration_gallery_delay));
}

.figure-gallery > figure {
  height: 300px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border-radius: 0;
}

.figure-gallery figure img,
.figure-gallery figure svg {
  object-fit: cover;
  object-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  vertical-align: middle;
  border-radius: 0;
  height: 300px;
}

.figure-gallery > figure {
  flex-grow: 1;
  /* ... */
}

@media screen and (max-width: 736px) {
  .figure-gallery > figure {
    height: 550px;
  }
  .figure-gallery figure img,
  .figure-gallery figure svg {
    height: 550px;
  }
}
@media screen and (orientation: portrait) {
  .figure-gallery > figure {
    height: 550px;
  }
  .figure-gallery figure img,
  .figure-gallery figure svg {
    height: 550px;
  }
}
/* Image */
.inline-figure figure {
  border: 0;
  border-radius: var(--size_border_radius);
  display: inline-block;
  position: relative;
}
.inline-figure figure img {
  display: block;
  border-radius: var(--size_border_radius);
}
.inline-figure figure.left, .inline-figure figure.right {
  width: 20%;
  max-width: 20%;
}
.inline-figure figure.left img, .inline-figure figure.right img {
  width: 100%;
  height: 20%;
}
.inline-figure figure.left {
  float: left;
  margin: 0 1.5rem 1rem 0;
  top: 0.25rem;
}
.inline-figure figure.right {
  float: right;
  margin: 0 0 1rem 1.5rem;
  top: 0.25rem;
}
.inline-figure figure.fit {
  display: block;
  margin: 0 0 var(--size_element_margin) 0;
  width: 100%;
}
.inline-figure figure.fit img {
  width: 100%;
}
.inline-figure figure.gallery-element {
  margin: 0;
  padding: 0;
  top: 0;
}
.inline-figure figure.gallery-element.onload-figure-fade-up {
  transition: opacity calc(var(--duration_on_load) * 0.5) ease-in-out, transform calc(var(--duration_on_load) * 0.5) ease-in-out;
  z-index: 100;
}
.inline-figure figure.gallery-element.onload-figure-fade-up img {
  transition: opacity var(--duration_on_load) ease-in-out;
  transition-delay: calc(var(--duration_on_load) * 0.75);
}
body.is-preload .inline-figure figure.gallery-element.onload-figure-fade-up {
  transform: translateY(1rem);
  opacity: 0;
}
body.is-preload .inline-figure figure.gallery-element.onload-figure-fade-up img {
  opacity: 0;
}
.inline-figure figure.gallery-element.onscroll-figure-fade-up {
  transition: opacity calc(var(--duration_on_scroll) * 0.5) ease-in-out, transform calc(var(--duration_on_scroll) * 0.5) ease-in-out;
  z-index: 100;
}
.inline-figure figure.gallery-element.onscroll-figure-fade-up img {
  transition: opacity var(--duration_on_scroll) ease-in-out;
  transition-delay: calc(var(--duration_on_scroll) * 0.75);
}
.inline-figure figure.gallery-element.onscroll-figure-fade-up.is-inactive {
  transform: translateY(1rem);
  opacity: 0;
}
.inline-figure figure.gallery-element.onscroll-figure-fade-up.is-inactive img {
  opacity: 0;
}
.inline-figure figure.main {
  display: block;
  margin: 0 0 calc(var(--size_element_margin) * 1.5) 0;
  width: 100%;
}
.inline-figure figure.main img {
  width: 100%;
}
.inline-figure figure {
  padding: 0 1.5rem 0 0;
}
.inline-figure figure figcaption p {
  margin: 2rem 0 0.5rem 0;
}

.banner figure img, .banner figure canvas, .banner figure iframe, .spotlight figure img, .spotlight figure canvas, .spotlight figure iframe, .wrapper figure img, .wrapper figure canvas, .wrapper figure iframe {
  object-fit: cover;
}
.banner.figure-preserve-aspect figure img, .banner.figure-contain figure img, .spotlight.figure-preserve-aspect figure img, .spotlight.figure-contain figure img, .wrapper.figure-preserve-aspect figure img, .wrapper.figure-contain figure img {
  object-fit: contain;
}
.banner.no-underline a, .spotlight.no-underline a, .wrapper.no-underline a {
  text-decoration: none;
}
.banner.content-align-center, .spotlight.content-align-center, .wrapper.content-align-center {
  text-align: center;
}
.banner.position-left, .banner.figure-position-left, .spotlight.position-left, .spotlight.figure-position-left, .wrapper.position-left, .wrapper.figure-position-left {
  display: flex;
  justify-content: left;
  align-items: left;
}
.banner.position-left figure img, .banner.position-left figure canvas, .banner.position-left figure iframe, .banner.figure-position-left figure img, .banner.figure-position-left figure canvas, .banner.figure-position-left figure iframe, .spotlight.position-left figure img, .spotlight.position-left figure canvas, .spotlight.position-left figure iframe, .spotlight.figure-position-left figure img, .spotlight.figure-position-left figure canvas, .spotlight.figure-position-left figure iframe, .wrapper.position-left figure img, .wrapper.position-left figure canvas, .wrapper.position-left figure iframe, .wrapper.figure-position-left figure img, .wrapper.figure-position-left figure canvas, .wrapper.figure-position-left figure iframe {
  object-position: left;
}
.banner.position-left svg, .banner.figure-position-left svg, .spotlight.position-left svg, .spotlight.figure-position-left svg, .wrapper.position-left svg, .wrapper.figure-position-left svg {
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.banner.position-center figure, .banner.figure-position-center figure, .spotlight.position-center figure, .spotlight.figure-position-center figure, .wrapper.position-center figure, .wrapper.figure-position-center figure {
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner.position-center figure img, .banner.position-center figure canvas, .banner.position-center figure iframe, .banner.figure-position-center figure img, .banner.figure-position-center figure canvas, .banner.figure-position-center figure iframe, .spotlight.position-center figure img, .spotlight.position-center figure canvas, .spotlight.position-center figure iframe, .spotlight.figure-position-center figure img, .spotlight.figure-position-center figure canvas, .spotlight.figure-position-center figure iframe, .wrapper.position-center figure img, .wrapper.position-center figure canvas, .wrapper.position-center figure iframe, .wrapper.figure-position-center figure img, .wrapper.figure-position-center figure canvas, .wrapper.figure-position-center figure iframe {
  object-position: center;
  object-fit: cover;
}
.banner.position-center figure svg, .banner.figure-position-center figure svg, .spotlight.position-center figure svg, .spotlight.figure-position-center figure svg, .wrapper.position-center figure svg, .wrapper.figure-position-center figure svg {
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.banner.position-right, .banner.figure-position-right, .spotlight.position-right, .spotlight.figure-position-right, .wrapper.position-right, .wrapper.figure-position-right {
  display: flex;
  justify-content: right;
  align-items: right;
}
.banner.position-right figure img, .banner.position-right figure canvas, .banner.position-right figure iframe, .banner.figure-position-right figure img, .banner.figure-position-right figure canvas, .banner.figure-position-right figure iframe, .spotlight.position-right figure img, .spotlight.position-right figure canvas, .spotlight.position-right figure iframe, .spotlight.figure-position-right figure img, .spotlight.figure-position-right figure canvas, .spotlight.figure-position-right figure iframe, .wrapper.position-right figure img, .wrapper.position-right figure canvas, .wrapper.position-right figure iframe, .wrapper.figure-position-right figure img, .wrapper.figure-position-right figure canvas, .wrapper.figure-position-right figure iframe {
  object-position: right;
}
.banner.position-right svg, .banner.figure-position-right svg, .spotlight.position-right svg, .spotlight.figure-position-right svg, .wrapper.position-right svg, .wrapper.figure-position-right svg {
  max-width: 100%;
  max-height: 100%;
  display: block;
}
.banner.position-top figure img, .banner.position-top figure canvas, .banner.position-top figure iframe, .banner.figure-position-top figure img, .banner.figure-position-top figure canvas, .banner.figure-position-top figure iframe, .spotlight.position-top figure img, .spotlight.position-top figure canvas, .spotlight.position-top figure iframe, .spotlight.figure-position-top figure img, .spotlight.figure-position-top figure canvas, .spotlight.figure-position-top figure iframe, .wrapper.position-top figure img, .wrapper.position-top figure canvas, .wrapper.position-top figure iframe, .wrapper.figure-position-top figure img, .wrapper.figure-position-top figure canvas, .wrapper.figure-position-top figure iframe {
  object-position: top;
}
.banner.position-middle figure img, .banner.position-middle figure canvas, .banner.position-middle figure iframe, .banner.figure-position-middle figure img, .banner.figure-position-middle figure canvas, .banner.figure-position-middle figure iframe, .spotlight.position-middle figure img, .spotlight.position-middle figure canvas, .spotlight.position-middle figure iframe, .spotlight.figure-position-middle figure img, .spotlight.figure-position-middle figure canvas, .spotlight.figure-position-middle figure iframe, .wrapper.position-middle figure img, .wrapper.position-middle figure canvas, .wrapper.position-middle figure iframe, .wrapper.figure-position-middle figure img, .wrapper.figure-position-middle figure canvas, .wrapper.figure-position-middle figure iframe {
  object-position: center;
}
.banner.position-bottom figure img, .banner.position-bottom figure canvas, .banner.position-bottom figure iframe, .banner.figure-position-bottom figure img, .banner.figure-position-bottom figure canvas, .banner.figure-position-bottom figure iframe, .spotlight.position-bottom figure img, .spotlight.position-bottom figure canvas, .spotlight.position-bottom figure iframe, .spotlight.figure-position-bottom figure img, .spotlight.figure-position-bottom figure canvas, .spotlight.figure-position-bottom figure iframe, .wrapper.position-bottom figure img, .wrapper.position-bottom figure canvas, .wrapper.position-bottom figure iframe, .wrapper.figure-position-bottom figure img, .wrapper.figure-position-bottom figure canvas, .wrapper.figure-position-bottom figure iframe {
  object-position: bottom;
}
.banner.position-upper figure img, .banner.position-upper figure canvas, .banner.position-upper figure iframe, .banner.figure-position-upper figure img, .banner.figure-position-upper figure canvas, .banner.figure-position-upper figure iframe, .spotlight.position-upper figure img, .spotlight.position-upper figure canvas, .spotlight.position-upper figure iframe, .spotlight.figure-position-upper figure img, .spotlight.figure-position-upper figure canvas, .spotlight.figure-position-upper figure iframe, .wrapper.position-upper figure img, .wrapper.position-upper figure canvas, .wrapper.position-upper figure iframe, .wrapper.figure-position-upper figure img, .wrapper.figure-position-upper figure canvas, .wrapper.figure-position-upper figure iframe {
  object-position: 60% 40%;
}
.banner.position-lower figure img, .banner.position-lower figure canvas, .banner.position-lower figure iframe, .banner.figure-position-lower figure img, .banner.figure-position-lower figure canvas, .banner.figure-position-lower figure iframe, .spotlight.position-lower figure img, .spotlight.position-lower figure canvas, .spotlight.position-lower figure iframe, .spotlight.figure-position-lower figure img, .spotlight.figure-position-lower figure canvas, .spotlight.figure-position-lower figure iframe, .wrapper.position-lower figure img, .wrapper.position-lower figure canvas, .wrapper.position-lower figure iframe, .wrapper.figure-position-lower figure img, .wrapper.figure-position-lower figure canvas, .wrapper.figure-position-lower figure iframe {
  object-position: 40% 60%;
}
.banner.position-lower-top figure img, .banner.position-lower-top figure canvas, .banner.position-lower-top figure iframe, .banner.figure-position-lower-top figure img, .banner.figure-position-lower-top figure canvas, .banner.figure-position-lower-top figure iframe, .spotlight.position-lower-top figure img, .spotlight.position-lower-top figure canvas, .spotlight.position-lower-top figure iframe, .spotlight.figure-position-lower-top figure img, .spotlight.figure-position-lower-top figure canvas, .spotlight.figure-position-lower-top figure iframe, .wrapper.position-lower-top figure img, .wrapper.position-lower-top figure canvas, .wrapper.position-lower-top figure iframe, .wrapper.figure-position-lower-top figure img, .wrapper.figure-position-lower-top figure canvas, .wrapper.figure-position-lower-top figure iframe {
  object-position: 80% 20%;
}
.banner.position-upper-bottom figure img, .banner.position-upper-bottom figure canvas, .banner.position-upper-bottom figure iframe, .banner.figure-position-upper-bottom figure img, .banner.figure-position-upper-bottom figure canvas, .banner.figure-position-upper-bottom figure iframe, .spotlight.position-upper-bottom figure img, .spotlight.position-upper-bottom figure canvas, .spotlight.position-upper-bottom figure iframe, .spotlight.figure-position-upper-bottom figure img, .spotlight.figure-position-upper-bottom figure canvas, .spotlight.figure-position-upper-bottom figure iframe, .wrapper.position-upper-bottom figure img, .wrapper.position-upper-bottom figure canvas, .wrapper.position-upper-bottom figure iframe, .wrapper.figure-position-upper-bottom figure img, .wrapper.figure-position-upper-bottom figure canvas, .wrapper.figure-position-upper-bottom figure iframe {
  object-position: 80% 20%;
}
.banner.position-0 figure img, .banner.position-0 figure canvas, .banner.position-0 figure iframe, .banner.figure-position-0 figure img, .banner.figure-position-0 figure canvas, .banner.figure-position-0 figure iframe, .spotlight.position-0 figure img, .spotlight.position-0 figure canvas, .spotlight.position-0 figure iframe, .spotlight.figure-position-0 figure img, .spotlight.figure-position-0 figure canvas, .spotlight.figure-position-0 figure iframe, .wrapper.position-0 figure img, .wrapper.position-0 figure canvas, .wrapper.position-0 figure iframe, .wrapper.figure-position-0 figure img, .wrapper.figure-position-0 figure canvas, .wrapper.figure-position-0 figure iframe {
  object-position: 0% 100%;
}
.banner.position-1 figure img, .banner.position-1 figure canvas, .banner.position-1 figure iframe, .banner.figure-position-1 figure img, .banner.figure-position-1 figure canvas, .banner.figure-position-1 figure iframe, .spotlight.position-1 figure img, .spotlight.position-1 figure canvas, .spotlight.position-1 figure iframe, .spotlight.figure-position-1 figure img, .spotlight.figure-position-1 figure canvas, .spotlight.figure-position-1 figure iframe, .wrapper.position-1 figure img, .wrapper.position-1 figure canvas, .wrapper.position-1 figure iframe, .wrapper.figure-position-1 figure img, .wrapper.figure-position-1 figure canvas, .wrapper.figure-position-1 figure iframe {
  object-position: 1% 99%;
}
.banner.position-2 figure img, .banner.position-2 figure canvas, .banner.position-2 figure iframe, .banner.figure-position-2 figure img, .banner.figure-position-2 figure canvas, .banner.figure-position-2 figure iframe, .spotlight.position-2 figure img, .spotlight.position-2 figure canvas, .spotlight.position-2 figure iframe, .spotlight.figure-position-2 figure img, .spotlight.figure-position-2 figure canvas, .spotlight.figure-position-2 figure iframe, .wrapper.position-2 figure img, .wrapper.position-2 figure canvas, .wrapper.position-2 figure iframe, .wrapper.figure-position-2 figure img, .wrapper.figure-position-2 figure canvas, .wrapper.figure-position-2 figure iframe {
  object-position: 2% 98%;
}
.banner.position-3 figure img, .banner.position-3 figure canvas, .banner.position-3 figure iframe, .banner.figure-position-3 figure img, .banner.figure-position-3 figure canvas, .banner.figure-position-3 figure iframe, .spotlight.position-3 figure img, .spotlight.position-3 figure canvas, .spotlight.position-3 figure iframe, .spotlight.figure-position-3 figure img, .spotlight.figure-position-3 figure canvas, .spotlight.figure-position-3 figure iframe, .wrapper.position-3 figure img, .wrapper.position-3 figure canvas, .wrapper.position-3 figure iframe, .wrapper.figure-position-3 figure img, .wrapper.figure-position-3 figure canvas, .wrapper.figure-position-3 figure iframe {
  object-position: 3% 97%;
}
.banner.position-4 figure img, .banner.position-4 figure canvas, .banner.position-4 figure iframe, .banner.figure-position-4 figure img, .banner.figure-position-4 figure canvas, .banner.figure-position-4 figure iframe, .spotlight.position-4 figure img, .spotlight.position-4 figure canvas, .spotlight.position-4 figure iframe, .spotlight.figure-position-4 figure img, .spotlight.figure-position-4 figure canvas, .spotlight.figure-position-4 figure iframe, .wrapper.position-4 figure img, .wrapper.position-4 figure canvas, .wrapper.position-4 figure iframe, .wrapper.figure-position-4 figure img, .wrapper.figure-position-4 figure canvas, .wrapper.figure-position-4 figure iframe {
  object-position: 4% 96%;
}
.banner.position-5 figure img, .banner.position-5 figure canvas, .banner.position-5 figure iframe, .banner.figure-position-5 figure img, .banner.figure-position-5 figure canvas, .banner.figure-position-5 figure iframe, .spotlight.position-5 figure img, .spotlight.position-5 figure canvas, .spotlight.position-5 figure iframe, .spotlight.figure-position-5 figure img, .spotlight.figure-position-5 figure canvas, .spotlight.figure-position-5 figure iframe, .wrapper.position-5 figure img, .wrapper.position-5 figure canvas, .wrapper.position-5 figure iframe, .wrapper.figure-position-5 figure img, .wrapper.figure-position-5 figure canvas, .wrapper.figure-position-5 figure iframe {
  object-position: 5% 95%;
}
.banner.position-6 figure img, .banner.position-6 figure canvas, .banner.position-6 figure iframe, .banner.figure-position-6 figure img, .banner.figure-position-6 figure canvas, .banner.figure-position-6 figure iframe, .spotlight.position-6 figure img, .spotlight.position-6 figure canvas, .spotlight.position-6 figure iframe, .spotlight.figure-position-6 figure img, .spotlight.figure-position-6 figure canvas, .spotlight.figure-position-6 figure iframe, .wrapper.position-6 figure img, .wrapper.position-6 figure canvas, .wrapper.position-6 figure iframe, .wrapper.figure-position-6 figure img, .wrapper.figure-position-6 figure canvas, .wrapper.figure-position-6 figure iframe {
  object-position: 6% 94%;
}
.banner.position-7 figure img, .banner.position-7 figure canvas, .banner.position-7 figure iframe, .banner.figure-position-7 figure img, .banner.figure-position-7 figure canvas, .banner.figure-position-7 figure iframe, .spotlight.position-7 figure img, .spotlight.position-7 figure canvas, .spotlight.position-7 figure iframe, .spotlight.figure-position-7 figure img, .spotlight.figure-position-7 figure canvas, .spotlight.figure-position-7 figure iframe, .wrapper.position-7 figure img, .wrapper.position-7 figure canvas, .wrapper.position-7 figure iframe, .wrapper.figure-position-7 figure img, .wrapper.figure-position-7 figure canvas, .wrapper.figure-position-7 figure iframe {
  object-position: 7% 93%;
}
.banner.position-8 figure img, .banner.position-8 figure canvas, .banner.position-8 figure iframe, .banner.figure-position-8 figure img, .banner.figure-position-8 figure canvas, .banner.figure-position-8 figure iframe, .spotlight.position-8 figure img, .spotlight.position-8 figure canvas, .spotlight.position-8 figure iframe, .spotlight.figure-position-8 figure img, .spotlight.figure-position-8 figure canvas, .spotlight.figure-position-8 figure iframe, .wrapper.position-8 figure img, .wrapper.position-8 figure canvas, .wrapper.position-8 figure iframe, .wrapper.figure-position-8 figure img, .wrapper.figure-position-8 figure canvas, .wrapper.figure-position-8 figure iframe {
  object-position: 8% 92%;
}
.banner.position-9 figure img, .banner.position-9 figure canvas, .banner.position-9 figure iframe, .banner.figure-position-9 figure img, .banner.figure-position-9 figure canvas, .banner.figure-position-9 figure iframe, .spotlight.position-9 figure img, .spotlight.position-9 figure canvas, .spotlight.position-9 figure iframe, .spotlight.figure-position-9 figure img, .spotlight.figure-position-9 figure canvas, .spotlight.figure-position-9 figure iframe, .wrapper.position-9 figure img, .wrapper.position-9 figure canvas, .wrapper.position-9 figure iframe, .wrapper.figure-position-9 figure img, .wrapper.figure-position-9 figure canvas, .wrapper.figure-position-9 figure iframe {
  object-position: 9% 91%;
}
.banner.position-10 figure img, .banner.position-10 figure canvas, .banner.position-10 figure iframe, .banner.figure-position-10 figure img, .banner.figure-position-10 figure canvas, .banner.figure-position-10 figure iframe, .spotlight.position-10 figure img, .spotlight.position-10 figure canvas, .spotlight.position-10 figure iframe, .spotlight.figure-position-10 figure img, .spotlight.figure-position-10 figure canvas, .spotlight.figure-position-10 figure iframe, .wrapper.position-10 figure img, .wrapper.position-10 figure canvas, .wrapper.position-10 figure iframe, .wrapper.figure-position-10 figure img, .wrapper.figure-position-10 figure canvas, .wrapper.figure-position-10 figure iframe {
  object-position: 10% 90%;
}
.banner.position-11 figure img, .banner.position-11 figure canvas, .banner.position-11 figure iframe, .banner.figure-position-11 figure img, .banner.figure-position-11 figure canvas, .banner.figure-position-11 figure iframe, .spotlight.position-11 figure img, .spotlight.position-11 figure canvas, .spotlight.position-11 figure iframe, .spotlight.figure-position-11 figure img, .spotlight.figure-position-11 figure canvas, .spotlight.figure-position-11 figure iframe, .wrapper.position-11 figure img, .wrapper.position-11 figure canvas, .wrapper.position-11 figure iframe, .wrapper.figure-position-11 figure img, .wrapper.figure-position-11 figure canvas, .wrapper.figure-position-11 figure iframe {
  object-position: 11% 89%;
}
.banner.position-12 figure img, .banner.position-12 figure canvas, .banner.position-12 figure iframe, .banner.figure-position-12 figure img, .banner.figure-position-12 figure canvas, .banner.figure-position-12 figure iframe, .spotlight.position-12 figure img, .spotlight.position-12 figure canvas, .spotlight.position-12 figure iframe, .spotlight.figure-position-12 figure img, .spotlight.figure-position-12 figure canvas, .spotlight.figure-position-12 figure iframe, .wrapper.position-12 figure img, .wrapper.position-12 figure canvas, .wrapper.position-12 figure iframe, .wrapper.figure-position-12 figure img, .wrapper.figure-position-12 figure canvas, .wrapper.figure-position-12 figure iframe {
  object-position: 12% 88%;
}
.banner.position-13 figure img, .banner.position-13 figure canvas, .banner.position-13 figure iframe, .banner.figure-position-13 figure img, .banner.figure-position-13 figure canvas, .banner.figure-position-13 figure iframe, .spotlight.position-13 figure img, .spotlight.position-13 figure canvas, .spotlight.position-13 figure iframe, .spotlight.figure-position-13 figure img, .spotlight.figure-position-13 figure canvas, .spotlight.figure-position-13 figure iframe, .wrapper.position-13 figure img, .wrapper.position-13 figure canvas, .wrapper.position-13 figure iframe, .wrapper.figure-position-13 figure img, .wrapper.figure-position-13 figure canvas, .wrapper.figure-position-13 figure iframe {
  object-position: 13% 87%;
}
.banner.position-14 figure img, .banner.position-14 figure canvas, .banner.position-14 figure iframe, .banner.figure-position-14 figure img, .banner.figure-position-14 figure canvas, .banner.figure-position-14 figure iframe, .spotlight.position-14 figure img, .spotlight.position-14 figure canvas, .spotlight.position-14 figure iframe, .spotlight.figure-position-14 figure img, .spotlight.figure-position-14 figure canvas, .spotlight.figure-position-14 figure iframe, .wrapper.position-14 figure img, .wrapper.position-14 figure canvas, .wrapper.position-14 figure iframe, .wrapper.figure-position-14 figure img, .wrapper.figure-position-14 figure canvas, .wrapper.figure-position-14 figure iframe {
  object-position: 14% 86%;
}
.banner.position-15 figure img, .banner.position-15 figure canvas, .banner.position-15 figure iframe, .banner.figure-position-15 figure img, .banner.figure-position-15 figure canvas, .banner.figure-position-15 figure iframe, .spotlight.position-15 figure img, .spotlight.position-15 figure canvas, .spotlight.position-15 figure iframe, .spotlight.figure-position-15 figure img, .spotlight.figure-position-15 figure canvas, .spotlight.figure-position-15 figure iframe, .wrapper.position-15 figure img, .wrapper.position-15 figure canvas, .wrapper.position-15 figure iframe, .wrapper.figure-position-15 figure img, .wrapper.figure-position-15 figure canvas, .wrapper.figure-position-15 figure iframe {
  object-position: 15% 85%;
}
.banner.position-16 figure img, .banner.position-16 figure canvas, .banner.position-16 figure iframe, .banner.figure-position-16 figure img, .banner.figure-position-16 figure canvas, .banner.figure-position-16 figure iframe, .spotlight.position-16 figure img, .spotlight.position-16 figure canvas, .spotlight.position-16 figure iframe, .spotlight.figure-position-16 figure img, .spotlight.figure-position-16 figure canvas, .spotlight.figure-position-16 figure iframe, .wrapper.position-16 figure img, .wrapper.position-16 figure canvas, .wrapper.position-16 figure iframe, .wrapper.figure-position-16 figure img, .wrapper.figure-position-16 figure canvas, .wrapper.figure-position-16 figure iframe {
  object-position: 16% 84%;
}
.banner.position-17 figure img, .banner.position-17 figure canvas, .banner.position-17 figure iframe, .banner.figure-position-17 figure img, .banner.figure-position-17 figure canvas, .banner.figure-position-17 figure iframe, .spotlight.position-17 figure img, .spotlight.position-17 figure canvas, .spotlight.position-17 figure iframe, .spotlight.figure-position-17 figure img, .spotlight.figure-position-17 figure canvas, .spotlight.figure-position-17 figure iframe, .wrapper.position-17 figure img, .wrapper.position-17 figure canvas, .wrapper.position-17 figure iframe, .wrapper.figure-position-17 figure img, .wrapper.figure-position-17 figure canvas, .wrapper.figure-position-17 figure iframe {
  object-position: 17% 83%;
}
.banner.position-18 figure img, .banner.position-18 figure canvas, .banner.position-18 figure iframe, .banner.figure-position-18 figure img, .banner.figure-position-18 figure canvas, .banner.figure-position-18 figure iframe, .spotlight.position-18 figure img, .spotlight.position-18 figure canvas, .spotlight.position-18 figure iframe, .spotlight.figure-position-18 figure img, .spotlight.figure-position-18 figure canvas, .spotlight.figure-position-18 figure iframe, .wrapper.position-18 figure img, .wrapper.position-18 figure canvas, .wrapper.position-18 figure iframe, .wrapper.figure-position-18 figure img, .wrapper.figure-position-18 figure canvas, .wrapper.figure-position-18 figure iframe {
  object-position: 18% 82%;
}
.banner.position-19 figure img, .banner.position-19 figure canvas, .banner.position-19 figure iframe, .banner.figure-position-19 figure img, .banner.figure-position-19 figure canvas, .banner.figure-position-19 figure iframe, .spotlight.position-19 figure img, .spotlight.position-19 figure canvas, .spotlight.position-19 figure iframe, .spotlight.figure-position-19 figure img, .spotlight.figure-position-19 figure canvas, .spotlight.figure-position-19 figure iframe, .wrapper.position-19 figure img, .wrapper.position-19 figure canvas, .wrapper.position-19 figure iframe, .wrapper.figure-position-19 figure img, .wrapper.figure-position-19 figure canvas, .wrapper.figure-position-19 figure iframe {
  object-position: 19% 81%;
}
.banner.position-20 figure img, .banner.position-20 figure canvas, .banner.position-20 figure iframe, .banner.figure-position-20 figure img, .banner.figure-position-20 figure canvas, .banner.figure-position-20 figure iframe, .spotlight.position-20 figure img, .spotlight.position-20 figure canvas, .spotlight.position-20 figure iframe, .spotlight.figure-position-20 figure img, .spotlight.figure-position-20 figure canvas, .spotlight.figure-position-20 figure iframe, .wrapper.position-20 figure img, .wrapper.position-20 figure canvas, .wrapper.position-20 figure iframe, .wrapper.figure-position-20 figure img, .wrapper.figure-position-20 figure canvas, .wrapper.figure-position-20 figure iframe {
  object-position: 20% 80%;
}
.banner.position-21 figure img, .banner.position-21 figure canvas, .banner.position-21 figure iframe, .banner.figure-position-21 figure img, .banner.figure-position-21 figure canvas, .banner.figure-position-21 figure iframe, .spotlight.position-21 figure img, .spotlight.position-21 figure canvas, .spotlight.position-21 figure iframe, .spotlight.figure-position-21 figure img, .spotlight.figure-position-21 figure canvas, .spotlight.figure-position-21 figure iframe, .wrapper.position-21 figure img, .wrapper.position-21 figure canvas, .wrapper.position-21 figure iframe, .wrapper.figure-position-21 figure img, .wrapper.figure-position-21 figure canvas, .wrapper.figure-position-21 figure iframe {
  object-position: 21% 79%;
}
.banner.position-22 figure img, .banner.position-22 figure canvas, .banner.position-22 figure iframe, .banner.figure-position-22 figure img, .banner.figure-position-22 figure canvas, .banner.figure-position-22 figure iframe, .spotlight.position-22 figure img, .spotlight.position-22 figure canvas, .spotlight.position-22 figure iframe, .spotlight.figure-position-22 figure img, .spotlight.figure-position-22 figure canvas, .spotlight.figure-position-22 figure iframe, .wrapper.position-22 figure img, .wrapper.position-22 figure canvas, .wrapper.position-22 figure iframe, .wrapper.figure-position-22 figure img, .wrapper.figure-position-22 figure canvas, .wrapper.figure-position-22 figure iframe {
  object-position: 22% 78%;
}
.banner.position-23 figure img, .banner.position-23 figure canvas, .banner.position-23 figure iframe, .banner.figure-position-23 figure img, .banner.figure-position-23 figure canvas, .banner.figure-position-23 figure iframe, .spotlight.position-23 figure img, .spotlight.position-23 figure canvas, .spotlight.position-23 figure iframe, .spotlight.figure-position-23 figure img, .spotlight.figure-position-23 figure canvas, .spotlight.figure-position-23 figure iframe, .wrapper.position-23 figure img, .wrapper.position-23 figure canvas, .wrapper.position-23 figure iframe, .wrapper.figure-position-23 figure img, .wrapper.figure-position-23 figure canvas, .wrapper.figure-position-23 figure iframe {
  object-position: 23% 77%;
}
.banner.position-24 figure img, .banner.position-24 figure canvas, .banner.position-24 figure iframe, .banner.figure-position-24 figure img, .banner.figure-position-24 figure canvas, .banner.figure-position-24 figure iframe, .spotlight.position-24 figure img, .spotlight.position-24 figure canvas, .spotlight.position-24 figure iframe, .spotlight.figure-position-24 figure img, .spotlight.figure-position-24 figure canvas, .spotlight.figure-position-24 figure iframe, .wrapper.position-24 figure img, .wrapper.position-24 figure canvas, .wrapper.position-24 figure iframe, .wrapper.figure-position-24 figure img, .wrapper.figure-position-24 figure canvas, .wrapper.figure-position-24 figure iframe {
  object-position: 24% 76%;
}
.banner.position-25 figure img, .banner.position-25 figure canvas, .banner.position-25 figure iframe, .banner.figure-position-25 figure img, .banner.figure-position-25 figure canvas, .banner.figure-position-25 figure iframe, .spotlight.position-25 figure img, .spotlight.position-25 figure canvas, .spotlight.position-25 figure iframe, .spotlight.figure-position-25 figure img, .spotlight.figure-position-25 figure canvas, .spotlight.figure-position-25 figure iframe, .wrapper.position-25 figure img, .wrapper.position-25 figure canvas, .wrapper.position-25 figure iframe, .wrapper.figure-position-25 figure img, .wrapper.figure-position-25 figure canvas, .wrapper.figure-position-25 figure iframe {
  object-position: 25% 75%;
}
.banner.position-26 figure img, .banner.position-26 figure canvas, .banner.position-26 figure iframe, .banner.figure-position-26 figure img, .banner.figure-position-26 figure canvas, .banner.figure-position-26 figure iframe, .spotlight.position-26 figure img, .spotlight.position-26 figure canvas, .spotlight.position-26 figure iframe, .spotlight.figure-position-26 figure img, .spotlight.figure-position-26 figure canvas, .spotlight.figure-position-26 figure iframe, .wrapper.position-26 figure img, .wrapper.position-26 figure canvas, .wrapper.position-26 figure iframe, .wrapper.figure-position-26 figure img, .wrapper.figure-position-26 figure canvas, .wrapper.figure-position-26 figure iframe {
  object-position: 26% 74%;
}
.banner.position-27 figure img, .banner.position-27 figure canvas, .banner.position-27 figure iframe, .banner.figure-position-27 figure img, .banner.figure-position-27 figure canvas, .banner.figure-position-27 figure iframe, .spotlight.position-27 figure img, .spotlight.position-27 figure canvas, .spotlight.position-27 figure iframe, .spotlight.figure-position-27 figure img, .spotlight.figure-position-27 figure canvas, .spotlight.figure-position-27 figure iframe, .wrapper.position-27 figure img, .wrapper.position-27 figure canvas, .wrapper.position-27 figure iframe, .wrapper.figure-position-27 figure img, .wrapper.figure-position-27 figure canvas, .wrapper.figure-position-27 figure iframe {
  object-position: 27% 73%;
}
.banner.position-28 figure img, .banner.position-28 figure canvas, .banner.position-28 figure iframe, .banner.figure-position-28 figure img, .banner.figure-position-28 figure canvas, .banner.figure-position-28 figure iframe, .spotlight.position-28 figure img, .spotlight.position-28 figure canvas, .spotlight.position-28 figure iframe, .spotlight.figure-position-28 figure img, .spotlight.figure-position-28 figure canvas, .spotlight.figure-position-28 figure iframe, .wrapper.position-28 figure img, .wrapper.position-28 figure canvas, .wrapper.position-28 figure iframe, .wrapper.figure-position-28 figure img, .wrapper.figure-position-28 figure canvas, .wrapper.figure-position-28 figure iframe {
  object-position: 28% 72%;
}
.banner.position-29 figure img, .banner.position-29 figure canvas, .banner.position-29 figure iframe, .banner.figure-position-29 figure img, .banner.figure-position-29 figure canvas, .banner.figure-position-29 figure iframe, .spotlight.position-29 figure img, .spotlight.position-29 figure canvas, .spotlight.position-29 figure iframe, .spotlight.figure-position-29 figure img, .spotlight.figure-position-29 figure canvas, .spotlight.figure-position-29 figure iframe, .wrapper.position-29 figure img, .wrapper.position-29 figure canvas, .wrapper.position-29 figure iframe, .wrapper.figure-position-29 figure img, .wrapper.figure-position-29 figure canvas, .wrapper.figure-position-29 figure iframe {
  object-position: 29% 71%;
}
.banner.position-30 figure img, .banner.position-30 figure canvas, .banner.position-30 figure iframe, .banner.figure-position-30 figure img, .banner.figure-position-30 figure canvas, .banner.figure-position-30 figure iframe, .spotlight.position-30 figure img, .spotlight.position-30 figure canvas, .spotlight.position-30 figure iframe, .spotlight.figure-position-30 figure img, .spotlight.figure-position-30 figure canvas, .spotlight.figure-position-30 figure iframe, .wrapper.position-30 figure img, .wrapper.position-30 figure canvas, .wrapper.position-30 figure iframe, .wrapper.figure-position-30 figure img, .wrapper.figure-position-30 figure canvas, .wrapper.figure-position-30 figure iframe {
  object-position: 30% 70%;
}
.banner.position-31 figure img, .banner.position-31 figure canvas, .banner.position-31 figure iframe, .banner.figure-position-31 figure img, .banner.figure-position-31 figure canvas, .banner.figure-position-31 figure iframe, .spotlight.position-31 figure img, .spotlight.position-31 figure canvas, .spotlight.position-31 figure iframe, .spotlight.figure-position-31 figure img, .spotlight.figure-position-31 figure canvas, .spotlight.figure-position-31 figure iframe, .wrapper.position-31 figure img, .wrapper.position-31 figure canvas, .wrapper.position-31 figure iframe, .wrapper.figure-position-31 figure img, .wrapper.figure-position-31 figure canvas, .wrapper.figure-position-31 figure iframe {
  object-position: 31% 69%;
}
.banner.position-32 figure img, .banner.position-32 figure canvas, .banner.position-32 figure iframe, .banner.figure-position-32 figure img, .banner.figure-position-32 figure canvas, .banner.figure-position-32 figure iframe, .spotlight.position-32 figure img, .spotlight.position-32 figure canvas, .spotlight.position-32 figure iframe, .spotlight.figure-position-32 figure img, .spotlight.figure-position-32 figure canvas, .spotlight.figure-position-32 figure iframe, .wrapper.position-32 figure img, .wrapper.position-32 figure canvas, .wrapper.position-32 figure iframe, .wrapper.figure-position-32 figure img, .wrapper.figure-position-32 figure canvas, .wrapper.figure-position-32 figure iframe {
  object-position: 32% 68%;
}
.banner.position-33 figure img, .banner.position-33 figure canvas, .banner.position-33 figure iframe, .banner.figure-position-33 figure img, .banner.figure-position-33 figure canvas, .banner.figure-position-33 figure iframe, .spotlight.position-33 figure img, .spotlight.position-33 figure canvas, .spotlight.position-33 figure iframe, .spotlight.figure-position-33 figure img, .spotlight.figure-position-33 figure canvas, .spotlight.figure-position-33 figure iframe, .wrapper.position-33 figure img, .wrapper.position-33 figure canvas, .wrapper.position-33 figure iframe, .wrapper.figure-position-33 figure img, .wrapper.figure-position-33 figure canvas, .wrapper.figure-position-33 figure iframe {
  object-position: 33% 67%;
}
.banner.position-34 figure img, .banner.position-34 figure canvas, .banner.position-34 figure iframe, .banner.figure-position-34 figure img, .banner.figure-position-34 figure canvas, .banner.figure-position-34 figure iframe, .spotlight.position-34 figure img, .spotlight.position-34 figure canvas, .spotlight.position-34 figure iframe, .spotlight.figure-position-34 figure img, .spotlight.figure-position-34 figure canvas, .spotlight.figure-position-34 figure iframe, .wrapper.position-34 figure img, .wrapper.position-34 figure canvas, .wrapper.position-34 figure iframe, .wrapper.figure-position-34 figure img, .wrapper.figure-position-34 figure canvas, .wrapper.figure-position-34 figure iframe {
  object-position: 34% 66%;
}
.banner.position-35 figure img, .banner.position-35 figure canvas, .banner.position-35 figure iframe, .banner.figure-position-35 figure img, .banner.figure-position-35 figure canvas, .banner.figure-position-35 figure iframe, .spotlight.position-35 figure img, .spotlight.position-35 figure canvas, .spotlight.position-35 figure iframe, .spotlight.figure-position-35 figure img, .spotlight.figure-position-35 figure canvas, .spotlight.figure-position-35 figure iframe, .wrapper.position-35 figure img, .wrapper.position-35 figure canvas, .wrapper.position-35 figure iframe, .wrapper.figure-position-35 figure img, .wrapper.figure-position-35 figure canvas, .wrapper.figure-position-35 figure iframe {
  object-position: 35% 65%;
}
.banner.position-36 figure img, .banner.position-36 figure canvas, .banner.position-36 figure iframe, .banner.figure-position-36 figure img, .banner.figure-position-36 figure canvas, .banner.figure-position-36 figure iframe, .spotlight.position-36 figure img, .spotlight.position-36 figure canvas, .spotlight.position-36 figure iframe, .spotlight.figure-position-36 figure img, .spotlight.figure-position-36 figure canvas, .spotlight.figure-position-36 figure iframe, .wrapper.position-36 figure img, .wrapper.position-36 figure canvas, .wrapper.position-36 figure iframe, .wrapper.figure-position-36 figure img, .wrapper.figure-position-36 figure canvas, .wrapper.figure-position-36 figure iframe {
  object-position: 36% 64%;
}
.banner.position-37 figure img, .banner.position-37 figure canvas, .banner.position-37 figure iframe, .banner.figure-position-37 figure img, .banner.figure-position-37 figure canvas, .banner.figure-position-37 figure iframe, .spotlight.position-37 figure img, .spotlight.position-37 figure canvas, .spotlight.position-37 figure iframe, .spotlight.figure-position-37 figure img, .spotlight.figure-position-37 figure canvas, .spotlight.figure-position-37 figure iframe, .wrapper.position-37 figure img, .wrapper.position-37 figure canvas, .wrapper.position-37 figure iframe, .wrapper.figure-position-37 figure img, .wrapper.figure-position-37 figure canvas, .wrapper.figure-position-37 figure iframe {
  object-position: 37% 63%;
}
.banner.position-38 figure img, .banner.position-38 figure canvas, .banner.position-38 figure iframe, .banner.figure-position-38 figure img, .banner.figure-position-38 figure canvas, .banner.figure-position-38 figure iframe, .spotlight.position-38 figure img, .spotlight.position-38 figure canvas, .spotlight.position-38 figure iframe, .spotlight.figure-position-38 figure img, .spotlight.figure-position-38 figure canvas, .spotlight.figure-position-38 figure iframe, .wrapper.position-38 figure img, .wrapper.position-38 figure canvas, .wrapper.position-38 figure iframe, .wrapper.figure-position-38 figure img, .wrapper.figure-position-38 figure canvas, .wrapper.figure-position-38 figure iframe {
  object-position: 38% 62%;
}
.banner.position-39 figure img, .banner.position-39 figure canvas, .banner.position-39 figure iframe, .banner.figure-position-39 figure img, .banner.figure-position-39 figure canvas, .banner.figure-position-39 figure iframe, .spotlight.position-39 figure img, .spotlight.position-39 figure canvas, .spotlight.position-39 figure iframe, .spotlight.figure-position-39 figure img, .spotlight.figure-position-39 figure canvas, .spotlight.figure-position-39 figure iframe, .wrapper.position-39 figure img, .wrapper.position-39 figure canvas, .wrapper.position-39 figure iframe, .wrapper.figure-position-39 figure img, .wrapper.figure-position-39 figure canvas, .wrapper.figure-position-39 figure iframe {
  object-position: 39% 61%;
}
.banner.position-40 figure img, .banner.position-40 figure canvas, .banner.position-40 figure iframe, .banner.figure-position-40 figure img, .banner.figure-position-40 figure canvas, .banner.figure-position-40 figure iframe, .spotlight.position-40 figure img, .spotlight.position-40 figure canvas, .spotlight.position-40 figure iframe, .spotlight.figure-position-40 figure img, .spotlight.figure-position-40 figure canvas, .spotlight.figure-position-40 figure iframe, .wrapper.position-40 figure img, .wrapper.position-40 figure canvas, .wrapper.position-40 figure iframe, .wrapper.figure-position-40 figure img, .wrapper.figure-position-40 figure canvas, .wrapper.figure-position-40 figure iframe {
  object-position: 40% 60%;
}
.banner.position-41 figure img, .banner.position-41 figure canvas, .banner.position-41 figure iframe, .banner.figure-position-41 figure img, .banner.figure-position-41 figure canvas, .banner.figure-position-41 figure iframe, .spotlight.position-41 figure img, .spotlight.position-41 figure canvas, .spotlight.position-41 figure iframe, .spotlight.figure-position-41 figure img, .spotlight.figure-position-41 figure canvas, .spotlight.figure-position-41 figure iframe, .wrapper.position-41 figure img, .wrapper.position-41 figure canvas, .wrapper.position-41 figure iframe, .wrapper.figure-position-41 figure img, .wrapper.figure-position-41 figure canvas, .wrapper.figure-position-41 figure iframe {
  object-position: 41% 59%;
}
.banner.position-42 figure img, .banner.position-42 figure canvas, .banner.position-42 figure iframe, .banner.figure-position-42 figure img, .banner.figure-position-42 figure canvas, .banner.figure-position-42 figure iframe, .spotlight.position-42 figure img, .spotlight.position-42 figure canvas, .spotlight.position-42 figure iframe, .spotlight.figure-position-42 figure img, .spotlight.figure-position-42 figure canvas, .spotlight.figure-position-42 figure iframe, .wrapper.position-42 figure img, .wrapper.position-42 figure canvas, .wrapper.position-42 figure iframe, .wrapper.figure-position-42 figure img, .wrapper.figure-position-42 figure canvas, .wrapper.figure-position-42 figure iframe {
  object-position: 42% 58%;
}
.banner.position-43 figure img, .banner.position-43 figure canvas, .banner.position-43 figure iframe, .banner.figure-position-43 figure img, .banner.figure-position-43 figure canvas, .banner.figure-position-43 figure iframe, .spotlight.position-43 figure img, .spotlight.position-43 figure canvas, .spotlight.position-43 figure iframe, .spotlight.figure-position-43 figure img, .spotlight.figure-position-43 figure canvas, .spotlight.figure-position-43 figure iframe, .wrapper.position-43 figure img, .wrapper.position-43 figure canvas, .wrapper.position-43 figure iframe, .wrapper.figure-position-43 figure img, .wrapper.figure-position-43 figure canvas, .wrapper.figure-position-43 figure iframe {
  object-position: 43% 57%;
}
.banner.position-44 figure img, .banner.position-44 figure canvas, .banner.position-44 figure iframe, .banner.figure-position-44 figure img, .banner.figure-position-44 figure canvas, .banner.figure-position-44 figure iframe, .spotlight.position-44 figure img, .spotlight.position-44 figure canvas, .spotlight.position-44 figure iframe, .spotlight.figure-position-44 figure img, .spotlight.figure-position-44 figure canvas, .spotlight.figure-position-44 figure iframe, .wrapper.position-44 figure img, .wrapper.position-44 figure canvas, .wrapper.position-44 figure iframe, .wrapper.figure-position-44 figure img, .wrapper.figure-position-44 figure canvas, .wrapper.figure-position-44 figure iframe {
  object-position: 44% 56%;
}
.banner.position-45 figure img, .banner.position-45 figure canvas, .banner.position-45 figure iframe, .banner.figure-position-45 figure img, .banner.figure-position-45 figure canvas, .banner.figure-position-45 figure iframe, .spotlight.position-45 figure img, .spotlight.position-45 figure canvas, .spotlight.position-45 figure iframe, .spotlight.figure-position-45 figure img, .spotlight.figure-position-45 figure canvas, .spotlight.figure-position-45 figure iframe, .wrapper.position-45 figure img, .wrapper.position-45 figure canvas, .wrapper.position-45 figure iframe, .wrapper.figure-position-45 figure img, .wrapper.figure-position-45 figure canvas, .wrapper.figure-position-45 figure iframe {
  object-position: 45% 55%;
}
.banner.position-46 figure img, .banner.position-46 figure canvas, .banner.position-46 figure iframe, .banner.figure-position-46 figure img, .banner.figure-position-46 figure canvas, .banner.figure-position-46 figure iframe, .spotlight.position-46 figure img, .spotlight.position-46 figure canvas, .spotlight.position-46 figure iframe, .spotlight.figure-position-46 figure img, .spotlight.figure-position-46 figure canvas, .spotlight.figure-position-46 figure iframe, .wrapper.position-46 figure img, .wrapper.position-46 figure canvas, .wrapper.position-46 figure iframe, .wrapper.figure-position-46 figure img, .wrapper.figure-position-46 figure canvas, .wrapper.figure-position-46 figure iframe {
  object-position: 46% 54%;
}
.banner.position-47 figure img, .banner.position-47 figure canvas, .banner.position-47 figure iframe, .banner.figure-position-47 figure img, .banner.figure-position-47 figure canvas, .banner.figure-position-47 figure iframe, .spotlight.position-47 figure img, .spotlight.position-47 figure canvas, .spotlight.position-47 figure iframe, .spotlight.figure-position-47 figure img, .spotlight.figure-position-47 figure canvas, .spotlight.figure-position-47 figure iframe, .wrapper.position-47 figure img, .wrapper.position-47 figure canvas, .wrapper.position-47 figure iframe, .wrapper.figure-position-47 figure img, .wrapper.figure-position-47 figure canvas, .wrapper.figure-position-47 figure iframe {
  object-position: 47% 53%;
}
.banner.position-48 figure img, .banner.position-48 figure canvas, .banner.position-48 figure iframe, .banner.figure-position-48 figure img, .banner.figure-position-48 figure canvas, .banner.figure-position-48 figure iframe, .spotlight.position-48 figure img, .spotlight.position-48 figure canvas, .spotlight.position-48 figure iframe, .spotlight.figure-position-48 figure img, .spotlight.figure-position-48 figure canvas, .spotlight.figure-position-48 figure iframe, .wrapper.position-48 figure img, .wrapper.position-48 figure canvas, .wrapper.position-48 figure iframe, .wrapper.figure-position-48 figure img, .wrapper.figure-position-48 figure canvas, .wrapper.figure-position-48 figure iframe {
  object-position: 48% 52%;
}
.banner.position-49 figure img, .banner.position-49 figure canvas, .banner.position-49 figure iframe, .banner.figure-position-49 figure img, .banner.figure-position-49 figure canvas, .banner.figure-position-49 figure iframe, .spotlight.position-49 figure img, .spotlight.position-49 figure canvas, .spotlight.position-49 figure iframe, .spotlight.figure-position-49 figure img, .spotlight.figure-position-49 figure canvas, .spotlight.figure-position-49 figure iframe, .wrapper.position-49 figure img, .wrapper.position-49 figure canvas, .wrapper.position-49 figure iframe, .wrapper.figure-position-49 figure img, .wrapper.figure-position-49 figure canvas, .wrapper.figure-position-49 figure iframe {
  object-position: 49% 51%;
}
.banner.position-50 figure img, .banner.position-50 figure canvas, .banner.position-50 figure iframe, .banner.figure-position-50 figure img, .banner.figure-position-50 figure canvas, .banner.figure-position-50 figure iframe, .spotlight.position-50 figure img, .spotlight.position-50 figure canvas, .spotlight.position-50 figure iframe, .spotlight.figure-position-50 figure img, .spotlight.figure-position-50 figure canvas, .spotlight.figure-position-50 figure iframe, .wrapper.position-50 figure img, .wrapper.position-50 figure canvas, .wrapper.position-50 figure iframe, .wrapper.figure-position-50 figure img, .wrapper.figure-position-50 figure canvas, .wrapper.figure-position-50 figure iframe {
  object-position: 50% 50%;
}
.banner.position-51 figure img, .banner.position-51 figure canvas, .banner.position-51 figure iframe, .banner.figure-position-51 figure img, .banner.figure-position-51 figure canvas, .banner.figure-position-51 figure iframe, .spotlight.position-51 figure img, .spotlight.position-51 figure canvas, .spotlight.position-51 figure iframe, .spotlight.figure-position-51 figure img, .spotlight.figure-position-51 figure canvas, .spotlight.figure-position-51 figure iframe, .wrapper.position-51 figure img, .wrapper.position-51 figure canvas, .wrapper.position-51 figure iframe, .wrapper.figure-position-51 figure img, .wrapper.figure-position-51 figure canvas, .wrapper.figure-position-51 figure iframe {
  object-position: 51% 49%;
}
.banner.position-52 figure img, .banner.position-52 figure canvas, .banner.position-52 figure iframe, .banner.figure-position-52 figure img, .banner.figure-position-52 figure canvas, .banner.figure-position-52 figure iframe, .spotlight.position-52 figure img, .spotlight.position-52 figure canvas, .spotlight.position-52 figure iframe, .spotlight.figure-position-52 figure img, .spotlight.figure-position-52 figure canvas, .spotlight.figure-position-52 figure iframe, .wrapper.position-52 figure img, .wrapper.position-52 figure canvas, .wrapper.position-52 figure iframe, .wrapper.figure-position-52 figure img, .wrapper.figure-position-52 figure canvas, .wrapper.figure-position-52 figure iframe {
  object-position: 52% 48%;
}
.banner.position-53 figure img, .banner.position-53 figure canvas, .banner.position-53 figure iframe, .banner.figure-position-53 figure img, .banner.figure-position-53 figure canvas, .banner.figure-position-53 figure iframe, .spotlight.position-53 figure img, .spotlight.position-53 figure canvas, .spotlight.position-53 figure iframe, .spotlight.figure-position-53 figure img, .spotlight.figure-position-53 figure canvas, .spotlight.figure-position-53 figure iframe, .wrapper.position-53 figure img, .wrapper.position-53 figure canvas, .wrapper.position-53 figure iframe, .wrapper.figure-position-53 figure img, .wrapper.figure-position-53 figure canvas, .wrapper.figure-position-53 figure iframe {
  object-position: 53% 47%;
}
.banner.position-54 figure img, .banner.position-54 figure canvas, .banner.position-54 figure iframe, .banner.figure-position-54 figure img, .banner.figure-position-54 figure canvas, .banner.figure-position-54 figure iframe, .spotlight.position-54 figure img, .spotlight.position-54 figure canvas, .spotlight.position-54 figure iframe, .spotlight.figure-position-54 figure img, .spotlight.figure-position-54 figure canvas, .spotlight.figure-position-54 figure iframe, .wrapper.position-54 figure img, .wrapper.position-54 figure canvas, .wrapper.position-54 figure iframe, .wrapper.figure-position-54 figure img, .wrapper.figure-position-54 figure canvas, .wrapper.figure-position-54 figure iframe {
  object-position: 54% 46%;
}
.banner.position-55 figure img, .banner.position-55 figure canvas, .banner.position-55 figure iframe, .banner.figure-position-55 figure img, .banner.figure-position-55 figure canvas, .banner.figure-position-55 figure iframe, .spotlight.position-55 figure img, .spotlight.position-55 figure canvas, .spotlight.position-55 figure iframe, .spotlight.figure-position-55 figure img, .spotlight.figure-position-55 figure canvas, .spotlight.figure-position-55 figure iframe, .wrapper.position-55 figure img, .wrapper.position-55 figure canvas, .wrapper.position-55 figure iframe, .wrapper.figure-position-55 figure img, .wrapper.figure-position-55 figure canvas, .wrapper.figure-position-55 figure iframe {
  object-position: 55% 45%;
}
.banner.position-56 figure img, .banner.position-56 figure canvas, .banner.position-56 figure iframe, .banner.figure-position-56 figure img, .banner.figure-position-56 figure canvas, .banner.figure-position-56 figure iframe, .spotlight.position-56 figure img, .spotlight.position-56 figure canvas, .spotlight.position-56 figure iframe, .spotlight.figure-position-56 figure img, .spotlight.figure-position-56 figure canvas, .spotlight.figure-position-56 figure iframe, .wrapper.position-56 figure img, .wrapper.position-56 figure canvas, .wrapper.position-56 figure iframe, .wrapper.figure-position-56 figure img, .wrapper.figure-position-56 figure canvas, .wrapper.figure-position-56 figure iframe {
  object-position: 56% 44%;
}
.banner.position-57 figure img, .banner.position-57 figure canvas, .banner.position-57 figure iframe, .banner.figure-position-57 figure img, .banner.figure-position-57 figure canvas, .banner.figure-position-57 figure iframe, .spotlight.position-57 figure img, .spotlight.position-57 figure canvas, .spotlight.position-57 figure iframe, .spotlight.figure-position-57 figure img, .spotlight.figure-position-57 figure canvas, .spotlight.figure-position-57 figure iframe, .wrapper.position-57 figure img, .wrapper.position-57 figure canvas, .wrapper.position-57 figure iframe, .wrapper.figure-position-57 figure img, .wrapper.figure-position-57 figure canvas, .wrapper.figure-position-57 figure iframe {
  object-position: 57% 43%;
}
.banner.position-58 figure img, .banner.position-58 figure canvas, .banner.position-58 figure iframe, .banner.figure-position-58 figure img, .banner.figure-position-58 figure canvas, .banner.figure-position-58 figure iframe, .spotlight.position-58 figure img, .spotlight.position-58 figure canvas, .spotlight.position-58 figure iframe, .spotlight.figure-position-58 figure img, .spotlight.figure-position-58 figure canvas, .spotlight.figure-position-58 figure iframe, .wrapper.position-58 figure img, .wrapper.position-58 figure canvas, .wrapper.position-58 figure iframe, .wrapper.figure-position-58 figure img, .wrapper.figure-position-58 figure canvas, .wrapper.figure-position-58 figure iframe {
  object-position: 58% 42%;
}
.banner.position-59 figure img, .banner.position-59 figure canvas, .banner.position-59 figure iframe, .banner.figure-position-59 figure img, .banner.figure-position-59 figure canvas, .banner.figure-position-59 figure iframe, .spotlight.position-59 figure img, .spotlight.position-59 figure canvas, .spotlight.position-59 figure iframe, .spotlight.figure-position-59 figure img, .spotlight.figure-position-59 figure canvas, .spotlight.figure-position-59 figure iframe, .wrapper.position-59 figure img, .wrapper.position-59 figure canvas, .wrapper.position-59 figure iframe, .wrapper.figure-position-59 figure img, .wrapper.figure-position-59 figure canvas, .wrapper.figure-position-59 figure iframe {
  object-position: 59% 41%;
}
.banner.position-60 figure img, .banner.position-60 figure canvas, .banner.position-60 figure iframe, .banner.figure-position-60 figure img, .banner.figure-position-60 figure canvas, .banner.figure-position-60 figure iframe, .spotlight.position-60 figure img, .spotlight.position-60 figure canvas, .spotlight.position-60 figure iframe, .spotlight.figure-position-60 figure img, .spotlight.figure-position-60 figure canvas, .spotlight.figure-position-60 figure iframe, .wrapper.position-60 figure img, .wrapper.position-60 figure canvas, .wrapper.position-60 figure iframe, .wrapper.figure-position-60 figure img, .wrapper.figure-position-60 figure canvas, .wrapper.figure-position-60 figure iframe {
  object-position: 60% 40%;
}
.banner.position-61 figure img, .banner.position-61 figure canvas, .banner.position-61 figure iframe, .banner.figure-position-61 figure img, .banner.figure-position-61 figure canvas, .banner.figure-position-61 figure iframe, .spotlight.position-61 figure img, .spotlight.position-61 figure canvas, .spotlight.position-61 figure iframe, .spotlight.figure-position-61 figure img, .spotlight.figure-position-61 figure canvas, .spotlight.figure-position-61 figure iframe, .wrapper.position-61 figure img, .wrapper.position-61 figure canvas, .wrapper.position-61 figure iframe, .wrapper.figure-position-61 figure img, .wrapper.figure-position-61 figure canvas, .wrapper.figure-position-61 figure iframe {
  object-position: 61% 39%;
}
.banner.position-62 figure img, .banner.position-62 figure canvas, .banner.position-62 figure iframe, .banner.figure-position-62 figure img, .banner.figure-position-62 figure canvas, .banner.figure-position-62 figure iframe, .spotlight.position-62 figure img, .spotlight.position-62 figure canvas, .spotlight.position-62 figure iframe, .spotlight.figure-position-62 figure img, .spotlight.figure-position-62 figure canvas, .spotlight.figure-position-62 figure iframe, .wrapper.position-62 figure img, .wrapper.position-62 figure canvas, .wrapper.position-62 figure iframe, .wrapper.figure-position-62 figure img, .wrapper.figure-position-62 figure canvas, .wrapper.figure-position-62 figure iframe {
  object-position: 62% 38%;
}
.banner.position-63 figure img, .banner.position-63 figure canvas, .banner.position-63 figure iframe, .banner.figure-position-63 figure img, .banner.figure-position-63 figure canvas, .banner.figure-position-63 figure iframe, .spotlight.position-63 figure img, .spotlight.position-63 figure canvas, .spotlight.position-63 figure iframe, .spotlight.figure-position-63 figure img, .spotlight.figure-position-63 figure canvas, .spotlight.figure-position-63 figure iframe, .wrapper.position-63 figure img, .wrapper.position-63 figure canvas, .wrapper.position-63 figure iframe, .wrapper.figure-position-63 figure img, .wrapper.figure-position-63 figure canvas, .wrapper.figure-position-63 figure iframe {
  object-position: 63% 37%;
}
.banner.position-64 figure img, .banner.position-64 figure canvas, .banner.position-64 figure iframe, .banner.figure-position-64 figure img, .banner.figure-position-64 figure canvas, .banner.figure-position-64 figure iframe, .spotlight.position-64 figure img, .spotlight.position-64 figure canvas, .spotlight.position-64 figure iframe, .spotlight.figure-position-64 figure img, .spotlight.figure-position-64 figure canvas, .spotlight.figure-position-64 figure iframe, .wrapper.position-64 figure img, .wrapper.position-64 figure canvas, .wrapper.position-64 figure iframe, .wrapper.figure-position-64 figure img, .wrapper.figure-position-64 figure canvas, .wrapper.figure-position-64 figure iframe {
  object-position: 64% 36%;
}
.banner.position-65 figure img, .banner.position-65 figure canvas, .banner.position-65 figure iframe, .banner.figure-position-65 figure img, .banner.figure-position-65 figure canvas, .banner.figure-position-65 figure iframe, .spotlight.position-65 figure img, .spotlight.position-65 figure canvas, .spotlight.position-65 figure iframe, .spotlight.figure-position-65 figure img, .spotlight.figure-position-65 figure canvas, .spotlight.figure-position-65 figure iframe, .wrapper.position-65 figure img, .wrapper.position-65 figure canvas, .wrapper.position-65 figure iframe, .wrapper.figure-position-65 figure img, .wrapper.figure-position-65 figure canvas, .wrapper.figure-position-65 figure iframe {
  object-position: 65% 35%;
}
.banner.position-66 figure img, .banner.position-66 figure canvas, .banner.position-66 figure iframe, .banner.figure-position-66 figure img, .banner.figure-position-66 figure canvas, .banner.figure-position-66 figure iframe, .spotlight.position-66 figure img, .spotlight.position-66 figure canvas, .spotlight.position-66 figure iframe, .spotlight.figure-position-66 figure img, .spotlight.figure-position-66 figure canvas, .spotlight.figure-position-66 figure iframe, .wrapper.position-66 figure img, .wrapper.position-66 figure canvas, .wrapper.position-66 figure iframe, .wrapper.figure-position-66 figure img, .wrapper.figure-position-66 figure canvas, .wrapper.figure-position-66 figure iframe {
  object-position: 66% 34%;
}
.banner.position-67 figure img, .banner.position-67 figure canvas, .banner.position-67 figure iframe, .banner.figure-position-67 figure img, .banner.figure-position-67 figure canvas, .banner.figure-position-67 figure iframe, .spotlight.position-67 figure img, .spotlight.position-67 figure canvas, .spotlight.position-67 figure iframe, .spotlight.figure-position-67 figure img, .spotlight.figure-position-67 figure canvas, .spotlight.figure-position-67 figure iframe, .wrapper.position-67 figure img, .wrapper.position-67 figure canvas, .wrapper.position-67 figure iframe, .wrapper.figure-position-67 figure img, .wrapper.figure-position-67 figure canvas, .wrapper.figure-position-67 figure iframe {
  object-position: 67% 33%;
}
.banner.position-68 figure img, .banner.position-68 figure canvas, .banner.position-68 figure iframe, .banner.figure-position-68 figure img, .banner.figure-position-68 figure canvas, .banner.figure-position-68 figure iframe, .spotlight.position-68 figure img, .spotlight.position-68 figure canvas, .spotlight.position-68 figure iframe, .spotlight.figure-position-68 figure img, .spotlight.figure-position-68 figure canvas, .spotlight.figure-position-68 figure iframe, .wrapper.position-68 figure img, .wrapper.position-68 figure canvas, .wrapper.position-68 figure iframe, .wrapper.figure-position-68 figure img, .wrapper.figure-position-68 figure canvas, .wrapper.figure-position-68 figure iframe {
  object-position: 68% 32%;
}
.banner.position-69 figure img, .banner.position-69 figure canvas, .banner.position-69 figure iframe, .banner.figure-position-69 figure img, .banner.figure-position-69 figure canvas, .banner.figure-position-69 figure iframe, .spotlight.position-69 figure img, .spotlight.position-69 figure canvas, .spotlight.position-69 figure iframe, .spotlight.figure-position-69 figure img, .spotlight.figure-position-69 figure canvas, .spotlight.figure-position-69 figure iframe, .wrapper.position-69 figure img, .wrapper.position-69 figure canvas, .wrapper.position-69 figure iframe, .wrapper.figure-position-69 figure img, .wrapper.figure-position-69 figure canvas, .wrapper.figure-position-69 figure iframe {
  object-position: 69% 31%;
}
.banner.position-70 figure img, .banner.position-70 figure canvas, .banner.position-70 figure iframe, .banner.figure-position-70 figure img, .banner.figure-position-70 figure canvas, .banner.figure-position-70 figure iframe, .spotlight.position-70 figure img, .spotlight.position-70 figure canvas, .spotlight.position-70 figure iframe, .spotlight.figure-position-70 figure img, .spotlight.figure-position-70 figure canvas, .spotlight.figure-position-70 figure iframe, .wrapper.position-70 figure img, .wrapper.position-70 figure canvas, .wrapper.position-70 figure iframe, .wrapper.figure-position-70 figure img, .wrapper.figure-position-70 figure canvas, .wrapper.figure-position-70 figure iframe {
  object-position: 70% 30%;
}
.banner.position-71 figure img, .banner.position-71 figure canvas, .banner.position-71 figure iframe, .banner.figure-position-71 figure img, .banner.figure-position-71 figure canvas, .banner.figure-position-71 figure iframe, .spotlight.position-71 figure img, .spotlight.position-71 figure canvas, .spotlight.position-71 figure iframe, .spotlight.figure-position-71 figure img, .spotlight.figure-position-71 figure canvas, .spotlight.figure-position-71 figure iframe, .wrapper.position-71 figure img, .wrapper.position-71 figure canvas, .wrapper.position-71 figure iframe, .wrapper.figure-position-71 figure img, .wrapper.figure-position-71 figure canvas, .wrapper.figure-position-71 figure iframe {
  object-position: 71% 29%;
}
.banner.position-72 figure img, .banner.position-72 figure canvas, .banner.position-72 figure iframe, .banner.figure-position-72 figure img, .banner.figure-position-72 figure canvas, .banner.figure-position-72 figure iframe, .spotlight.position-72 figure img, .spotlight.position-72 figure canvas, .spotlight.position-72 figure iframe, .spotlight.figure-position-72 figure img, .spotlight.figure-position-72 figure canvas, .spotlight.figure-position-72 figure iframe, .wrapper.position-72 figure img, .wrapper.position-72 figure canvas, .wrapper.position-72 figure iframe, .wrapper.figure-position-72 figure img, .wrapper.figure-position-72 figure canvas, .wrapper.figure-position-72 figure iframe {
  object-position: 72% 28%;
}
.banner.position-73 figure img, .banner.position-73 figure canvas, .banner.position-73 figure iframe, .banner.figure-position-73 figure img, .banner.figure-position-73 figure canvas, .banner.figure-position-73 figure iframe, .spotlight.position-73 figure img, .spotlight.position-73 figure canvas, .spotlight.position-73 figure iframe, .spotlight.figure-position-73 figure img, .spotlight.figure-position-73 figure canvas, .spotlight.figure-position-73 figure iframe, .wrapper.position-73 figure img, .wrapper.position-73 figure canvas, .wrapper.position-73 figure iframe, .wrapper.figure-position-73 figure img, .wrapper.figure-position-73 figure canvas, .wrapper.figure-position-73 figure iframe {
  object-position: 73% 27%;
}
.banner.position-74 figure img, .banner.position-74 figure canvas, .banner.position-74 figure iframe, .banner.figure-position-74 figure img, .banner.figure-position-74 figure canvas, .banner.figure-position-74 figure iframe, .spotlight.position-74 figure img, .spotlight.position-74 figure canvas, .spotlight.position-74 figure iframe, .spotlight.figure-position-74 figure img, .spotlight.figure-position-74 figure canvas, .spotlight.figure-position-74 figure iframe, .wrapper.position-74 figure img, .wrapper.position-74 figure canvas, .wrapper.position-74 figure iframe, .wrapper.figure-position-74 figure img, .wrapper.figure-position-74 figure canvas, .wrapper.figure-position-74 figure iframe {
  object-position: 74% 26%;
}
.banner.position-75 figure img, .banner.position-75 figure canvas, .banner.position-75 figure iframe, .banner.figure-position-75 figure img, .banner.figure-position-75 figure canvas, .banner.figure-position-75 figure iframe, .spotlight.position-75 figure img, .spotlight.position-75 figure canvas, .spotlight.position-75 figure iframe, .spotlight.figure-position-75 figure img, .spotlight.figure-position-75 figure canvas, .spotlight.figure-position-75 figure iframe, .wrapper.position-75 figure img, .wrapper.position-75 figure canvas, .wrapper.position-75 figure iframe, .wrapper.figure-position-75 figure img, .wrapper.figure-position-75 figure canvas, .wrapper.figure-position-75 figure iframe {
  object-position: 75% 25%;
}
.banner.position-76 figure img, .banner.position-76 figure canvas, .banner.position-76 figure iframe, .banner.figure-position-76 figure img, .banner.figure-position-76 figure canvas, .banner.figure-position-76 figure iframe, .spotlight.position-76 figure img, .spotlight.position-76 figure canvas, .spotlight.position-76 figure iframe, .spotlight.figure-position-76 figure img, .spotlight.figure-position-76 figure canvas, .spotlight.figure-position-76 figure iframe, .wrapper.position-76 figure img, .wrapper.position-76 figure canvas, .wrapper.position-76 figure iframe, .wrapper.figure-position-76 figure img, .wrapper.figure-position-76 figure canvas, .wrapper.figure-position-76 figure iframe {
  object-position: 76% 24%;
}
.banner.position-77 figure img, .banner.position-77 figure canvas, .banner.position-77 figure iframe, .banner.figure-position-77 figure img, .banner.figure-position-77 figure canvas, .banner.figure-position-77 figure iframe, .spotlight.position-77 figure img, .spotlight.position-77 figure canvas, .spotlight.position-77 figure iframe, .spotlight.figure-position-77 figure img, .spotlight.figure-position-77 figure canvas, .spotlight.figure-position-77 figure iframe, .wrapper.position-77 figure img, .wrapper.position-77 figure canvas, .wrapper.position-77 figure iframe, .wrapper.figure-position-77 figure img, .wrapper.figure-position-77 figure canvas, .wrapper.figure-position-77 figure iframe {
  object-position: 77% 23%;
}
.banner.position-78 figure img, .banner.position-78 figure canvas, .banner.position-78 figure iframe, .banner.figure-position-78 figure img, .banner.figure-position-78 figure canvas, .banner.figure-position-78 figure iframe, .spotlight.position-78 figure img, .spotlight.position-78 figure canvas, .spotlight.position-78 figure iframe, .spotlight.figure-position-78 figure img, .spotlight.figure-position-78 figure canvas, .spotlight.figure-position-78 figure iframe, .wrapper.position-78 figure img, .wrapper.position-78 figure canvas, .wrapper.position-78 figure iframe, .wrapper.figure-position-78 figure img, .wrapper.figure-position-78 figure canvas, .wrapper.figure-position-78 figure iframe {
  object-position: 78% 22%;
}
.banner.position-79 figure img, .banner.position-79 figure canvas, .banner.position-79 figure iframe, .banner.figure-position-79 figure img, .banner.figure-position-79 figure canvas, .banner.figure-position-79 figure iframe, .spotlight.position-79 figure img, .spotlight.position-79 figure canvas, .spotlight.position-79 figure iframe, .spotlight.figure-position-79 figure img, .spotlight.figure-position-79 figure canvas, .spotlight.figure-position-79 figure iframe, .wrapper.position-79 figure img, .wrapper.position-79 figure canvas, .wrapper.position-79 figure iframe, .wrapper.figure-position-79 figure img, .wrapper.figure-position-79 figure canvas, .wrapper.figure-position-79 figure iframe {
  object-position: 79% 21%;
}
.banner.position-80 figure img, .banner.position-80 figure canvas, .banner.position-80 figure iframe, .banner.figure-position-80 figure img, .banner.figure-position-80 figure canvas, .banner.figure-position-80 figure iframe, .spotlight.position-80 figure img, .spotlight.position-80 figure canvas, .spotlight.position-80 figure iframe, .spotlight.figure-position-80 figure img, .spotlight.figure-position-80 figure canvas, .spotlight.figure-position-80 figure iframe, .wrapper.position-80 figure img, .wrapper.position-80 figure canvas, .wrapper.position-80 figure iframe, .wrapper.figure-position-80 figure img, .wrapper.figure-position-80 figure canvas, .wrapper.figure-position-80 figure iframe {
  object-position: 80% 20%;
}
.banner.position-81 figure img, .banner.position-81 figure canvas, .banner.position-81 figure iframe, .banner.figure-position-81 figure img, .banner.figure-position-81 figure canvas, .banner.figure-position-81 figure iframe, .spotlight.position-81 figure img, .spotlight.position-81 figure canvas, .spotlight.position-81 figure iframe, .spotlight.figure-position-81 figure img, .spotlight.figure-position-81 figure canvas, .spotlight.figure-position-81 figure iframe, .wrapper.position-81 figure img, .wrapper.position-81 figure canvas, .wrapper.position-81 figure iframe, .wrapper.figure-position-81 figure img, .wrapper.figure-position-81 figure canvas, .wrapper.figure-position-81 figure iframe {
  object-position: 81% 19%;
}
.banner.position-82 figure img, .banner.position-82 figure canvas, .banner.position-82 figure iframe, .banner.figure-position-82 figure img, .banner.figure-position-82 figure canvas, .banner.figure-position-82 figure iframe, .spotlight.position-82 figure img, .spotlight.position-82 figure canvas, .spotlight.position-82 figure iframe, .spotlight.figure-position-82 figure img, .spotlight.figure-position-82 figure canvas, .spotlight.figure-position-82 figure iframe, .wrapper.position-82 figure img, .wrapper.position-82 figure canvas, .wrapper.position-82 figure iframe, .wrapper.figure-position-82 figure img, .wrapper.figure-position-82 figure canvas, .wrapper.figure-position-82 figure iframe {
  object-position: 82% 18%;
}
.banner.position-83 figure img, .banner.position-83 figure canvas, .banner.position-83 figure iframe, .banner.figure-position-83 figure img, .banner.figure-position-83 figure canvas, .banner.figure-position-83 figure iframe, .spotlight.position-83 figure img, .spotlight.position-83 figure canvas, .spotlight.position-83 figure iframe, .spotlight.figure-position-83 figure img, .spotlight.figure-position-83 figure canvas, .spotlight.figure-position-83 figure iframe, .wrapper.position-83 figure img, .wrapper.position-83 figure canvas, .wrapper.position-83 figure iframe, .wrapper.figure-position-83 figure img, .wrapper.figure-position-83 figure canvas, .wrapper.figure-position-83 figure iframe {
  object-position: 83% 17%;
}
.banner.position-84 figure img, .banner.position-84 figure canvas, .banner.position-84 figure iframe, .banner.figure-position-84 figure img, .banner.figure-position-84 figure canvas, .banner.figure-position-84 figure iframe, .spotlight.position-84 figure img, .spotlight.position-84 figure canvas, .spotlight.position-84 figure iframe, .spotlight.figure-position-84 figure img, .spotlight.figure-position-84 figure canvas, .spotlight.figure-position-84 figure iframe, .wrapper.position-84 figure img, .wrapper.position-84 figure canvas, .wrapper.position-84 figure iframe, .wrapper.figure-position-84 figure img, .wrapper.figure-position-84 figure canvas, .wrapper.figure-position-84 figure iframe {
  object-position: 84% 16%;
}
.banner.position-85 figure img, .banner.position-85 figure canvas, .banner.position-85 figure iframe, .banner.figure-position-85 figure img, .banner.figure-position-85 figure canvas, .banner.figure-position-85 figure iframe, .spotlight.position-85 figure img, .spotlight.position-85 figure canvas, .spotlight.position-85 figure iframe, .spotlight.figure-position-85 figure img, .spotlight.figure-position-85 figure canvas, .spotlight.figure-position-85 figure iframe, .wrapper.position-85 figure img, .wrapper.position-85 figure canvas, .wrapper.position-85 figure iframe, .wrapper.figure-position-85 figure img, .wrapper.figure-position-85 figure canvas, .wrapper.figure-position-85 figure iframe {
  object-position: 85% 15%;
}
.banner.position-86 figure img, .banner.position-86 figure canvas, .banner.position-86 figure iframe, .banner.figure-position-86 figure img, .banner.figure-position-86 figure canvas, .banner.figure-position-86 figure iframe, .spotlight.position-86 figure img, .spotlight.position-86 figure canvas, .spotlight.position-86 figure iframe, .spotlight.figure-position-86 figure img, .spotlight.figure-position-86 figure canvas, .spotlight.figure-position-86 figure iframe, .wrapper.position-86 figure img, .wrapper.position-86 figure canvas, .wrapper.position-86 figure iframe, .wrapper.figure-position-86 figure img, .wrapper.figure-position-86 figure canvas, .wrapper.figure-position-86 figure iframe {
  object-position: 86% 14%;
}
.banner.position-87 figure img, .banner.position-87 figure canvas, .banner.position-87 figure iframe, .banner.figure-position-87 figure img, .banner.figure-position-87 figure canvas, .banner.figure-position-87 figure iframe, .spotlight.position-87 figure img, .spotlight.position-87 figure canvas, .spotlight.position-87 figure iframe, .spotlight.figure-position-87 figure img, .spotlight.figure-position-87 figure canvas, .spotlight.figure-position-87 figure iframe, .wrapper.position-87 figure img, .wrapper.position-87 figure canvas, .wrapper.position-87 figure iframe, .wrapper.figure-position-87 figure img, .wrapper.figure-position-87 figure canvas, .wrapper.figure-position-87 figure iframe {
  object-position: 87% 13%;
}
.banner.position-88 figure img, .banner.position-88 figure canvas, .banner.position-88 figure iframe, .banner.figure-position-88 figure img, .banner.figure-position-88 figure canvas, .banner.figure-position-88 figure iframe, .spotlight.position-88 figure img, .spotlight.position-88 figure canvas, .spotlight.position-88 figure iframe, .spotlight.figure-position-88 figure img, .spotlight.figure-position-88 figure canvas, .spotlight.figure-position-88 figure iframe, .wrapper.position-88 figure img, .wrapper.position-88 figure canvas, .wrapper.position-88 figure iframe, .wrapper.figure-position-88 figure img, .wrapper.figure-position-88 figure canvas, .wrapper.figure-position-88 figure iframe {
  object-position: 88% 12%;
}
.banner.position-89 figure img, .banner.position-89 figure canvas, .banner.position-89 figure iframe, .banner.figure-position-89 figure img, .banner.figure-position-89 figure canvas, .banner.figure-position-89 figure iframe, .spotlight.position-89 figure img, .spotlight.position-89 figure canvas, .spotlight.position-89 figure iframe, .spotlight.figure-position-89 figure img, .spotlight.figure-position-89 figure canvas, .spotlight.figure-position-89 figure iframe, .wrapper.position-89 figure img, .wrapper.position-89 figure canvas, .wrapper.position-89 figure iframe, .wrapper.figure-position-89 figure img, .wrapper.figure-position-89 figure canvas, .wrapper.figure-position-89 figure iframe {
  object-position: 89% 11%;
}
.banner.position-90 figure img, .banner.position-90 figure canvas, .banner.position-90 figure iframe, .banner.figure-position-90 figure img, .banner.figure-position-90 figure canvas, .banner.figure-position-90 figure iframe, .spotlight.position-90 figure img, .spotlight.position-90 figure canvas, .spotlight.position-90 figure iframe, .spotlight.figure-position-90 figure img, .spotlight.figure-position-90 figure canvas, .spotlight.figure-position-90 figure iframe, .wrapper.position-90 figure img, .wrapper.position-90 figure canvas, .wrapper.position-90 figure iframe, .wrapper.figure-position-90 figure img, .wrapper.figure-position-90 figure canvas, .wrapper.figure-position-90 figure iframe {
  object-position: 90% 10%;
}
.banner.position-91 figure img, .banner.position-91 figure canvas, .banner.position-91 figure iframe, .banner.figure-position-91 figure img, .banner.figure-position-91 figure canvas, .banner.figure-position-91 figure iframe, .spotlight.position-91 figure img, .spotlight.position-91 figure canvas, .spotlight.position-91 figure iframe, .spotlight.figure-position-91 figure img, .spotlight.figure-position-91 figure canvas, .spotlight.figure-position-91 figure iframe, .wrapper.position-91 figure img, .wrapper.position-91 figure canvas, .wrapper.position-91 figure iframe, .wrapper.figure-position-91 figure img, .wrapper.figure-position-91 figure canvas, .wrapper.figure-position-91 figure iframe {
  object-position: 91% 9%;
}
.banner.position-92 figure img, .banner.position-92 figure canvas, .banner.position-92 figure iframe, .banner.figure-position-92 figure img, .banner.figure-position-92 figure canvas, .banner.figure-position-92 figure iframe, .spotlight.position-92 figure img, .spotlight.position-92 figure canvas, .spotlight.position-92 figure iframe, .spotlight.figure-position-92 figure img, .spotlight.figure-position-92 figure canvas, .spotlight.figure-position-92 figure iframe, .wrapper.position-92 figure img, .wrapper.position-92 figure canvas, .wrapper.position-92 figure iframe, .wrapper.figure-position-92 figure img, .wrapper.figure-position-92 figure canvas, .wrapper.figure-position-92 figure iframe {
  object-position: 92% 8%;
}
.banner.position-93 figure img, .banner.position-93 figure canvas, .banner.position-93 figure iframe, .banner.figure-position-93 figure img, .banner.figure-position-93 figure canvas, .banner.figure-position-93 figure iframe, .spotlight.position-93 figure img, .spotlight.position-93 figure canvas, .spotlight.position-93 figure iframe, .spotlight.figure-position-93 figure img, .spotlight.figure-position-93 figure canvas, .spotlight.figure-position-93 figure iframe, .wrapper.position-93 figure img, .wrapper.position-93 figure canvas, .wrapper.position-93 figure iframe, .wrapper.figure-position-93 figure img, .wrapper.figure-position-93 figure canvas, .wrapper.figure-position-93 figure iframe {
  object-position: 93% 7%;
}
.banner.position-94 figure img, .banner.position-94 figure canvas, .banner.position-94 figure iframe, .banner.figure-position-94 figure img, .banner.figure-position-94 figure canvas, .banner.figure-position-94 figure iframe, .spotlight.position-94 figure img, .spotlight.position-94 figure canvas, .spotlight.position-94 figure iframe, .spotlight.figure-position-94 figure img, .spotlight.figure-position-94 figure canvas, .spotlight.figure-position-94 figure iframe, .wrapper.position-94 figure img, .wrapper.position-94 figure canvas, .wrapper.position-94 figure iframe, .wrapper.figure-position-94 figure img, .wrapper.figure-position-94 figure canvas, .wrapper.figure-position-94 figure iframe {
  object-position: 94% 6%;
}
.banner.position-95 figure img, .banner.position-95 figure canvas, .banner.position-95 figure iframe, .banner.figure-position-95 figure img, .banner.figure-position-95 figure canvas, .banner.figure-position-95 figure iframe, .spotlight.position-95 figure img, .spotlight.position-95 figure canvas, .spotlight.position-95 figure iframe, .spotlight.figure-position-95 figure img, .spotlight.figure-position-95 figure canvas, .spotlight.figure-position-95 figure iframe, .wrapper.position-95 figure img, .wrapper.position-95 figure canvas, .wrapper.position-95 figure iframe, .wrapper.figure-position-95 figure img, .wrapper.figure-position-95 figure canvas, .wrapper.figure-position-95 figure iframe {
  object-position: 95% 5%;
}
.banner.position-96 figure img, .banner.position-96 figure canvas, .banner.position-96 figure iframe, .banner.figure-position-96 figure img, .banner.figure-position-96 figure canvas, .banner.figure-position-96 figure iframe, .spotlight.position-96 figure img, .spotlight.position-96 figure canvas, .spotlight.position-96 figure iframe, .spotlight.figure-position-96 figure img, .spotlight.figure-position-96 figure canvas, .spotlight.figure-position-96 figure iframe, .wrapper.position-96 figure img, .wrapper.position-96 figure canvas, .wrapper.position-96 figure iframe, .wrapper.figure-position-96 figure img, .wrapper.figure-position-96 figure canvas, .wrapper.figure-position-96 figure iframe {
  object-position: 96% 4%;
}
.banner.position-97 figure img, .banner.position-97 figure canvas, .banner.position-97 figure iframe, .banner.figure-position-97 figure img, .banner.figure-position-97 figure canvas, .banner.figure-position-97 figure iframe, .spotlight.position-97 figure img, .spotlight.position-97 figure canvas, .spotlight.position-97 figure iframe, .spotlight.figure-position-97 figure img, .spotlight.figure-position-97 figure canvas, .spotlight.figure-position-97 figure iframe, .wrapper.position-97 figure img, .wrapper.position-97 figure canvas, .wrapper.position-97 figure iframe, .wrapper.figure-position-97 figure img, .wrapper.figure-position-97 figure canvas, .wrapper.figure-position-97 figure iframe {
  object-position: 97% 3%;
}
.banner.position-98 figure img, .banner.position-98 figure canvas, .banner.position-98 figure iframe, .banner.figure-position-98 figure img, .banner.figure-position-98 figure canvas, .banner.figure-position-98 figure iframe, .spotlight.position-98 figure img, .spotlight.position-98 figure canvas, .spotlight.position-98 figure iframe, .spotlight.figure-position-98 figure img, .spotlight.figure-position-98 figure canvas, .spotlight.figure-position-98 figure iframe, .wrapper.position-98 figure img, .wrapper.position-98 figure canvas, .wrapper.position-98 figure iframe, .wrapper.figure-position-98 figure img, .wrapper.figure-position-98 figure canvas, .wrapper.figure-position-98 figure iframe {
  object-position: 98% 2%;
}
.banner.position-99 figure img, .banner.position-99 figure canvas, .banner.position-99 figure iframe, .banner.figure-position-99 figure img, .banner.figure-position-99 figure canvas, .banner.figure-position-99 figure iframe, .spotlight.position-99 figure img, .spotlight.position-99 figure canvas, .spotlight.position-99 figure iframe, .spotlight.figure-position-99 figure img, .spotlight.figure-position-99 figure canvas, .spotlight.figure-position-99 figure iframe, .wrapper.position-99 figure img, .wrapper.position-99 figure canvas, .wrapper.position-99 figure iframe, .wrapper.figure-position-99 figure img, .wrapper.figure-position-99 figure canvas, .wrapper.figure-position-99 figure iframe {
  object-position: 99% 1%;
}
.banner.position-100 figure img, .banner.position-100 figure canvas, .banner.position-100 figure iframe, .banner.figure-position-100 figure img, .banner.figure-position-100 figure canvas, .banner.figure-position-100 figure iframe, .spotlight.position-100 figure img, .spotlight.position-100 figure canvas, .spotlight.position-100 figure iframe, .spotlight.figure-position-100 figure img, .spotlight.figure-position-100 figure canvas, .spotlight.figure-position-100 figure iframe, .wrapper.position-100 figure img, .wrapper.position-100 figure canvas, .wrapper.position-100 figure iframe, .wrapper.figure-position-100 figure img, .wrapper.figure-position-100 figure canvas, .wrapper.figure-position-100 figure iframe {
  object-position: 100% 0%;
}
.banner.font-size-double .content, .spotlight.font-size-double .content, .wrapper.font-size-double .content {
  font-size: 200%;
}

figure.position-left img,
figure.position-left canvas,
figure.position-left iframe,
figure.figure-position-left img,
figure.figure-position-left canvas,
figure.figure-position-left iframe {
  object-position: left;
}

figure.position-center img,
figure.position-center canvas,
figure.position-center iframe,
figure.figure-position-center img,
figure.figure-position-center canvas,
figure.figure-position-center iframe {
  object-position: center;
}

figure.position-right img,
figure.position-right canvas,
figure.position-right iframe,
figure.figure-position-right img,
figure.figure-position-right canvas,
figure.figure-position-right iframe {
  object-position: right;
}

figure.position-top img,
figure.position-top canvas,
figure.position-top iframe,
figure.figure-position-top img,
figure.figure-position-top canvas,
figure.figure-position-top iframe {
  object-position: top;
}

figure.position-middle img,
figure.position-middle canvas,
figure.position-middle iframe,
figure.figure-position-middle img,
figure.figure-position-middle canvas,
figure.figure-position-middle iframe {
  object-position: center;
}

figure.position-bottom img,
figure.position-bottom canvas,
figure.position-bottom iframe,
figure.figure-position-bottom img,
figure.figure-position-bottom canvas,
figure.figure-position-bottom iframe {
  object-position: bottom;
}

figure.position-upper img,
figure.position-upper canvas,
figure.position-upper iframe,
figure.figure-position-upper img,
figure.figure-position-upper canvas,
figure.figure-position-upper iframe {
  object-position: 60% 40%;
}

figure.position-lower img,
figure.position-lower canvas,
figure.position-lower iframe,
figure.figure-position-lower img,
figure.figure-position-lower canvas,
figure.figure-position-lower iframe {
  object-position: 40% 60%;
}

figure.position-lower-top img,
figure.position-lower-top canvas,
figure.position-lower-top iframe,
figure.figure-position-lower-top img,
figure.figure-position-lower-top canvas,
figure.figure-position-lower-top iframe {
  object-position: 80% 20%;
}

figure.position-upper-bottom img,
figure.position-upper-bottom canvas,
figure.position-upper-bottom iframe,
figure.figure-position-upper-bottom img,
figure.figure-position-upper-bottom canvas,
figure.figure-position-upper-bottom iframe {
  object-position: 80% 20%;
}

figure.position-0 img,
figure.position-0 canvas,
figure.position-0 iframe,
figure.figure-position-0 img,
figure.figure-position-0 canvas,
figure.figure-position-0 iframe {
  object-position: 0% 100%;
}

figure.position-1 img,
figure.position-1 canvas,
figure.position-1 iframe,
figure.figure-position-1 img,
figure.figure-position-1 canvas,
figure.figure-position-1 iframe {
  object-position: 1% 99%;
}

figure.position-2 img,
figure.position-2 canvas,
figure.position-2 iframe,
figure.figure-position-2 img,
figure.figure-position-2 canvas,
figure.figure-position-2 iframe {
  object-position: 2% 98%;
}

figure.position-3 img,
figure.position-3 canvas,
figure.position-3 iframe,
figure.figure-position-3 img,
figure.figure-position-3 canvas,
figure.figure-position-3 iframe {
  object-position: 3% 97%;
}

figure.position-4 img,
figure.position-4 canvas,
figure.position-4 iframe,
figure.figure-position-4 img,
figure.figure-position-4 canvas,
figure.figure-position-4 iframe {
  object-position: 4% 96%;
}

figure.position-5 img,
figure.position-5 canvas,
figure.position-5 iframe,
figure.figure-position-5 img,
figure.figure-position-5 canvas,
figure.figure-position-5 iframe {
  object-position: 5% 95%;
}

figure.position-6 img,
figure.position-6 canvas,
figure.position-6 iframe,
figure.figure-position-6 img,
figure.figure-position-6 canvas,
figure.figure-position-6 iframe {
  object-position: 6% 94%;
}

figure.position-7 img,
figure.position-7 canvas,
figure.position-7 iframe,
figure.figure-position-7 img,
figure.figure-position-7 canvas,
figure.figure-position-7 iframe {
  object-position: 7% 93%;
}

figure.position-8 img,
figure.position-8 canvas,
figure.position-8 iframe,
figure.figure-position-8 img,
figure.figure-position-8 canvas,
figure.figure-position-8 iframe {
  object-position: 8% 92%;
}

figure.position-9 img,
figure.position-9 canvas,
figure.position-9 iframe,
figure.figure-position-9 img,
figure.figure-position-9 canvas,
figure.figure-position-9 iframe {
  object-position: 9% 91%;
}

figure.position-10 img,
figure.position-10 canvas,
figure.position-10 iframe,
figure.figure-position-10 img,
figure.figure-position-10 canvas,
figure.figure-position-10 iframe {
  object-position: 10% 90%;
}

figure.position-11 img,
figure.position-11 canvas,
figure.position-11 iframe,
figure.figure-position-11 img,
figure.figure-position-11 canvas,
figure.figure-position-11 iframe {
  object-position: 11% 89%;
}

figure.position-12 img,
figure.position-12 canvas,
figure.position-12 iframe,
figure.figure-position-12 img,
figure.figure-position-12 canvas,
figure.figure-position-12 iframe {
  object-position: 12% 88%;
}

figure.position-13 img,
figure.position-13 canvas,
figure.position-13 iframe,
figure.figure-position-13 img,
figure.figure-position-13 canvas,
figure.figure-position-13 iframe {
  object-position: 13% 87%;
}

figure.position-14 img,
figure.position-14 canvas,
figure.position-14 iframe,
figure.figure-position-14 img,
figure.figure-position-14 canvas,
figure.figure-position-14 iframe {
  object-position: 14% 86%;
}

figure.position-15 img,
figure.position-15 canvas,
figure.position-15 iframe,
figure.figure-position-15 img,
figure.figure-position-15 canvas,
figure.figure-position-15 iframe {
  object-position: 15% 85%;
}

figure.position-16 img,
figure.position-16 canvas,
figure.position-16 iframe,
figure.figure-position-16 img,
figure.figure-position-16 canvas,
figure.figure-position-16 iframe {
  object-position: 16% 84%;
}

figure.position-17 img,
figure.position-17 canvas,
figure.position-17 iframe,
figure.figure-position-17 img,
figure.figure-position-17 canvas,
figure.figure-position-17 iframe {
  object-position: 17% 83%;
}

figure.position-18 img,
figure.position-18 canvas,
figure.position-18 iframe,
figure.figure-position-18 img,
figure.figure-position-18 canvas,
figure.figure-position-18 iframe {
  object-position: 18% 82%;
}

figure.position-19 img,
figure.position-19 canvas,
figure.position-19 iframe,
figure.figure-position-19 img,
figure.figure-position-19 canvas,
figure.figure-position-19 iframe {
  object-position: 19% 81%;
}

figure.position-20 img,
figure.position-20 canvas,
figure.position-20 iframe,
figure.figure-position-20 img,
figure.figure-position-20 canvas,
figure.figure-position-20 iframe {
  object-position: 20% 80%;
}

figure.position-21 img,
figure.position-21 canvas,
figure.position-21 iframe,
figure.figure-position-21 img,
figure.figure-position-21 canvas,
figure.figure-position-21 iframe {
  object-position: 21% 79%;
}

figure.position-22 img,
figure.position-22 canvas,
figure.position-22 iframe,
figure.figure-position-22 img,
figure.figure-position-22 canvas,
figure.figure-position-22 iframe {
  object-position: 22% 78%;
}

figure.position-23 img,
figure.position-23 canvas,
figure.position-23 iframe,
figure.figure-position-23 img,
figure.figure-position-23 canvas,
figure.figure-position-23 iframe {
  object-position: 23% 77%;
}

figure.position-24 img,
figure.position-24 canvas,
figure.position-24 iframe,
figure.figure-position-24 img,
figure.figure-position-24 canvas,
figure.figure-position-24 iframe {
  object-position: 24% 76%;
}

figure.position-25 img,
figure.position-25 canvas,
figure.position-25 iframe,
figure.figure-position-25 img,
figure.figure-position-25 canvas,
figure.figure-position-25 iframe {
  object-position: 25% 75%;
}

figure.position-26 img,
figure.position-26 canvas,
figure.position-26 iframe,
figure.figure-position-26 img,
figure.figure-position-26 canvas,
figure.figure-position-26 iframe {
  object-position: 26% 74%;
}

figure.position-27 img,
figure.position-27 canvas,
figure.position-27 iframe,
figure.figure-position-27 img,
figure.figure-position-27 canvas,
figure.figure-position-27 iframe {
  object-position: 27% 73%;
}

figure.position-28 img,
figure.position-28 canvas,
figure.position-28 iframe,
figure.figure-position-28 img,
figure.figure-position-28 canvas,
figure.figure-position-28 iframe {
  object-position: 28% 72%;
}

figure.position-29 img,
figure.position-29 canvas,
figure.position-29 iframe,
figure.figure-position-29 img,
figure.figure-position-29 canvas,
figure.figure-position-29 iframe {
  object-position: 29% 71%;
}

figure.position-30 img,
figure.position-30 canvas,
figure.position-30 iframe,
figure.figure-position-30 img,
figure.figure-position-30 canvas,
figure.figure-position-30 iframe {
  object-position: 30% 70%;
}

figure.position-31 img,
figure.position-31 canvas,
figure.position-31 iframe,
figure.figure-position-31 img,
figure.figure-position-31 canvas,
figure.figure-position-31 iframe {
  object-position: 31% 69%;
}

figure.position-32 img,
figure.position-32 canvas,
figure.position-32 iframe,
figure.figure-position-32 img,
figure.figure-position-32 canvas,
figure.figure-position-32 iframe {
  object-position: 32% 68%;
}

figure.position-33 img,
figure.position-33 canvas,
figure.position-33 iframe,
figure.figure-position-33 img,
figure.figure-position-33 canvas,
figure.figure-position-33 iframe {
  object-position: 33% 67%;
}

figure.position-34 img,
figure.position-34 canvas,
figure.position-34 iframe,
figure.figure-position-34 img,
figure.figure-position-34 canvas,
figure.figure-position-34 iframe {
  object-position: 34% 66%;
}

figure.position-35 img,
figure.position-35 canvas,
figure.position-35 iframe,
figure.figure-position-35 img,
figure.figure-position-35 canvas,
figure.figure-position-35 iframe {
  object-position: 35% 65%;
}

figure.position-36 img,
figure.position-36 canvas,
figure.position-36 iframe,
figure.figure-position-36 img,
figure.figure-position-36 canvas,
figure.figure-position-36 iframe {
  object-position: 36% 64%;
}

figure.position-37 img,
figure.position-37 canvas,
figure.position-37 iframe,
figure.figure-position-37 img,
figure.figure-position-37 canvas,
figure.figure-position-37 iframe {
  object-position: 37% 63%;
}

figure.position-38 img,
figure.position-38 canvas,
figure.position-38 iframe,
figure.figure-position-38 img,
figure.figure-position-38 canvas,
figure.figure-position-38 iframe {
  object-position: 38% 62%;
}

figure.position-39 img,
figure.position-39 canvas,
figure.position-39 iframe,
figure.figure-position-39 img,
figure.figure-position-39 canvas,
figure.figure-position-39 iframe {
  object-position: 39% 61%;
}

figure.position-40 img,
figure.position-40 canvas,
figure.position-40 iframe,
figure.figure-position-40 img,
figure.figure-position-40 canvas,
figure.figure-position-40 iframe {
  object-position: 40% 60%;
}

figure.position-41 img,
figure.position-41 canvas,
figure.position-41 iframe,
figure.figure-position-41 img,
figure.figure-position-41 canvas,
figure.figure-position-41 iframe {
  object-position: 41% 59%;
}

figure.position-42 img,
figure.position-42 canvas,
figure.position-42 iframe,
figure.figure-position-42 img,
figure.figure-position-42 canvas,
figure.figure-position-42 iframe {
  object-position: 42% 58%;
}

figure.position-43 img,
figure.position-43 canvas,
figure.position-43 iframe,
figure.figure-position-43 img,
figure.figure-position-43 canvas,
figure.figure-position-43 iframe {
  object-position: 43% 57%;
}

figure.position-44 img,
figure.position-44 canvas,
figure.position-44 iframe,
figure.figure-position-44 img,
figure.figure-position-44 canvas,
figure.figure-position-44 iframe {
  object-position: 44% 56%;
}

figure.position-45 img,
figure.position-45 canvas,
figure.position-45 iframe,
figure.figure-position-45 img,
figure.figure-position-45 canvas,
figure.figure-position-45 iframe {
  object-position: 45% 55%;
}

figure.position-46 img,
figure.position-46 canvas,
figure.position-46 iframe,
figure.figure-position-46 img,
figure.figure-position-46 canvas,
figure.figure-position-46 iframe {
  object-position: 46% 54%;
}

figure.position-47 img,
figure.position-47 canvas,
figure.position-47 iframe,
figure.figure-position-47 img,
figure.figure-position-47 canvas,
figure.figure-position-47 iframe {
  object-position: 47% 53%;
}

figure.position-48 img,
figure.position-48 canvas,
figure.position-48 iframe,
figure.figure-position-48 img,
figure.figure-position-48 canvas,
figure.figure-position-48 iframe {
  object-position: 48% 52%;
}

figure.position-49 img,
figure.position-49 canvas,
figure.position-49 iframe,
figure.figure-position-49 img,
figure.figure-position-49 canvas,
figure.figure-position-49 iframe {
  object-position: 49% 51%;
}

figure.position-50 img,
figure.position-50 canvas,
figure.position-50 iframe,
figure.figure-position-50 img,
figure.figure-position-50 canvas,
figure.figure-position-50 iframe {
  object-position: 50% 50%;
}

figure.position-51 img,
figure.position-51 canvas,
figure.position-51 iframe,
figure.figure-position-51 img,
figure.figure-position-51 canvas,
figure.figure-position-51 iframe {
  object-position: 51% 49%;
}

figure.position-52 img,
figure.position-52 canvas,
figure.position-52 iframe,
figure.figure-position-52 img,
figure.figure-position-52 canvas,
figure.figure-position-52 iframe {
  object-position: 52% 48%;
}

figure.position-53 img,
figure.position-53 canvas,
figure.position-53 iframe,
figure.figure-position-53 img,
figure.figure-position-53 canvas,
figure.figure-position-53 iframe {
  object-position: 53% 47%;
}

figure.position-54 img,
figure.position-54 canvas,
figure.position-54 iframe,
figure.figure-position-54 img,
figure.figure-position-54 canvas,
figure.figure-position-54 iframe {
  object-position: 54% 46%;
}

figure.position-55 img,
figure.position-55 canvas,
figure.position-55 iframe,
figure.figure-position-55 img,
figure.figure-position-55 canvas,
figure.figure-position-55 iframe {
  object-position: 55% 45%;
}

figure.position-56 img,
figure.position-56 canvas,
figure.position-56 iframe,
figure.figure-position-56 img,
figure.figure-position-56 canvas,
figure.figure-position-56 iframe {
  object-position: 56% 44%;
}

figure.position-57 img,
figure.position-57 canvas,
figure.position-57 iframe,
figure.figure-position-57 img,
figure.figure-position-57 canvas,
figure.figure-position-57 iframe {
  object-position: 57% 43%;
}

figure.position-58 img,
figure.position-58 canvas,
figure.position-58 iframe,
figure.figure-position-58 img,
figure.figure-position-58 canvas,
figure.figure-position-58 iframe {
  object-position: 58% 42%;
}

figure.position-59 img,
figure.position-59 canvas,
figure.position-59 iframe,
figure.figure-position-59 img,
figure.figure-position-59 canvas,
figure.figure-position-59 iframe {
  object-position: 59% 41%;
}

figure.position-60 img,
figure.position-60 canvas,
figure.position-60 iframe,
figure.figure-position-60 img,
figure.figure-position-60 canvas,
figure.figure-position-60 iframe {
  object-position: 60% 40%;
}

figure.position-61 img,
figure.position-61 canvas,
figure.position-61 iframe,
figure.figure-position-61 img,
figure.figure-position-61 canvas,
figure.figure-position-61 iframe {
  object-position: 61% 39%;
}

figure.position-62 img,
figure.position-62 canvas,
figure.position-62 iframe,
figure.figure-position-62 img,
figure.figure-position-62 canvas,
figure.figure-position-62 iframe {
  object-position: 62% 38%;
}

figure.position-63 img,
figure.position-63 canvas,
figure.position-63 iframe,
figure.figure-position-63 img,
figure.figure-position-63 canvas,
figure.figure-position-63 iframe {
  object-position: 63% 37%;
}

figure.position-64 img,
figure.position-64 canvas,
figure.position-64 iframe,
figure.figure-position-64 img,
figure.figure-position-64 canvas,
figure.figure-position-64 iframe {
  object-position: 64% 36%;
}

figure.position-65 img,
figure.position-65 canvas,
figure.position-65 iframe,
figure.figure-position-65 img,
figure.figure-position-65 canvas,
figure.figure-position-65 iframe {
  object-position: 65% 35%;
}

figure.position-66 img,
figure.position-66 canvas,
figure.position-66 iframe,
figure.figure-position-66 img,
figure.figure-position-66 canvas,
figure.figure-position-66 iframe {
  object-position: 66% 34%;
}

figure.position-67 img,
figure.position-67 canvas,
figure.position-67 iframe,
figure.figure-position-67 img,
figure.figure-position-67 canvas,
figure.figure-position-67 iframe {
  object-position: 67% 33%;
}

figure.position-68 img,
figure.position-68 canvas,
figure.position-68 iframe,
figure.figure-position-68 img,
figure.figure-position-68 canvas,
figure.figure-position-68 iframe {
  object-position: 68% 32%;
}

figure.position-69 img,
figure.position-69 canvas,
figure.position-69 iframe,
figure.figure-position-69 img,
figure.figure-position-69 canvas,
figure.figure-position-69 iframe {
  object-position: 69% 31%;
}

figure.position-70 img,
figure.position-70 canvas,
figure.position-70 iframe,
figure.figure-position-70 img,
figure.figure-position-70 canvas,
figure.figure-position-70 iframe {
  object-position: 70% 30%;
}

figure.position-71 img,
figure.position-71 canvas,
figure.position-71 iframe,
figure.figure-position-71 img,
figure.figure-position-71 canvas,
figure.figure-position-71 iframe {
  object-position: 71% 29%;
}

figure.position-72 img,
figure.position-72 canvas,
figure.position-72 iframe,
figure.figure-position-72 img,
figure.figure-position-72 canvas,
figure.figure-position-72 iframe {
  object-position: 72% 28%;
}

figure.position-73 img,
figure.position-73 canvas,
figure.position-73 iframe,
figure.figure-position-73 img,
figure.figure-position-73 canvas,
figure.figure-position-73 iframe {
  object-position: 73% 27%;
}

figure.position-74 img,
figure.position-74 canvas,
figure.position-74 iframe,
figure.figure-position-74 img,
figure.figure-position-74 canvas,
figure.figure-position-74 iframe {
  object-position: 74% 26%;
}

figure.position-75 img,
figure.position-75 canvas,
figure.position-75 iframe,
figure.figure-position-75 img,
figure.figure-position-75 canvas,
figure.figure-position-75 iframe {
  object-position: 75% 25%;
}

figure.position-76 img,
figure.position-76 canvas,
figure.position-76 iframe,
figure.figure-position-76 img,
figure.figure-position-76 canvas,
figure.figure-position-76 iframe {
  object-position: 76% 24%;
}

figure.position-77 img,
figure.position-77 canvas,
figure.position-77 iframe,
figure.figure-position-77 img,
figure.figure-position-77 canvas,
figure.figure-position-77 iframe {
  object-position: 77% 23%;
}

figure.position-78 img,
figure.position-78 canvas,
figure.position-78 iframe,
figure.figure-position-78 img,
figure.figure-position-78 canvas,
figure.figure-position-78 iframe {
  object-position: 78% 22%;
}

figure.position-79 img,
figure.position-79 canvas,
figure.position-79 iframe,
figure.figure-position-79 img,
figure.figure-position-79 canvas,
figure.figure-position-79 iframe {
  object-position: 79% 21%;
}

figure.position-80 img,
figure.position-80 canvas,
figure.position-80 iframe,
figure.figure-position-80 img,
figure.figure-position-80 canvas,
figure.figure-position-80 iframe {
  object-position: 80% 20%;
}

figure.position-81 img,
figure.position-81 canvas,
figure.position-81 iframe,
figure.figure-position-81 img,
figure.figure-position-81 canvas,
figure.figure-position-81 iframe {
  object-position: 81% 19%;
}

figure.position-82 img,
figure.position-82 canvas,
figure.position-82 iframe,
figure.figure-position-82 img,
figure.figure-position-82 canvas,
figure.figure-position-82 iframe {
  object-position: 82% 18%;
}

figure.position-83 img,
figure.position-83 canvas,
figure.position-83 iframe,
figure.figure-position-83 img,
figure.figure-position-83 canvas,
figure.figure-position-83 iframe {
  object-position: 83% 17%;
}

figure.position-84 img,
figure.position-84 canvas,
figure.position-84 iframe,
figure.figure-position-84 img,
figure.figure-position-84 canvas,
figure.figure-position-84 iframe {
  object-position: 84% 16%;
}

figure.position-85 img,
figure.position-85 canvas,
figure.position-85 iframe,
figure.figure-position-85 img,
figure.figure-position-85 canvas,
figure.figure-position-85 iframe {
  object-position: 85% 15%;
}

figure.position-86 img,
figure.position-86 canvas,
figure.position-86 iframe,
figure.figure-position-86 img,
figure.figure-position-86 canvas,
figure.figure-position-86 iframe {
  object-position: 86% 14%;
}

figure.position-87 img,
figure.position-87 canvas,
figure.position-87 iframe,
figure.figure-position-87 img,
figure.figure-position-87 canvas,
figure.figure-position-87 iframe {
  object-position: 87% 13%;
}

figure.position-88 img,
figure.position-88 canvas,
figure.position-88 iframe,
figure.figure-position-88 img,
figure.figure-position-88 canvas,
figure.figure-position-88 iframe {
  object-position: 88% 12%;
}

figure.position-89 img,
figure.position-89 canvas,
figure.position-89 iframe,
figure.figure-position-89 img,
figure.figure-position-89 canvas,
figure.figure-position-89 iframe {
  object-position: 89% 11%;
}

figure.position-90 img,
figure.position-90 canvas,
figure.position-90 iframe,
figure.figure-position-90 img,
figure.figure-position-90 canvas,
figure.figure-position-90 iframe {
  object-position: 90% 10%;
}

figure.position-91 img,
figure.position-91 canvas,
figure.position-91 iframe,
figure.figure-position-91 img,
figure.figure-position-91 canvas,
figure.figure-position-91 iframe {
  object-position: 91% 9%;
}

figure.position-92 img,
figure.position-92 canvas,
figure.position-92 iframe,
figure.figure-position-92 img,
figure.figure-position-92 canvas,
figure.figure-position-92 iframe {
  object-position: 92% 8%;
}

figure.position-93 img,
figure.position-93 canvas,
figure.position-93 iframe,
figure.figure-position-93 img,
figure.figure-position-93 canvas,
figure.figure-position-93 iframe {
  object-position: 93% 7%;
}

figure.position-94 img,
figure.position-94 canvas,
figure.position-94 iframe,
figure.figure-position-94 img,
figure.figure-position-94 canvas,
figure.figure-position-94 iframe {
  object-position: 94% 6%;
}

figure.position-95 img,
figure.position-95 canvas,
figure.position-95 iframe,
figure.figure-position-95 img,
figure.figure-position-95 canvas,
figure.figure-position-95 iframe {
  object-position: 95% 5%;
}

figure.position-96 img,
figure.position-96 canvas,
figure.position-96 iframe,
figure.figure-position-96 img,
figure.figure-position-96 canvas,
figure.figure-position-96 iframe {
  object-position: 96% 4%;
}

figure.position-97 img,
figure.position-97 canvas,
figure.position-97 iframe,
figure.figure-position-97 img,
figure.figure-position-97 canvas,
figure.figure-position-97 iframe {
  object-position: 97% 3%;
}

figure.position-98 img,
figure.position-98 canvas,
figure.position-98 iframe,
figure.figure-position-98 img,
figure.figure-position-98 canvas,
figure.figure-position-98 iframe {
  object-position: 98% 2%;
}

figure.position-99 img,
figure.position-99 canvas,
figure.position-99 iframe,
figure.figure-position-99 img,
figure.figure-position-99 canvas,
figure.figure-position-99 iframe {
  object-position: 99% 1%;
}

figure.position-100 img,
figure.position-100 canvas,
figure.position-100 iframe,
figure.figure-position-100 img,
figure.figure-position-100 canvas,
figure.figure-position-100 iframe {
  object-position: 100% 0%;
}

figure > blockquote {
  padding: 2rem;
  font-size: 160%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  text-align: center;
  border-left: none;
}

figure.html {
  height: 100% !important;
}

@media screen and (max-width: 736px) {
  figure.figure-inline,
  figure.figure-inline.left,
  figure.figure-inline.right {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2rem 0 !important;
    top: 0;
    display: block;
  }
  figure.figure-inline > a {
    display: block;
    width: 100%;
  }
  figure.figure-inline img {
    width: 100%;
    height: auto;
  }
}
figure.figure-inline {
  margin-block: 0 var(--size_element_margin);
  position: inherit;
  clear: both;
}

figure.figure-inline figcaption {
  margin-top: 0.75rem;
}

figure.figure-inline + figure.figure-inline {
  clear: both;
  margin-top: var(--size_element_margin);
}

/* Pick the element that wraps markdown content */
.wrapper > .content:not(.row) {
  display: flow-root;
}

.wrapper > .content.row {
  display: flex;
}

@media (orientation: portrait) {
  figure.figure-inline.left,
  figure.figure-inline.right,
  figure.figure-inline {
    float: none !important;
    clear: both;
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 1.25rem 0;
    top: 0;
  }
  figure.figure-inline > a,
  figure.figure-inline img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 80vh;
  }
}
/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
/* Wrapper */
#wrapper {
  background: inherit;
  width: 100%;
  overflow-x: hidden;
}
#wrapper > .invert p, #wrapper > .invert li, #wrapper > .invert td {
  color: var(--invert_fg);
}
#wrapper > .invert input, #wrapper > .invert select, #wrapper > .invert textarea {
  color: var(--invert_fg_bold);
}
#wrapper > .invert a {
  color: var(--invert_fg_bold);
}
#wrapper > .invert a:hover {
  color: var(--invert_accent);
}
#wrapper > .invert a:hover i, #wrapper > .invert a:hover em, #wrapper > .invert a:hover b, #wrapper > .invert a:hover strong, #wrapper > .invert a:hover h1, #wrapper > .invert a:hover h2, #wrapper > .invert a:hover h3, #wrapper > .invert a:hover h4, #wrapper > .invert a:hover h5, #wrapper > .invert a:hover h6, #wrapper > .invert a:hover p, #wrapper > .invert a:hover span {
  color: var(--invert_accent);
}
#wrapper > .invert a h1, #wrapper > .invert a h2, #wrapper > .invert a h3, #wrapper > .invert a h4, #wrapper > .invert a h5, #wrapper > .invert a h6, #wrapper > .invert a span, #wrapper > .invert a b, #wrapper > .invert a strong, #wrapper > .invert a em, #wrapper > .invert a i, #wrapper > .invert a p, #wrapper > .invert a span {
  transition: color var(--duration_transition) ease-in-out;
  color: var(--invert_fg_bold);
}
#wrapper > .invert h1, #wrapper > .invert h2, #wrapper > .invert h3, #wrapper > .invert h4, #wrapper > .invert h5, #wrapper > .invert h6, #wrapper > .invert span, #wrapper > .invert b, #wrapper > .invert strong, #wrapper > .invert em, #wrapper > .invert i {
  color: var(--invert_fg_bold);
}
#wrapper > .invert blockquote {
  border-left-color: var(--invert_border);
}
#wrapper > .invert code {
  background: var(--invert_border_bg);
  border-color: var(--invert_border);
}
#wrapper > .invert hr {
  border-bottom-color: var(--invert_border);
}
#wrapper > .invert ul.alt li {
  border-top-color: var(--invert_border);
}
#wrapper > .invert header p {
  color: var(--invert_fg_light);
}
#wrapper > .invert table tbody tr {
  border-color: var(--invert_border);
}
#wrapper > .invert table tbody tr:nth-child(2n+1) {
  background-color: var(--invert_border_bg);
}
#wrapper > .invert table tbody tr.alt {
  background-color: var(--invert_border_bg) !important;
}
#wrapper > .invert table th {
  color: var(--invert_fg_bold);
}
#wrapper > .invert table thead {
  border-bottom-color: var(--invert_border);
}
#wrapper > .invert table tfoot {
  border-top-color: var(--invert_border);
}
#wrapper > .invert table.alt tbody tr td {
  border-color: var(--invert_border);
}
#wrapper > .invert table.uniform tbody tr:nth-child(2n+1) {
  background-color: transparent;
}
#wrapper > .invert table.nt-md-table tr.nt-md-table-separator {
  background-color: transparent !important;
}
#wrapper > .invert table.nt-md-table tr.nt-md-table-separator td, #wrapper > .invert table.nt-md-table tr.nt-md-table-separator th {
  font-size: 0;
  line-height: 0;
  padding: 0;
  border-top-width: 0;
  border-bottom-width: var(--size_table_separator_width, 2px);
}
#wrapper > .invert .banner figure {
  background-color: var(--fig_bg);
}
#wrapper > .invert .banner.style4 > figure {
  border-color: rgb(255, 255, 255);
  background-color: rgb(255, 255, 255);
  border-width: 1px;
}
#wrapper > .invert .banner.style4 > figure:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
#wrapper > .invert .banner.style4 > figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
#wrapper > .invert .banner.style4.android > figure:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}
#wrapper > .invert .spotlight figure, #wrapper > .invert .spotlight canvas {
  background-color: rgba(239, 239, 239, 0.225);
  background-color: rgba(255, 255, 255, 0.125);
}
#wrapper > .invert .spotlight.style3 figure, #wrapper > .invert .spotlight.style3 canvas {
  border-color: rgb(255, 255, 255);
  background-color: rgb(255, 255, 255);
  border-width: 1px;
}
#wrapper > .invert .spotlight.style3 figure:before, #wrapper > .invert .spotlight.style3 canvas:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
#wrapper > .invert .spotlight.style3 figure:after, #wrapper > .invert .spotlight.style3 canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
  border-color: rgb(255, 255, 255);
  width: calc(100% + 2px);
  margin-left: -1px;
}
#wrapper > .invert .spotlight.style3.android figure:after, #wrapper > .invert .spotlight.style3.android canvas:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgb(255, 255, 255)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E");
}
#wrapper > .invert .gallery article figure {
  background-color: rgba(0, 0, 0, 0.125);
}
#wrapper > .invert .items.style1 > * {
  border-color: var(--invert_border);
}
#wrapper > .invert .items.style2 {
  border-color: var(--invert_border);
}
#wrapper > .invert .items.style2 > * {
  border-color: var(--invert_border);
}
#wrapper > .invert .index > * {
  border-top-color: var(--invert_border);
}
#wrapper > .color1 {
  background-color: var(--color1);
}
#wrapper > .color2 {
  background-color: var(--color2);
}
#wrapper > .color3 {
  background-color: var(--color3);
}
#wrapper > .color4 {
  background-color: var(--color4);
}
#wrapper > .color5 {
  background-color: var(--color5);
}
#wrapper > .color6 {
  background-color: var(--color6);
}
#wrapper > .color7 {
  background-color: var(--color7);
}
#wrapper.divided > * {
  box-shadow: inset 0 1px 0 0 var(--border_alt);
}
#wrapper.divided > *:first-child {
  box-shadow: none !important;
}
#wrapper.divided > .invert {
  box-shadow: inset 0 1px 0 0 var(--invert_border_alt);
}
#wrapper.divided > .invert:first-child {
  box-shadow: none !important;
}

/*
  QuantaLumin SCSS
  SCSS bode for scientific research and communication
  Copyright © QuantaLumin 2025
*/
header {
  grid-area: header;
}

main {
  grid-area: main;
}

#aside {
  grid-area: aside;
}

#article-nav {
  grid-area: nav;
}

footer {
  grid-area: footer;
}

body.ql-shell-fixed-chrome {
  display: grid;
  grid-template-areas: "header" "main" "footer";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100svh;
  height: 100svh;
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
}

body.ql-shell-fixed-chrome > header,
body.ql-shell-fixed-chrome > footer {
  position: relative;
  z-index: 20;
}

body.ql-shell-fixed-chrome > main {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

body.ql-shell-fixed-chrome > header,
body.ql-shell-fixed-chrome > main,
body.ql-shell-fixed-chrome > footer {
  min-width: 0;
  width: 100%;
  max-width: 100vw;
}

body.ql-shell-fixed-chrome > #article-nav {
  display: none;
}

@media screen and (max-width: 736px) {
  .grid-container {
    display: grid;
    grid-auto-columns: 100vw;
    grid-template-areas: "header" "main" "nav" "footer";
  }
  body.ql-shell-fixed-chrome {
    grid-template-areas: "header" "main" "footer";
  }
}
/*
  QuantaLumin SCSS
  SCSS code for scientific research and communication
  Copyright © QuantaLumin 2025
*/
header.center {
  justify-content: center;
}

header.left {
  justify-content: left;
}

header.right {
  justify-content: right;
}

header.space-evenly {
  justify-content: space-evenly;
}

header {
  background: var(--bg);
  padding: var(--surface-shell-padding, calc(var(--size_padding-default) * var(--size_header_multiplier, var(--size_multiplier, 0))));
  margin: var(--surface-shell-margin, var(--header_margin, 0));
}
header ul.actions li {
  padding: 0 0.6rem;
}
header ul.actions li a {
  float: left;
}
header ul.actions li a span {
  margin: 0;
  display: inline-block;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}
@media screen and (orientation: portrait) {
  header {
    flex-direction: column;
    text-align: center;
  }
  header li {
    padding: 2px;
  }
  header .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
}
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  gap: var(--surface-nav-row-gap, 0.75rem) var(--surface-nav-column-gap, 1rem);
}
header li {
  display: flex;
  align-items: center;
  margin: 0.1rem;
}
header ul {
  margin: 0.4rem !important;
}
header .logo {
  text-align: left;
}
header .logo svg, header .logo img {
  max-width: var(--logo_max_width);
  min-width: var(--logo_min_width);
  height: 100%;
}
header .logo {
  overflow: visible;
}
@media screen and (max-width: 980px) {
  header {
    padding: calc(var(--size_padding-medium) * 0.9) var(--size_padding-medium);
    flex-wrap: wrap;
  }
  header .logo,
  header .menu,
  header .altmenu {
    width: 100%;
  }
  header .logo {
    text-align: center;
  }
  header .logo svg, header .logo img {
    width: auto;
    height: auto;
    max-width: clamp(10rem, 42vw, var(--logo_max_width));
    min-width: 0;
  }
  header .menu,
  header .altmenu {
    display: flex;
    justify-content: center;
  }
  header ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--surface-nav-row-gap, 0.75rem) * 0.53) calc(var(--surface-nav-column-gap, 1rem) * 0.7);
    margin: 0.2rem 0 !important;
    padding: 0;
  }
  header li {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
  }
  header a {
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: var(--surface-nav-link-line-height, 1.25);
    font-size: var(--surface-nav-link-size, 1rem);
    padding-inline: var(--surface-nav-link-padding-x, 0.2rem);
    padding-block: var(--surface-nav-link-padding-y, 0rem);
  }
  header .menu ul > li:has(> a#special) {
    flex-basis: 100%;
    display: flex;
    justify-content: center;
    margin-top: 0.2rem;
  }
  header .menu ul > li > a#special {
    width: 100%;
    max-width: 9.5rem;
  }
}
@media screen and (max-width: 736px) {
  header {
    padding: calc(var(--size_padding-small) * 0.95) var(--size_padding-small);
    gap: calc(var(--surface-nav-row-gap, 0.75rem) * 0.6) calc(var(--surface-nav-column-gap, 1rem) * 0.7);
  }
  header ul {
    gap: calc(var(--surface-nav-row-gap, 0.75rem) * 0.4) calc(var(--surface-nav-column-gap, 1rem) * 0.5);
  }
  header a {
    font-size: calc(var(--surface-nav-link-size, 1rem) * 0.94);
    padding-inline: calc(var(--surface-nav-link-padding-x, 0.2rem) * 0.6);
  }
  header .menu ul > li > a#special {
    max-width: 8.75rem;
  }
}

header.ql-header-density-compact {
  --surface-nav-row-gap: calc(var(--surface-nav-row-gap, 0.75rem) * 0.82);
  --surface-nav-column-gap: calc(var(--surface-nav-column-gap, 1rem) * 0.84);
  --surface-nav-link-padding-x: calc(var(--surface-nav-link-padding-x, 0.2rem) * 0.72);
}

header.ql-header-density-roomy {
  --surface-nav-row-gap: calc(var(--surface-nav-row-gap, 0.75rem) * 1.18);
  --surface-nav-column-gap: calc(var(--surface-nav-column-gap, 1rem) * 1.14);
  --surface-nav-link-padding-x: calc(var(--surface-nav-link-padding-x, 0.2rem) * 1.18);
}

header.ql-header-surface-glass {
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: blur(12px);
}

header.ql-header-surface-transparent {
  background: transparent;
  box-shadow: none;
}

header.ql-header-logo-center {
  flex-wrap: wrap;
  justify-content: center;
}
header.ql-header-logo-center > .logo,
header.ql-header-logo-center > .menu,
header.ql-header-logo-center > .altmenu {
  width: 100%;
}
header.ql-header-logo-center > .logo {
  text-align: center;
}
header.ql-header-logo-center > .menu,
header.ql-header-logo-center > .altmenu {
  display: flex;
  justify-content: center;
}

header.ql-header-layout-stacked {
  flex-wrap: wrap;
  justify-content: center;
}
header.ql-header-layout-stacked > .logo,
header.ql-header-layout-stacked > .menu,
header.ql-header-layout-stacked > .altmenu {
  width: 100%;
}
header.ql-header-layout-stacked > .logo {
  order: 1;
  text-align: center;
}
header.ql-header-layout-stacked > .menu {
  order: 2;
  display: flex;
  justify-content: center;
}
header.ql-header-layout-stacked > .altmenu {
  order: 3;
  display: flex;
  justify-content: center;
}

header.ql-header-nav-start > .menu ul,
header.ql-header-nav-start > .altmenu ul {
  justify-content: flex-start;
}

header.ql-header-nav-center > .menu ul,
header.ql-header-nav-center > .altmenu ul {
  justify-content: center;
}

header.ql-header-nav-end > .menu ul,
header.ql-header-nav-end > .altmenu ul {
  justify-content: flex-end;
}

header.ql-header-nav-space-evenly > .menu ul,
header.ql-header-nav-space-evenly > .altmenu ul {
  justify-content: space-evenly;
}

header.ql-header-nav-space-between > .menu ul,
header.ql-header-nav-space-between > .altmenu ul {
  justify-content: space-between;
}

header.ql-header-layout-inline .logo,
header.style1 .logo {
  order: 1;
}
header.ql-header-layout-inline .menu,
header.style1 .menu {
  order: 2;
}
header.ql-header-layout-inline .altmenu,
header.style1 .altmenu {
  order: 3;
}
header.ql-header-layout-inline li,
header.style1 li {
  float: left;
}
header.ql-header-layout-inline li a,
header.style1 li a {
  text-align: center;
  text-decoration: none;
  font-size: var(--surface-nav-link-size, 1rem);
  line-height: var(--surface-nav-link-line-height, 1.25);
  padding-inline: var(--surface-nav-link-padding-x, 0.2rem);
  padding-block: var(--surface-nav-link-padding-y, 0rem);
}
header.ql-header-layout-inline ul,
header.style1 ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
header.ql-header-layout-inline li,
header.style1 li {
  list-style-type: none;
  display: flex;
  flex-flow: wrap column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 980px) {
  header.ql-header-layout-inline .menu,
  header.style1 .menu {
    order: 1;
  }
  header.ql-header-layout-inline .altmenu,
  header.style1 .altmenu {
    order: 3;
  }
  header.ql-header-layout-inline .logo,
  header.style1 .logo {
    order: -1;
    width: 100%;
    text-align: center;
  }
  header.ql-header-layout-inline .logo svg, header.ql-header-layout-inline .logo img,
  header.style1 .logo svg,
  header.style1 .logo img {
    height: auto;
    max-width: var(--logo_portrait_max_width);
    min-width: 0;
  }
  header.ql-header-layout-inline .logo,
  header.style1 .logo {
    overflow: visible;
  }
}
@media screen and (orientation: portrait) {
  header.ql-header-layout-inline .menu,
  header.style1 .menu {
    order: 1;
  }
  header.ql-header-layout-inline .altmenu,
  header.style1 .altmenu {
    order: 3;
  }
  header.ql-header-layout-inline .logo,
  header.style1 .logo {
    order: -1;
    width: 100%;
    text-align: center;
  }
  header.ql-header-layout-inline .logo svg, header.ql-header-layout-inline .logo img,
  header.style1 .logo svg,
  header.style1 .logo img {
    height: auto;
    max-width: var(--logo_portrait_max_width);
    min-width: 0;
  }
  header.ql-header-layout-inline .logo,
  header.style1 .logo {
    overflow: visible;
  }
}

header.ql-header-layout-split,
header.style2 {
  display: grid;
  grid-template-areas: "logo menu" "logo altmenu";
}
header.ql-header-layout-split .logo,
header.style2 .logo {
  grid-area: logo;
}
header.ql-header-layout-split .menu,
header.style2 .menu {
  grid-area: menu;
}
header.ql-header-layout-split .altmenu,
header.style2 .altmenu {
  grid-area: altmenu;
}
header.ql-header-layout-split li,
header.style2 li {
  float: left;
}
header.ql-header-layout-split li a,
header.style2 li a {
  text-align: center;
  text-decoration: none;
  font-size: var(--surface-nav-link-size, 1rem);
  line-height: var(--surface-nav-link-line-height, 1.25);
  padding-inline: var(--surface-nav-link-padding-x, 0.2rem);
  padding-block: var(--surface-nav-link-padding-y, 0rem);
}
header.ql-header-layout-split ul,
header.style2 ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
header.ql-header-layout-split li,
header.style2 li {
  list-style-type: none;
  display: flex;
  flex-flow: wrap row;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 980px) {
  header.ql-header-layout-split .menu,
  header.style2 .menu {
    order: 1;
    grid-column: 1;
    grid-row: 2;
  }
  header.ql-header-layout-split .altmenu,
  header.style2 .altmenu {
    order: 3;
    grid-column: 1;
    grid-row: 3;
  }
  header.ql-header-layout-split .logo,
  header.style2 .logo {
    order: -1;
    grid-column: 1;
    grid-row: 1;
    width: 100vw;
    text-align: center;
  }
  header.ql-header-layout-split .logo svg, header.ql-header-layout-split .logo img,
  header.style2 .logo svg,
  header.style2 .logo img {
    height: auto;
    max-width: var(--logo_portrait_max_width);
    min-width: var(--logo_portrait_min_width);
  }
  header.ql-header-layout-split .logo,
  header.style2 .logo {
    overflow: visible;
  }
}
@media screen and (orientation: portrait) {
  header.ql-header-layout-split .menu,
  header.style2 .menu {
    order: 1;
    grid-column: 1;
    grid-row: 2;
  }
  header.ql-header-layout-split .altmenu,
  header.style2 .altmenu {
    order: 3;
    grid-column: 1;
    grid-row: 3;
  }
  header.ql-header-layout-split .logo,
  header.style2 .logo {
    order: -1;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    text-align: center;
  }
  header.ql-header-layout-split .logo svg, header.ql-header-layout-split .logo img,
  header.style2 .logo svg,
  header.style2 .logo img {
    height: auto;
    max-width: var(--logo_portrait_max_width);
    min-width: 0;
  }
  header.ql-header-layout-split .logo,
  header.style2 .logo {
    overflow: visible;
  }
}

header.ql-header-layout-centered,
header.style3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 2rem;
}
header.ql-header-layout-centered .logo,
header.style3 .logo {
  flex: 0 0 auto;
  text-align: left;
  padding: 1rem;
}
header.ql-header-layout-centered .logo svg, header.ql-header-layout-centered .logo img,
header.style3 .logo svg,
header.style3 .logo img {
  max-width: var(--logo_min_width);
  min-width: calc(var(--logo_min_width) * 0.8);
  height: auto;
}
header.ql-header-layout-centered .menu,
header.style3 .menu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
header.ql-header-layout-centered .menu ul,
header.style3 .menu ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
}
header.ql-header-layout-centered .menu ul li,
header.style3 .menu ul li {
  list-style: none;
  margin: 0 1rem;
}
header.ql-header-layout-centered .menu ul li a,
header.style3 .menu ul li a {
  text-decoration: none;
  text-align: center;
  font-size: 150%;
  font-weight: 600;
  padding: 0.5rem 0.8rem;
  transition: all 0.2s ease;
}
header.ql-header-layout-centered .menu ul li a:hover,
header.style3 .menu ul li a:hover {
  color: var(--hover-accent, var(--accent));
  opacity: 1;
}
header.ql-header-layout-centered .altmenu,
header.style3 .altmenu {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--surface-nav-column-gap, 0.8rem);
  padding-right: 1rem;
}
@media screen and (max-width: 980px) {
  header.ql-header-layout-centered,
  header.style3 {
    position: relative;
    flex-direction: column;
    text-align: center;
    padding: 1rem 0;
  }
  header.ql-header-layout-centered .logo,
  header.style3 .logo {
    order: 1;
    width: 100%;
    text-align: center;
    padding: 0;
  }
  header.ql-header-layout-centered .logo svg, header.ql-header-layout-centered .logo img,
  header.style3 .logo svg,
  header.style3 .logo img {
    height: auto;
    max-width: clamp(10rem, 46vw, var(--logo_portrait_max_width));
    min-width: 0;
  }
  header.ql-header-layout-centered .menu,
  header.style3 .menu {
    position: relative;
    left: auto;
    transform: none;
    order: 2;
    width: 100%;
    justify-content: center;
  }
  header.ql-header-layout-centered .menu ul,
  header.style3 .menu ul {
    gap: calc(var(--surface-nav-row-gap, 0.75rem) * 0.47) calc(var(--surface-nav-column-gap, 1rem) * 0.5);
  }
  header.ql-header-layout-centered .menu ul li a,
  header.style3 .menu ul li a {
    font-size: var(--surface-nav-link-size, 1rem);
    padding: calc(var(--surface-nav-row-gap, 0.75rem) * 0.47) calc(var(--surface-nav-column-gap, 1rem) * 0.55);
  }
  header.ql-header-layout-centered .altmenu,
  header.style3 .altmenu {
    order: 3;
    width: 100%;
    justify-content: center;
    padding: 0;
  }
}
@media screen and (max-width: 736px) {
  header.ql-header-layout-centered,
  header.style3 {
    padding: 0.75rem 0;
  }
  header.ql-header-layout-centered .menu ul li a,
  header.style3 .menu ul li a {
    font-size: calc(var(--surface-nav-link-size, 1rem) * 0.95);
    padding: calc(var(--surface-nav-row-gap, 0.75rem) * 0.4) calc(var(--surface-nav-column-gap, 1rem) * 0.45);
  }
  header.ql-header-layout-centered .altmenu,
  header.style3 .altmenu {
    gap: calc(var(--surface-nav-column-gap, 1rem) * 0.5);
  }
}
@media screen and (orientation: portrait) {
  header.ql-header-layout-centered,
  header.style3 {
    position: relative;
    flex-direction: column;
    text-align: center;
    padding: 1rem 0;
  }
  header.ql-header-layout-centered .logo,
  header.style3 .logo {
    order: 1;
    width: 100%;
    text-align: center;
    padding: 0;
  }
  header.ql-header-layout-centered .logo svg, header.ql-header-layout-centered .logo img,
  header.style3 .logo svg,
  header.style3 .logo img {
    height: auto;
    max-width: clamp(10rem, 46vw, var(--logo_portrait_max_width));
    min-width: 0;
  }
  header.ql-header-layout-centered .menu,
  header.style3 .menu {
    position: relative;
    left: auto;
    transform: none;
    order: 2;
    width: 100%;
    justify-content: center;
  }
  header.ql-header-layout-centered .menu ul li a,
  header.style3 .menu ul li a {
    font-size: var(--surface-nav-link-size, 1rem);
    padding: calc(var(--surface-nav-row-gap, 0.75rem) * 0.47) calc(var(--surface-nav-column-gap, 1rem) * 0.55);
  }
  header.ql-header-layout-centered .altmenu,
  header.style3 .altmenu {
    order: 3;
    width: 100%;
    justify-content: center;
    padding: 0;
  }
}

#aside {
  background: var(--bg);
  padding: var(--surface-shell-padding, calc(var(--size_padding-default) * var(--size_aside_multiplier, var(--size_multiplier, 0))));
  margin: var(--surface-shell-margin, var(--aside_margin, 0));
}
#aside ul.actions li {
  padding: 0 0.6rem;
}
#aside ul.actions li a {
  float: left;
}
#aside ul.actions li a span {
  margin: 0;
  display: inline-block;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}
@media screen and (orientation: portrait) {
  #aside {
    flex-direction: column;
    text-align: center;
  }
  #aside li {
    padding: 2px;
  }
  #aside .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
}

main {
  background: var(--bg);
  padding: var(--surface-shell-padding, calc(var(--size_padding-default) * var(--size_multiplier, var(--size_multiplier, 0))));
  margin: var(--surface-shell-margin, var(--margin, 0));
}
main ul.actions li {
  padding: 0 0.6rem;
}
main ul.actions li a {
  float: left;
}
main ul.actions li a span {
  margin: 0;
  display: inline-block;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}
@media screen and (orientation: portrait) {
  main {
    flex-direction: column;
    text-align: center;
  }
  main li {
    padding: 2px;
  }
  main .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
}

#article-nav {
  background: var(--bg);
  padding: var(--surface-shell-padding, calc(var(--size_padding-default) * var(--size_article_nav_multiplier, var(--size_multiplier, 0))));
  margin: var(--surface-shell-margin, var(--article_nav_margin, 0));
}
#article-nav ul.actions li {
  padding: 0 0.6rem;
}
#article-nav ul.actions li a {
  float: left;
}
#article-nav ul.actions li a span {
  margin: 0;
  display: inline-block;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}
@media screen and (orientation: portrait) {
  #article-nav {
    flex-direction: column;
    text-align: center;
  }
  #article-nav li {
    padding: 2px;
  }
  #article-nav .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
}

footer {
  background: var(--bg);
  padding: var(--surface-shell-padding, calc(var(--size_padding-default) * var(--size_footer_multiplier, var(--size_multiplier, 0))));
  margin: var(--surface-shell-margin, var(--footer_margin, 0));
}
footer ul.actions li {
  padding: 0 0.6rem;
}
footer ul.actions li a {
  float: left;
}
footer ul.actions li a span {
  margin: 0;
  display: inline-block;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}
@media screen and (orientation: portrait) {
  footer {
    flex-direction: column;
    text-align: center;
  }
  footer li {
    padding: 2px;
  }
  footer .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 100%;
  }
}
footer {
  text-align: center;
}
footer ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style-type: none;
  padding-left: 5vw;
  padding-right: 5vw;
}
footer .copyright {
  padding: 0;
}
footer .icon li a {
  display: inline-block;
  float: left;
}
footer .icon a {
  text-decoration: none;
}
footer .icon svg {
  display: block;
  padding: 0.5rem;
  height: 2.8rem;
  width: 100%;
}
footer .columns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
footer .columns li {
  display: inline;
}
@media screen and (orientation: portrait) {
  footer .columns {
    flex-direction: column;
    text-align: center;
  }
  footer .columns ul li {
    margin-left: auto;
    text-align: center;
    align-items: center;
  }
}

header.ql-header-sticky {
  position: sticky;
  top: 0;
  z-index: 40;
  align-self: start;
  background: var(--surface-header-bg, var(--header_bg, var(--bg)));
}

header ul {
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1rem;
}

@media screen and (orientation: landscape) {
  header.fixed {
    position: fixed;
    z-index: 10;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  header.right {
    left: 50%;
    width: 50%;
  }
}
header.ql-header-logo-hidden > .logo,
header.logo-hidden > .logo {
  display: none;
}

/* _footer.scss */
footer {
  /* tweak these to taste */
  --footer-col-min: 14rem;
  --footer-col-max: 20rem;
  --field-bg: color-mix(in srgb, var(--bg) 86%, white 14%);
  --field-fg: var(--fg);
  --field-border: color-mix(in srgb, var(--border) 82%, transparent);
  font-size: 80%;
}
footer .footer-grid {
  display: grid;
  gap: var(--size_padding-medium);
  align-items: start;
  /* Desktop+: auto-fit columns, tracks don't stretch forever, and the whole
     grid of tracks is centered. This makes 1 or 2 menus center automatically. */
  grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
  justify-content: center;
  /* Optional: cap to 4 columns so auto-fit doesn't create 5–6 tiny columns. */
  max-width: calc(var(--footer-col-max) * 4 + var(--size_padding-medium) * 3);
  margin-inline: auto;
  /* ====== <= large: force a clean 3-column layout ======
     - Keep group centered.
     - Center a single "orphan" on the last row (3 & 1 case).
     - Center the newsletter in the middle column (as before). */
}
@media screen and (max-width: 1280px) {
  footer .footer-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
    justify-content: center;
    /* 3 & 1 → center the 1 by moving it to column 2 */
  }
  footer .footer-grid > .footer-col:last-child:nth-child(3n+1) {
    grid-column: 1/-1;
    justify-self: center;
  }
  footer .footer-grid {
    /* 3 & 2 → center the pair across the row (columns 1 and 3) */
  }
  footer .footer-grid > .footer-col:nth-last-child(2):nth-child(3n+1) {
    grid-column: 1;
  }
  footer .footer-grid > .footer-col:nth-last-child(2):nth-child(3n+2) {
    grid-column: 3;
  }
  footer .footer-grid {
    /* Newsletter stays in the middle column and centered */
  }
  footer .footer-grid .footer-col.newsletter {
    grid-column: 2;
    justify-self: center;
    text-align: center;
  }
  footer .footer-grid .footer-col.newsletter form {
    width: 100%;
    max-width: 36rem;
    margin-inline: auto;
  }
}
footer .footer-grid {
  /* ====== <= medium: two columns ======
     Newsletter spans and stays centered. */
}
@media screen and (max-width: 980px) {
  footer .footer-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), 1fr));
    justify-content: center;
  }
  footer .footer-grid .footer-col.newsletter {
    grid-column: 1/-1;
    justify-self: center;
    text-align: center;
  }
  footer .footer-grid .footer-col.newsletter form {
    width: 100%;
    max-width: 36rem;
    margin-inline: auto;
  }
}
footer .footer-grid {
  /* ====== <= small: single column ======
     Newsletter goes full width, left-aligned labels/fields. */
}
@media screen and (max-width: 736px) {
  footer .footer-grid {
    grid-template-columns: 1fr;
  }
  footer .footer-grid .footer-col.newsletter {
    grid-column: 1;
    justify-self: stretch;
    text-align: left;
  }
  footer .footer-grid .footer-col.newsletter form {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
}
footer .footer-grid {
  /* Portrait should not override the phone-width single-column layout. */
}
@media screen and (orientation: portrait) and (min-width: calc(736px + 1px)) {
  footer .footer-grid {
    grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
    justify-self: center;
  }
  footer .footer-grid .footer-col.newsletter {
    grid-column: 1;
    justify-self: stretch;
  }
}
footer .footer-grid {
  /* ====== Single-column behaviour (legacy-safe) ====== */
  /* Harmless everywhere: if there’s only one .footer-col, span all tracks.
     Note: this alone won’t remove the container max-width cap. */
}
footer .footer-grid > .footer-col:only-child {
  grid-column: 1/-1;
}
footer .footer-grid {
  /* Fallback: add this class in your markup when there's only one column.
     It removes the 4-col cap and makes the column truly full-width. */
}
footer .footer-grid.footer-grid--single {
  grid-template-columns: repeat(auto-fit, minmax(var(--footer-col-min), var(--footer-col-max)));
  max-width: none;
  justify-self: center;
}
footer .footer-grid.footer-grid--single > .footer-col {
  justify-self: center;
}
footer .footer-grid.footer-grid--single > .footer-col.newsletter {
  text-align: left;
}
footer .footer-grid.footer-grid--single > .footer-col.newsletter form {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
footer .footer-grid.footer-grid--compact {
  gap: calc(var(--size_padding-small) * 0.7);
}
footer.footer-compact {
  font-size: 68%;
}
footer.footer-compact .footer-bottom {
  margin-top: calc(var(--size_padding-small) * 0.65);
  padding-top: calc(var(--size_padding-small) * 0.65);
}
footer {
  /* ====== Columns ====== */
}
footer .footer-col {
  text-align: left;
}
footer .footer-col .footer-title {
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.5rem 0;
  color: var(--fg-bold);
  /* Center titles by default; go left on smallest screens */
  text-align: center;
}
footer .footer-col ul.actions {
  margin: 0;
  padding: 0;
  gap: 0.25rem;
}
footer .footer-col ul.actions li {
  margin: 0;
}
footer .footer-col ul.actions li a {
  display: inline-flex;
  align-items: center;
  line-height: 1.2;
  text-decoration: none;
}
footer .footer-col ul.actions li a .icon-wrapper {
  display: inline-flex;
  gap: 0.4rem;
}
footer .footer-col ul.actions li a .text {
  font-weight: 500;
}
footer .footer-col.newsletter form {
  margin-top: 0.25rem;
}
footer {
  /* ====== Address block ====== */
}
footer .footer-address {
  font-style: normal;
  margin-bottom: 0.5rem;
}
footer .footer-address ul {
  padding-left: 0;
}
footer {
  /* ====== Bottom bar ====== */
}
footer .footer-bottom {
  margin-top: var(--size_padding-small);
  padding-top: var(--size_padding-small);
  border-top: 1px solid var(--border);
  opacity: 0.75;
}
footer .footer-bottom .copyright {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 130%;
}
footer .footer-bottom .copyright span {
  margin: 0 0.25rem;
}