/* [project]/workspace/src/components/heroes/visit-hero.module.css [client] (css) */
.visit-hero-module___kgWoG__stage {
  --orange: color-mix(in oklab, var(--c-signal) 55%, var(--c-brass));
}

.visit-hero-module___kgWoG__layer {
  will-change: opacity;
}

.visit-hero-module___kgWoG__trace {
  fill: none;
  stroke-dasharray: 1 2;
  stroke-dashoffset: 0;
}

.js .visit-hero-module___kgWoG__trace {
  stroke-dashoffset: 1px;
}

.js .visit-hero-module___kgWoG__traced .visit-hero-module___kgWoG__trace {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset var(--t, 3s) cubic-bezier(.45, 0, .2, 1) var(--d, 0s);
}

.visit-hero-module___kgWoG__line {
  stroke: var(--c-star);
  stroke-opacity: .14;
  stroke-width: calc(var(--u, 1) * .75px);
}

.visit-hero-module___kgWoG__index {
  stroke: var(--c-star);
  stroke-opacity: .27;
  stroke-width: calc(var(--u, 1) * .9px);
}

.visit-hero-module___kgWoG__coast {
  stroke: var(--c-star-2);
  stroke-opacity: .5;
  stroke-width: calc(var(--u, 1) * 1px);
}

.visit-hero-module___kgWoG__river {
  stroke: color-mix(in oklab, var(--c-star-2) 55%, var(--c-sky));
  stroke-opacity: .5;
  stroke-width: calc(var(--u, 1) * .9px);
}

.visit-hero-module___kgWoG__road {
  stroke: var(--c-star-3);
  stroke-opacity: .32;
  stroke-width: calc(var(--u, 1) * .8px);
}

.visit-hero-module___kgWoG__motorway {
  stroke: var(--c-star-3);
  stroke-opacity: .45;
  stroke-width: calc(var(--u, 1) * 1.5px);
}

.visit-hero-module___kgWoG__labels {
  opacity: 1;
}

.js .visit-hero-module___kgWoG__labels {
  opacity: 0;
}

.js .visit-hero-module___kgWoG__traced .visit-hero-module___kgWoG__labels {
  opacity: 1;
  transition: opacity 2.2s 2.2s;
}

.visit-hero-module___kgWoG__place {
  fill: var(--c-star-3);
  font-family: var(--font-app-mono, ui-monospace, monospace);
  letter-spacing: .16em;
}

.visit-hero-module___kgWoG__region {
  fill: var(--c-star-3);
  fill-opacity: .55;
  font-family: var(--font-app-heading, Georgia, serif);
  letter-spacing: .3em;
  font-style: italic;
}

.visit-hero-module___kgWoG__town {
  fill: var(--c-star-2);
}

.visit-hero-module___kgWoG__peak {
  fill: none;
  stroke: var(--c-star-3);
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__stars {
  fill: var(--c-star);
}

:is(.js .visit-hero-module___kgWoG__instant .visit-hero-module___kgWoG__trace, .js .visit-hero-module___kgWoG__instant .visit-hero-module___kgWoG__labels) {
  transition: none;
}

.visit-hero-module___kgWoG__ghost {
  fill: none;
  stroke: var(--c-brass);
  stroke-opacity: .16;
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__route {
  fill: none;
  stroke: var(--c-brass);
  stroke-linecap: round;
}

.visit-hero-module___kgWoG__startRing {
  fill: var(--c-ink);
  stroke: var(--c-brass);
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__markerRing {
  fill: none;
  stroke: color-mix(in oklab, var(--c-brass) 55%, transparent);
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__markerDot {
  fill: var(--c-brass);
}

.visit-hero-module___kgWoG__markerText {
  fill: var(--c-star);
  font-family: var(--font-app-mono, ui-monospace, monospace);
  letter-spacing: .08em;
  paint-order: stroke;
  stroke: var(--c-ink);
  stroke-width: 3px;
  stroke-linejoin: round;
  font-size: 10.5px;
}

.visit-hero-module___kgWoG__halo {
  pointer-events: none;
  background-image: radial-gradient(circle closest-side,
        color-mix(in oklab, var(--orange) 62%, transparent) 0%,
        color-mix(in oklab, var(--orange) 34%, transparent) 16%,
        color-mix(in oklab, var(--orange) 13%, transparent) 42%,
        color-mix(in oklab, var(--orange) 4%, transparent) 72%,
        transparent 100%);
  mix-blend-mode: screen;
  will-change: transform, opacity;
  border-radius: 9999px;
  position: absolute;
  transform: translate(-50%, -50%);
}

.visit-hero-module___kgWoG__halo:after {
  content: "";
  background-image: radial-gradient(circle closest-side, color-mix(in oklab, var(--c-star) 55%, var(--orange)) 0%, transparent 100%);
  opacity: .55;
  border-radius: 9999px;
  animation: 6s ease-in-out infinite visit-hero-module___kgWoG__visit-breathe;
  position: absolute;
  inset: 41%;
}

@keyframes visit-hero-module___kgWoG__visit-breathe {
  0%, 100% {
    opacity: .4;
  }

  50% {
    opacity: .7;
  }
}

.visit-hero-module___kgWoG__wash {
  pointer-events: none;
  background-image: radial-gradient(circle farthest-corner at var(--hx, 100%) var(--hy, 70%),
        color-mix(in oklab, var(--orange) 18%, transparent) 0%,
        color-mix(in oklab, var(--orange) 6%, transparent) 45%,
        transparent 85%);
  will-change: opacity;
  position: absolute;
  inset: 0;
}

.visit-hero-module___kgWoG__shade {
  pointer-events: none;
  background-image: radial-gradient(ellipse 75% 70% at 50% 42%, transparent 30%, color-mix(in oklab, var(--c-ink) 80%, transparent) 100%);
  opacity: .2;
  will-change: opacity;
  position: absolute;
  inset: 0;
}

.visit-hero-module___kgWoG__legibility {
  pointer-events: none;
  background-image: linear-gradient(to top, var(--c-ink) 0%, color-mix(in oklab, var(--c-ink) 72%, transparent) 45%, transparent 100%);
  height: 54%;
  position: absolute;
  inset: auto 0 0;
}

@media (min-width: 40rem) {
  .visit-hero-module___kgWoG__legibility {
    background-image: radial-gradient(ellipse 100% 100% at 0% 100%, var(--c-ink) 0%, color-mix(in oklab, var(--c-ink) 70%, transparent) 42%, transparent 75%);
    width: 72%;
    height: 72%;
    inset: auto auto 0 0;
  }
}

.visit-hero-module___kgWoG__site {
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
}

.visit-hero-module___kgWoG__pulse {
  border: 1px solid color-mix(in oklab, var(--c-brass) 70%, transparent);
  border-radius: 9999px;
  width: 3.5rem;
  height: 3.5rem;
  animation: 3.4s cubic-bezier(.22, .61, .36, 1) infinite visit-hero-module___kgWoG__visit-pulse;
  position: absolute;
  top: -1.75rem;
  left: -1.75rem;
}

.visit-hero-module___kgWoG__pulseLate {
  animation-delay: 1.7s;
}

@keyframes visit-hero-module___kgWoG__visit-pulse {
  0% {
    opacity: .9;
    transform: scale(.42);
  }

  100% {
    opacity: 0;
    transform: scale(1.75);
  }
}

.visit-hero-module___kgWoG__dome {
  width: 44px;
  height: 36px;
  position: absolute;
  top: -22px;
  left: -22px;
  overflow: visible;
}

.visit-hero-module___kgWoG__domeBase {
  fill: none;
  stroke: color-mix(in oklab, var(--c-brass) 60%, transparent);
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__domeDrum {
  fill: var(--c-ink);
  stroke: var(--c-brass);
  stroke-width: 1px;
}

.visit-hero-module___kgWoG__domeShell {
  fill: var(--c-brass);
  stroke: var(--c-ink);
  stroke-width: .9px;
}

.visit-hero-module___kgWoG__domeSlit {
  fill: none;
  stroke: var(--c-star);
  stroke-width: 4px;
  stroke-linecap: round;
}

.visit-hero-module___kgWoG__domeLabel {
  white-space: nowrap;
  position: absolute;
  top: -1.75rem;
  left: 1.4rem;
}

.visit-hero-module___kgWoG__beam {
  transform-origin: 50% 100%;
  opacity: 0;
  will-change: transform, opacity;
  width: 14rem;
  height: min(44svh, 24rem);
  position: absolute;
  bottom: 10px;
  left: -7rem;
  transform: scaleY(0);
}

.visit-hero-module___kgWoG__beam:before, .visit-hero-module___kgWoG__beam:after {
  content: "";
  position: absolute;
  inset: 0;
}

.visit-hero-module___kgWoG__beam:before {
  background-image: conic-gradient(from -15deg at 50% 100%,
        transparent 0deg,
        color-mix(in oklab, var(--c-star) 20%, transparent) 11deg,
        color-mix(in oklab, var(--c-star) 20%, transparent) 19deg,
        transparent 30deg);
  -webkit-mask-image: linear-gradient(to top, #000 0%, #00000073 45%, #0000 95%);
  mask-image: linear-gradient(to top, #000 0%, #00000073 45%, #0000 95%);
}

.visit-hero-module___kgWoG__beam:after {
  clip-path: polygon(49.1% 100%, 50.9% 100%, 54.5% 0, 45.5% 0);
  background-image: linear-gradient(to top, color-mix(in oklab, var(--c-star) 92%, transparent) 0%, color-mix(in oklab, var(--c-star) 30%, transparent) 40%, transparent 90%);
}

.visit-hero-module___kgWoG__rise {
  animation: 1.6s cubic-bezier(.22, 1, .36, 1) .45s both visit-hero-module___kgWoG__visit-rise;
}

.visit-hero-module___kgWoG__second {
  animation-delay: .7s;
}

.visit-hero-module___kgWoG__third {
  animation-delay: 1.8s;
}

@keyframes visit-hero-module___kgWoG__visit-rise {
  from {
    opacity: 0;
    transform: translate3d(0, .85rem, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.visit-hero-module___kgWoG__cue {
  transform-origin: 0;
  animation: 2.8s ease-in-out infinite visit-hero-module___kgWoG__visit-cue;
}

@keyframes visit-hero-module___kgWoG__visit-cue {
  0%, 100% {
    opacity: .45;
    transform: scaleX(.35);
  }

  50% {
    opacity: 1;
    transform: scaleX(1);
  }
}

.visit-hero-module___kgWoG__late {
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, .75rem, 0);
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__trace {
  stroke-dashoffset: 0 !important;
  transition: none !important;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__labels {
  opacity: 1 !important;
  transition: none !important;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__late {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__rise {
  animation: none;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__cue {
  animation: none;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__halo:after {
  animation: none;
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__pulse {
  opacity: .5;
  animation: none;
  transform: scale(.8);
}

html[data-motion="reduced"] .visit-hero-module___kgWoG__pulseLate {
  display: none;
}

/*# sourceMappingURL=workspace_src_components_heroes_visit-hero_module_0rsec45.css.map*/