/* Motokiwo visual blocks. These styles are scoped to block output only. */
.mk-home {
  --ink: var(--mk-ink, #24242b);
  --muted: var(--mk-muted, #686b61);
  --line: var(--mk-line, #d8d9cf);
  --paper: var(--mk-surface, #efefe7);
  --accent: var(--mk-accent, #d5ee61);
  width: 100%;
  max-width: var(--mk-site-width, 1320px);
  margin-inline: auto;
  color: var(--ink);
}
.mk-home, .mk-home * { box-sizing: border-box; }
.mk-home [hidden] { display: none !important; }
.mk-home a { color: inherit; }
.mk-home-eyebrow {
  display: block;
  margin: 0 0 11px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.mk-home-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 26px;
}
.mk-home-section-head h2 { margin: 0; font-size: clamp(2.2rem, 4.6vw, 4.6rem); }
.mk-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

/* Text-only playground. There are no images, cards or media placeholders. */
.mk-home-edit,
.mkb-section--playground {
  --canvas: var(--mk-canvas, #17142d);
  --type: var(--mk-canvas-type, #f5f3ff);
  --quiet: color-mix(in srgb, var(--type) 67%, transparent);
  --edge: color-mix(in srgb, var(--type) 23%, transparent);
  position: relative;
  isolation: isolate;
  width: 100%;
  color: var(--type);
  background: var(--canvas);
}
.mk-home-edit::before,
.mkb-section--playground::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: var(--canvas);
  box-shadow: 0 0 0 100vmax var(--canvas);
  clip-path: inset(0 -100vmax);
}
.mk-type-showcase { width: 100%; min-width: 0; color: var(--type); }
.mk-type-live { width: 100%; }
.mk-type-toolbar,
.mk-type-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.mk-type-label { font-size: .66rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.mk-type-live-dot { display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-radius: 50%; background: var(--accent); }
.mk-type-actions { justify-content: flex-end; }
.mk-type-pause {
  min-height: 32px;
  padding: 4px 0;
  color: var(--quiet);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--edge);
  font-size: .72rem;
}
.mk-type-caption {
  padding-top: 15px;
  border-top: 1px solid var(--edge);
  color: var(--type);
  font-size: .78rem;
}
.mk-type-caption > span { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.mk-type-caption strong { font-size: .9rem; font-weight: 600; }
.mk-type-caption [data-type-style] { color: var(--quiet); }
.mk-type-caption a { font-weight: 600; text-decoration: none; white-space: nowrap; }
.mk-type-caption a:hover { text-decoration: underline; }
.mk-type-status { position: absolute; }
.mk-type-static-specimen {
  display: grid;
  place-items: center;
  align-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  color: inherit;
  font-size: clamp(48px, 9vw, 126px);
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-align: center;
}
.mk-type-static-specimen > span { display: block; width: 100%; white-space: nowrap; }

/* Product sections. */
.mkb-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--mkb-grid-min, 260px)), 1fr));
  gap: var(--mkb-grid-gap, 22px);
  width: 100%;
}
.mk-home-search {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(260px, 420px);
  align-items: center;
  gap: 24px;
  margin-top: 40px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.mk-home-search > label { color: var(--muted); font-size: .9rem; }
.mk-home-search > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  gap: 0;
  min-width: 0;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent);
}
.mk-home .mk-home-search input[type="search"] {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 16px;
  background: transparent;
  border: 0;
  border-radius: 7px;
  box-shadow: none;
  outline: 0;
}
.mk-home .mk-home-search input[type="search"]:focus { box-shadow: none; }
.mk-home-search > div:focus-within { border-color: var(--ink); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ink) 10%, transparent); }
.mk-home-search button {
  display: inline-grid;
  place-items: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 0;
  padding: 0;
  color: var(--ink);
  background: #f2f2f4;
  border: 0;
  border-radius: 9px;
  box-shadow: none;
  cursor: pointer;
}
.mk-home-search button:hover { background: #e8e8ec; opacity: 1; }
.mk-home-search button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.mk-home-search button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Popular-font list. */
.mk-home-ranking { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.mk-home-ranking > li { margin: 0; padding: 0; border-bottom: 1px solid var(--line); }
.mk-home-ranking > li > a {
  display: grid;
  grid-template-columns: 38px minmax(180px, .8fr) minmax(260px, 1.4fr) auto;
  align-items: center;
  gap: clamp(16px, 3vw, 36px);
  min-height: 112px;
  padding: 16px 8px;
  text-decoration: none;
}
.mk-home-rank { color: var(--muted); font-size: .75rem; }
.mk-home-rank-name h3 { margin: 0 0 5px; font-size: clamp(1.25rem, 2vw, 1.75rem); }
.mk-home-rank-name small { color: var(--muted); font-size: .78rem; }
.mk-home-rank-preview { display: grid; place-items: center; min-width: 0; height: 94px; min-height: 94px; box-sizing: border-box; padding: 8px 18px; overflow: hidden; background: var(--paper); }
.mk-home-rank-preview [data-font-sample] { display: block; width: 100%; text-align: center; white-space: nowrap; }
.mk-home-rank-art { width: 100%; height: 78px; }
.mk-home-rank-art img { width: 100%; height: 100%; object-fit: contain; }
.mk-home-price { font-size: .94rem; font-weight: 600; white-space: nowrap; }
.mk-home-price del { color: var(--muted); font-weight: 400; }
.mk-home-price ins { background: transparent; text-decoration: none; }

.mkb-empty { padding: 28px; border: 1px dashed var(--line); }

@media (max-width: 820px) {
  .mk-home-section-head { align-items: flex-start; flex-direction: column; }
  .mk-home-search { grid-template-columns: 1fr; }
  .mk-home-ranking > li > a { grid-template-columns: 32px minmax(0, 1fr) auto; }
  .mk-home-rank-preview { display: none; }
}
@media (max-width: 520px) {
  .mk-home-ranking > li > a { grid-template-columns: 26px minmax(0, 1fr); }
  .mk-home-ranking .mk-home-price { grid-column: 2; justify-self: start; }
}

/* Text-only kinetic typography. Every real font is loaded and fitted before motion begins.
   Every real font is loaded and fitted before motion begins. The stage clips
   only its outer boundary so text cannot enter the caption; generous safe-area
   padding and ink-bound fitting protect scripts, italics and long swashes. */
.mk-type-showcase{
  --mk-motion-distance:28px;
  --mk-motion-duration:760ms;
  --mk-motion-stagger:48ms;
}
.mk-type-showcase[data-motion-intensity="calm"]{
  --mk-motion-distance:16px;
  --mk-motion-duration:620ms;
  --mk-motion-stagger:38ms;
}
.mk-type-showcase[data-motion-intensity="dramatic"]{
  --mk-motion-distance:42px;
  --mk-motion-duration:900ms;
  --mk-motion-stagger:58ms;
}
.mk-type-live{
  padding:22px 30px 18px;
}
.mk-type-toolbar{
  min-height:34px;
}
.mk-type-actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.mk-type-counter{
  color:var(--quiet);
  font-size:10px;
  letter-spacing:.08em;
  white-space:nowrap;
}
.mk-type-stage{
  position:relative!important;
  display:block!important;
  width:100%;
  height:var(--mkb-stage-height,clamp(340px,38vw,520px))!important;
  min-height:280px!important;
  padding:0!important;
  overflow:hidden!important;
  isolation:isolate;
  contain:layout paint;
}
.mk-type-slide{
  position:absolute!important;
  inset:0;
  display:grid!important;
  place-items:center;
  width:100%;
  max-width:none!important;
  min-width:0;
  padding:clamp(34px,5vw,72px) clamp(30px,7vw,108px)!important;
  overflow:visible!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:0;
  transition:opacity 320ms cubic-bezier(.4,0,.2,1),visibility 0s linear 320ms!important;
}
.mk-type-slide:not(.is-loaded),
.mk-type-slide.is-failed{
  display:none!important;
}
.mk-type-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
  transition-delay:0s!important;
}
.mk-type-slide.is-leaving{
  display:grid!important;
  opacity:0;
  visibility:visible;
  pointer-events:none;
  z-index:1;
  transition:opacity 320ms cubic-bezier(.4,0,.2,1),visibility 0s linear 320ms!important;
}
.mk-type-specimen.mk-type-specimen--kinetic{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:0!important;
  overflow:visible!important;
  color:inherit;
  font-weight:400;
  font-synthesis:none;
  text-align:center;
  text-rendering:optimizeLegibility;
  filter:none!important;
  transform:none!important;
  transition:none!important;
}
.mk-type-line{
  position:relative;
  display:block;
  min-width:0;
  min-height:0!important;
  padding:.10em .22em .16em;
  margin:-.10em -.22em -.16em;
  overflow:visible!important;
  white-space:nowrap;
}
.mk-type-line:empty{display:none}
.mk-type-line-ink,
.mk-type-glyph,
.mk-type-focus-word,
.mk-type-recompose-word{
  color:inherit;
  font:inherit;
  text-decoration:none;
  text-shadow:none;
  -webkit-font-smoothing:antialiased;
  backface-visibility:hidden;
}
.mk-type-line-ink{
  display:inline-block;
  white-space:pre;
}

/* 1 — opposing line movement with a tracking settle. Connected scripts use
   the same choreography without a clipping mask, preserving long flourishes. */
.mk-motion-editorial .mk-type-line{
  padding:.22em .34em .28em;
  margin:-.22em -.34em -.28em;
  overflow:visible!important;
}
.mk-motion-editorial[data-font-kind="script"] .mk-type-line{
  padding:.14em .28em .22em;
  margin:-.14em -.28em -.22em;
  overflow:visible!important;
}
.mk-motion-editorial .mk-type-line-ink{
  opacity:0;
  transform:translateX(calc(var(--mk-motion-distance) * -1));
  letter-spacing:.025em;
}
.mk-motion-editorial .mk-type-line:nth-child(2) .mk-type-line-ink{
  transform:translateX(var(--mk-motion-distance));
}
.mk-motion-editorial.is-running .mk-type-line:first-child .mk-type-line-ink{
  animation:mkEditorialLeft var(--mk-motion-duration) cubic-bezier(.16,1,.3,1) 70ms both;
}
.mk-motion-editorial.is-running .mk-type-line:nth-child(2) .mk-type-line-ink{
  animation:mkEditorialRight calc(var(--mk-motion-duration) + 70ms) cubic-bezier(.16,1,.3,1) 170ms both;
}
@keyframes mkEditorialLeft{
  0%{opacity:0;transform:translateX(calc(var(--mk-motion-distance) * -1));letter-spacing:.025em}
  22%{opacity:1}
  100%{opacity:1;transform:translateX(0);letter-spacing:0}
}
@keyframes mkEditorialRight{
  0%{opacity:0;transform:translateX(var(--mk-motion-distance));letter-spacing:.025em}
  22%{opacity:1}
  100%{opacity:1;transform:translateX(0);letter-spacing:0}
}

/* 2 — measured glyph arrival. This effect is never assigned to connected
   script fonts, so glyph shaping and joining are not broken. */
.mk-motion-cascade .mk-type-glyph{
  display:inline-block;
  opacity:0;
  transform:translateY(.16em);
  transform-origin:50% 80%;
}
.mk-motion-cascade.is-running .mk-type-glyph{
  animation:mkGlyphIn 600ms cubic-bezier(.16,1,.3,1) var(--mk-item-delay,90ms) both;
}
.mk-motion-cascade .mk-type-line:nth-child(2){padding-top:.03em}
@keyframes mkGlyphIn{
  0%{opacity:0;transform:translateY(.16em)}
  100%{opacity:1;transform:translateY(0)}
}

/* 3 — a stable phrase with one word receiving the visual accent. No text is
   borrowed from another slide, so product names and phrases never get mixed. */
.mk-motion-focus .mk-type-line:first-child .mk-type-line-ink{
  opacity:0;
  transform:translateY(.12em);
}
.mk-motion-focus.is-running .mk-type-line:first-child .mk-type-line-ink{
  animation:mkFocusLead 620ms cubic-bezier(.16,1,.3,1) 70ms both;
}
.mk-type-focus-word{
  position:relative;
  display:inline-block;
  opacity:0;
  transform:translateY(.14em);
}
.mk-motion-focus.is-running .mk-type-focus-word{
  animation:mkFocusWord 620ms cubic-bezier(.16,1,.3,1) var(--mk-item-delay,100ms) both;
}
.mk-type-focus-word.is-focus::after{
  content:"";
  position:absolute;
  right:0;
  bottom:.02em;
  left:0;
  height:max(2px,.045em);
  border-radius:99px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left center;
}
.mk-motion-focus.is-running .mk-type-focus-word.is-focus::after{
  animation:mkFocusRule 720ms cubic-bezier(.16,1,.3,1) 720ms both;
}
@keyframes mkFocusLead{
  to{opacity:1;transform:translateY(0)}
}
@keyframes mkFocusWord{
  to{opacity:1;transform:translateY(0)}
}
@keyframes mkFocusRule{
  to{transform:scaleX(1)}
}

/* 4 — words gather near the visual centre and settle into their natural,
   already-fitted line positions. JavaScript supplies bounded FLIP offsets;
   this CSS fallback remains safe when Web Animations is unavailable. */
.mk-type-recompose-word{
  display:inline-block;
  opacity:0;
}
.mk-motion-recompose:not(.has-waapi-motion).is-running .mk-type-recompose-word{
  animation:mkRecomposeFallback 720ms cubic-bezier(.16,1,.3,1) var(--mk-item-delay,100ms) both;
}
@keyframes mkRecomposeFallback{
  0%{opacity:0;transform:translateY(.14em)}
  100%{opacity:1;transform:translateY(0)}
}

/* 5 — a crisp tracking and baseline settle. The engine avoids this effect on
   connected scripts and long phrases; there is no synthetic weight morphing. */
.mk-motion-tracking .mk-type-line-ink{
  opacity:0;
  letter-spacing:.04em;
  transform:translateY(.10em);
}
.mk-motion-tracking.is-running .mk-type-line:first-child .mk-type-line-ink{
  animation:mkTrackingSettle 820ms cubic-bezier(.16,1,.3,1) 80ms both;
}
.mk-motion-tracking.is-running .mk-type-line:nth-child(2) .mk-type-line-ink{
  animation:mkTrackingSettle 860ms cubic-bezier(.16,1,.3,1) 180ms both;
}
@keyframes mkTrackingSettle{
  0%{opacity:0;letter-spacing:.04em;transform:translateY(.10em)}
  24%{opacity:1}
  100%{opacity:1;letter-spacing:0;transform:translateY(0)}
}

/* Loading state remains text only and occupies exactly the same stage. */
.mk-type-fallback{
  width:100%;
  height:var(--mkb-stage-height,clamp(340px,38vw,520px));
  min-height:280px;
  padding:clamp(34px,5vw,72px) clamp(30px,7vw,108px);
  overflow:hidden;
}
.mk-type-static-specimen{
  padding:0!important;
  font-size:clamp(48px,9vw,126px);
  line-height:1.08;
}

/* Caption, scene count and keyboard-accessible scene dots. */
.mk-type-caption{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px 20px;
}
.mk-type-caption>span{
  min-width:0;
}
.mk-type-caption [data-type-motion]{
  color:var(--quiet);
  font-size:10px;
  white-space:nowrap;
}
.mk-type-caption [data-type-motion]:not(:empty)::before{
  content:"·";
  padding:0 7px 0 3px;
}
.mk-type-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-width:42px;
}
.mk-type-dots[hidden]{display:none!important}
.mk-type-dot{
  display:grid!important;
  place-items:center;
  width:26px!important;
  height:26px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:99px!important;
  background:transparent!important;
  color:inherit;
}
.mk-type-dot::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:99px;
  background:var(--quiet);
  opacity:.58;
  transition:width 200ms ease,background 200ms ease,opacity 200ms ease;
}
.mk-type-dot[aria-current="true"]::before{
  width:18px;
  background:var(--accent);
  opacity:1;
}
.mk-type-dot:disabled{opacity:.24;cursor:default}
.mk-type-dot:focus-visible{outline:1px solid var(--type)!important;outline-offset:0!important}

@media(max-width:1023px){
  .mk-type-live{padding:20px 24px 16px}
  .mk-type-slide{padding:32px clamp(24px,5vw,62px)!important}
  .mk-type-fallback{padding:32px clamp(24px,5vw,62px)}
}
@media(max-width:767px){
  .mk-type-live{padding:16px 16px 12px}
  .mk-type-stage,
  .mk-type-fallback{
    height:var(--mkb-stage-height,clamp(270px,82vw,390px))!important;
    min-height:250px!important;
  }
  .mk-type-slide{padding:28px 16px!important}
  .mk-type-fallback{padding:28px 16px}
  .mk-type-line{padding-inline:.26em;margin-inline:-.26em}
  .mk-type-caption{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}
  .mk-type-caption>a{grid-column:1/-1;justify-self:start}
  .mk-type-dots{justify-self:end}
  .mk-type-counter{display:none}
  .mk-type-caption [data-type-motion]{display:block;margin-top:3px}
  .mk-type-caption [data-type-motion]::before{display:none}
}
@media(max-width:390px){
  .mk-type-slide{padding-inline:10px!important}
  .mk-type-fallback{padding-inline:10px}
  .mk-type-dot{width:23px!important;height:23px!important}
  .mk-type-caption{gap:8px 10px}
}
@media(prefers-reduced-motion:reduce){
  .mk-type-slide,
  .mk-type-slide.is-leaving,
  .mk-type-line-ink,
  .mk-type-glyph,
  .mk-type-focus-word,
  .mk-type-recompose-word,
  .mk-type-focus-word::after,
  .mk-type-dot::before{
    animation:none!important;
    transition:none!important;
  }
  .mk-type-slide.is-active{opacity:1!important;visibility:visible!important}
  .mk-type-line-ink,
  .mk-type-glyph,
  .mk-type-focus-word,
  .mk-type-recompose-word{
    opacity:1!important;
    transform:none!important;
    letter-spacing:0!important;
  }
  .mk-type-focus-word.is-focus::after{transform:scaleX(1)!important}
}
.mk-type-line.is-empty{display:none!important}

/* Keep OpenType shaping intact during every motion phase. */
.mk-type-specimen, .mk-type-specimen *, .mk-type-static-specimen {
  font-kerning: normal;
  font-variant-ligatures: common-ligatures discretionary-ligatures contextual;
  font-feature-settings: "liga" 1, "clig" 1, "calt" 1, "dlig" 1;
  letter-spacing: 0 !important;
}

/* No line masks: swashes and descenders can extend beyond the text box. */
.mk-type-specimen--kinetic .mk-type-line { overflow: visible !important; }
.mk-type-specimen--kinetic .mk-type-line.is-empty { display: none; }
/* Keep captions stable while the first font loads. */
.mk-type-fallback { margin-bottom: 72px; }

/* Complete phrases enter together, with room in each painted text layer. */
.mk-type-specimen--kinetic .mk-type-line-ink {
  padding: .3em .35em;
  margin: -.3em -.35em;
  backface-visibility: visible;
  opacity: 1;
  transform: none;
}
.mk-type-slide.is-running .mk-type-specimen--kinetic .mk-type-line .mk-type-line-ink {
  animation: mkWholePhraseIn 600ms cubic-bezier(.16,1,.3,1) 0ms both;
}
@keyframes mkWholePhraseIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .mk-type-slide.is-running .mk-type-specimen--kinetic .mk-type-line .mk-type-line-ink { animation: none !important; }
}

.mk-motion-editorial.is-running .mk-type-specimen--kinetic .mk-type-line .mk-type-line-ink { animation-name: mkWholePhraseSide; }
.mk-motion-tracking.is-running .mk-type-specimen--kinetic .mk-type-line .mk-type-line-ink { animation-name: mkWholePhraseFade; }
@keyframes mkWholePhraseSide {
  from { opacity: 0; transform: translateX(-12px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes mkWholePhraseFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Reserve the live shell; reveal only specimens whose own font has loaded. */
.mk-type-slide[hidden], .mk-type-loading[hidden] { display:none!important; }
.mk-type-loading { position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;font:400 var(--mk-ui-size,15px)/1.5 var(--mk-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);color:var(--quiet,#8e9481); }
.mk-type-caption { --mk-caption-reserve:80px;min-height:var(--mk-caption-reserve); }
.mk-type-showcase:not([data-font-ready="1"]) .mk-type-caption { visibility:hidden; }
@media(max-width:767px) { .mk-type-caption { --mk-caption-reserve:144px; } }
@media(max-width:380px) { .mk-type-caption { --mk-caption-reserve:272px; } }

/* Reserved font-loading state. The stage keeps its final height and no
   fallback product font is exposed while the exact FontFace is being fetched. */
.mk-type-loading{
  gap:10px;
  align-content:center;
  justify-items:center;
  font-family:var(--mk-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
}
.mk-type-loading::before{
  content:"";
  display:block;
  width:16px;
  height:16px;
  border:1.5px solid rgba(142,148,129,.24);
  border-top-color:var(--ink,#24272f);
  border-radius:50%;
  animation:mkHomeFontSpin .72s linear infinite;
}
@keyframes mkHomeFontSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.mk-type-loading::before{animation-duration:1.6s}}
