.mk-g {
  display: inline-block;
}

[data-motion="playing"] .mk-g {
  will-change: transform;
}

.mk-w {
  display: inline-block;
  white-space: nowrap;
}

[data-mark~="typeset"] {
  position: relative;
}

.mk-caret {
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  background: var(--blue);
  pointer-events: none;
  transform-origin: 50% 100%;
}

[data-mark~="hero"] [data-mark~="typeset"] em {
  color: var(--blue);
  text-shadow: 0 0 0 transparent;
  transition: text-shadow var(--dur-second-print) var(--ease-draw);
}

[data-mark~="hero"] [data-mark~="typeset"].printed em {
  text-shadow: var(--register-offset) 0 var(--signal);
}

[data-mark~="section"],
[data-mark~="portrait"] [data-rive] {
  position: relative;
}

.ink-veil {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
}

[data-mark~="pen-underline"],
[data-mark~="pen-circle"],
[data-mark~="pen-keep"] {
  position: relative;
  display: inline-block;
}

.penmark {
  position: absolute;
  left: 0;
  top: 0;
  overflow: visible;
  pointer-events: none;
}

.penmark path {
  fill: none;
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
}

[data-mark~="pen-underline"].mk-marked,
[data-mark~="pen-keep"].mk-marked {
  text-decoration-color: transparent;
}

[data-mark~="ruler"] line,
[data-mark-role="plate-marks"] line,
[data-mark-role="plate-marks"] path,
[data-mark-role="dimension"] line {
  stroke: var(--pencil);
  stroke-width: 1;
  fill: none;
}

svg[data-mark~="ruler"] {
  display: block;
  width: 100%;
  height: 22px;
  overflow: visible;
}

[data-mark-role="plate-marks"] {
  position: absolute;
  left: -30px;
  top: -14px;
  width: calc(100% + 44px);
  height: calc(100% + 28px);
  overflow: visible;
  pointer-events: none;
  z-index: 6;
}

[data-mark-role="dimension"] {
  height: 10px;
  overflow: visible;
}

[data-mark~="field-pen"] {
  position: relative;
}

[data-mark~="field-pen"] svg {
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 8px;
  overflow: visible;
  pointer-events: none;
}

canvas[data-mark~="pencil-trail"] {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 40;
}

[data-mark~="field-pen"] svg path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 2;
  stroke-linecap: round;
}

[data-mark~="subscribe-tick"] button svg {
  width: 30px;
  height: 22px;
  vertical-align: -4px;
  overflow: visible;
}

[data-mark~="subscribe-tick"] button svg path {
  fill: none;
  stroke: var(--signal);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

svg.motion-defs {
  position: absolute;
}

[data-mark~="sketch"] {
  position: relative;
}

[data-mark~="sketch"] canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  mix-blend-mode: multiply;
  filter: grayscale(1);
}

@keyframes motion-fallback {
  to {
    opacity: 1;
  }
}

@media screen and (prefers-reduced-motion: no-preference) {
  [data-mark~="typeset"]:not([data-motion]),
  [data-mark~="hero"]:not([data-motion]) [data-mark-role="lede"],
  [data-mark~="hero"]:not([data-motion]) [data-mark-role="ctas"],
  [data-mark~="hero"]:not([data-motion]) [data-mark-role="titleblock"],
  [data-mark~="portrait"]:not([data-motion]),
  [data-mark~="section"]:not([data-motion]) {
    opacity: 0;
    animation: motion-fallback 0s var(--delay-motion-fallback) forwards;
  }
}

@media print {
  .ink-veil,
  .mk-caret {
    display: none;
  }

  .mk-g {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-mark~="hero"] [data-mark~="typeset"] em {
    transition: none;
  }
}
