/* [next]/internal/font/google/archivo_cecb578f.module.css [app-client] (css) */
@font-face {
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../media/2e482247ef29dcb9-s.3gj6ciom31zjc.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../media/068feab4deafcd0f-s.0_kz_z3o_slvt.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Archivo;
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../media/db545dba463279ae-s.p.1cp9-4nby68jc.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Archivo Fallback;
  src: local(Arial);
  ascent-override: 88.96%;
  descent-override: 21.28%;
  line-gap-override: 0.0%;
  size-adjust: 98.7%;
}

.archivo_cecb578f-module__6l-kQq__className {
  font-family: Archivo, Archivo Fallback;
  font-style: normal;
}

.archivo_cecb578f-module__6l-kQq__variable {
  --font-archivo: "Archivo", "Archivo Fallback";
}

/* [next]/internal/font/google/source_serif_4_a5557222.module.css [app-client] (css) */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/6481e8356700f25f-s.22-vwy_zcz7be.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/3a41be36334ec777-s.3_q_pmj-3v7pv.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/6aca2b2dd1e73eb2-s.0kupvvif_223v.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/f0ca9ca26c218c3f-s.11jlrhjosin9v.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/53184f85607312d4-s.3z1vcboutudqk.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../media/7c42b85337e0c4bb-s.p.012bmydply3go.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Source Serif 4 Fallback";
  src: local(Times New Roman);
  ascent-override: 87.87%;
  descent-override: 28.41%;
  line-gap-override: 0.0%;
  size-adjust: 117.91%;
}

.source_serif_4_a5557222-module__Uwc-hq__className {
  font-family: "Source Serif 4", "Source Serif 4 Fallback";
  font-style: normal;
}

.source_serif_4_a5557222-module__Uwc-hq__variable {
  --font-source-serif: "Source Serif 4", "Source Serif 4 Fallback";
}

/* [project]/styles/tokens.css [app-client] (css) */
:root {
  --yew: #1f3a2e;
  --moss: #5c7a3d;
  --moss-text: #4a6530;
  --gritstone: #e3e6df;
  --limestone: #f5f6f2;
  --peat: #26221d;
  --tarmac: #3b4044;
  --waymark: #e9b92e;
  --fell-sky: #a9bcc4;
  --bg: var(--gritstone);
  --surface: var(--limestone);
  --text: var(--peat);
  --text-muted: #4b4740;
  --heading: var(--yew);
  --link: var(--moss-text);
  --rule: #b9beb3;
  --contour: var(--moss);
  --on-dark: var(--limestone);
  --on-dark-muted: #c9cfc4;
  --font-display: var(--font-archivo), "Arial Narrow", system-ui, sans-serif;
  --font-body: var(--font-source-serif), Georgia, "Times New Roman", serif;
  --step--1: .875rem;
  --step-0: 1rem;
  --step-1: 1.125rem;
  --step-2: 1.5rem;
  --step-3: 2rem;
  --step-4: 2.667rem;
  --step-5: 3.556rem;
  --step-6: 4.741rem;
  --wdth-condensed: 66;
  --wdth-normal: 100;
  --wdth-extended: 122;
  --measure: 66ch;
  --max: 1280px;
  --gutter: clamp(1rem, 4vw, 3rem);
  --space-s: 1rem;
  --space-m: 2rem;
  --space-l: clamp(3rem, 7vw, 6rem);
  --space-xl: clamp(4rem, 10vw, 9rem);
  --radius: 2px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: var(--peat);
    --surface: #312c26;
    --text: var(--limestone);
    --text-muted: #cfd2ca;
    --heading: var(--limestone);
    --link: #8fae6a;
    --rule: #4d473f;
    --contour: #8fae6a;
    --yew: #1a3127;
  }
}

/* [project]/styles/global.css [app-client] (css) */
*, :before, :after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 5rem;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--step-1);
  margin: 0;
  line-height: 1.6;
  overflow-x: clip;
}

img, svg {
  max-width: 100%;
  display: block;
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--heading);
  letter-spacing: -.01em;
  text-wrap: balance;
  font-variation-settings: "wdth" var(--wdth-normal);
  margin: 0 0 .5em;
  font-weight: 850;
  line-height: 1.05;
}

h1 {
  font-size: clamp(var(--step-4), 6vw, var(--step-6));
}

h2 {
  font-size: clamp(var(--step-3), 4vw, var(--step-5));
}

h3 {
  font-size: var(--step-2);
  line-height: 1.15;
}

h4 {
  font-size: var(--step-1);
}

p, ul, ol, dl, blockquote {
  max-width: var(--measure);
  margin: 0 0 1em;
}

a {
  color: var(--link);
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}

a:hover {
  text-decoration-thickness: 2px;
}

strong {
  font-weight: 650;
}

hr {
  border: 0;
  border-top: 1px solid var(--rule);
  margin: var(--space-m) 0;
}

.w-condensed {
  font-variation-settings: "wdth" var(--wdth-condensed);
}

.w-extended {
  font-variation-settings: "wdth" var(--wdth-extended);
  letter-spacing: 0;
}

.w-normal {
  font-variation-settings: "wdth" var(--wdth-normal);
}

:focus-visible {
  outline: 3px solid var(--waymark);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--peat);
  border-radius: var(--radius);
}

.visually-hidden {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute !important;
}

.skip-link {
  z-index: 100;
  background: var(--waymark);
  color: var(--peat);
  font-family: var(--font-display);
  padding: .75rem 1rem;
  font-weight: 700;
  text-decoration: none;
  position: absolute;
  top: -4rem;
  left: 1rem;
}

.skip-link:focus {
  top: 1rem;
}

.wrap {
  width: 100%;
  max-width: var(--max);
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.section {
  padding-block: var(--space-l);
  position: relative;
}

.section--tight {
  padding-block: var(--space-m);
}

.grid {
  gap: var(--space-m) clamp(1rem, 3vw, 2.5rem);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  display: grid;
}

.span-7, .span-5, .span-8, .span-4, .span-6 {
  grid-column: span 12;
}

@media (min-width: 52rem) {
  .span-7 {
    grid-column: span 7;
  }

  .span-5 {
    grid-column: span 5;
  }

  .span-8 {
    grid-column: span 8;
  }

  .span-4 {
    grid-column: span 4;
  }

  .span-6 {
    grid-column: span 6;
  }

  .push-1 {
    grid-column-start: 2;
  }
}

.lede {
  font-size: clamp(var(--step-1), 2vw, var(--step-2));
  max-width: 52ch;
  line-height: 1.45;
}

.muted {
  color: var(--text-muted);
}

.small {
  font-size: var(--step--1);
}

.prose > * + h2 {
  margin-top: var(--space-m);
}

.prose > * + h3 {
  margin-top: 1.5em;
}

.prose li + li {
  margin-top: .35em;
}

.on-yew, .on-tarmac, .on-peat {
  color: var(--on-dark);
  --heading: var(--limestone);
  --link: #b6cf95;
  --text-muted: var(--on-dark-muted);
}

.on-yew {
  background: var(--yew);
}

.on-tarmac {
  background: var(--tarmac);
}

.on-peat {
  background: var(--peat);
}

.on-surface {
  background: var(--surface);
}

.section > .contours {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.section > .wrap {
  position: relative;
}

.btn {
  min-height: 3rem;
  font-family: var(--font-display);
  font-weight: 750;
  font-size: var(--step-1);
  font-variation-settings: "wdth" 90;
  border-radius: var(--radius);
  cursor: pointer;
  border: 2px solid #0000;
  justify-content: center;
  align-items: center;
  padding: .75rem 1.4rem;
  line-height: 1.1;
  text-decoration: none;
  display: inline-flex;
}

.btn--primary {
  background: var(--waymark);
  color: var(--peat);
}

.btn--primary:hover {
  background: #f0c44a;
}

.btn--ghost {
  color: inherit;
  background: none;
  border-color: currentColor;
}

.btn--ghost:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.actions {
  margin-top: var(--space-m);
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.75rem;
  display: flex;
}

.text-link {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-1);
  color: inherit;
}

.site-header {
  z-index: 50;
  background: var(--bg);
  border-bottom: 1px solid #0000;
  position: sticky;
  top: 0;
}

@supports (animation-timeline: scroll()) {
  .site-header {
    animation: linear both header-lift;
    animation-timeline: scroll(root);
    animation-range: 0 80px;
  }

  @keyframes header-lift {
    to {
      border-bottom-color: var(--rule);
      box-shadow: 0 2px 12px #00000014;
    }
  }
}

.site-header__inner {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 4.25rem;
  display: flex;
}

.logo {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  font-variation-settings: "wdth" 110;
  color: var(--heading);
  font-size: 1.75rem;
  font-weight: 900;
  text-decoration: none;
}

.nav {
  display: none;
}

.nav ul {
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2rem);
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nav a:not(.btn) {
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--step-0);
  text-decoration: none;
}

.nav a:not(.btn):hover, .nav a[aria-current="page"] {
  text-decoration: underline;
  -webkit-text-decoration-color: var(--waymark);
  text-decoration-color: var(--waymark);
  text-decoration-thickness: 3px;
}

.nav .btn {
  min-height: 2.5rem;
  font-size: var(--step-0);
  padding: .5rem 1rem;
}

@media (min-width: 52rem) {
  .nav {
    display: block;
  }

  .mobile-nav {
    display: none;
  }
}

.mobile-nav summary {
  cursor: pointer;
  font-family: var(--font-display);
  border-radius: var(--radius);
  border: 2px solid;
  align-items: center;
  min-height: 2.75rem;
  padding: .5rem .9rem;
  font-weight: 700;
  list-style: none;
  display: inline-flex;
}

.mobile-nav summary::-webkit-details-marker {
  display: none;
}

.mobile-nav[open] summary {
  background: var(--peat);
  color: var(--limestone);
}

.mobile-nav__panel {
  background: var(--bg);
  border-bottom: 1px solid var(--rule);
  padding: 1rem var(--gutter) 1.5rem;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}

.mobile-nav__panel ul {
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-nav__panel li a:not(.btn) {
  font-family: var(--font-display);
  font-weight: 650;
  font-size: var(--step-2);
  color: var(--text);
  border-bottom: 1px solid var(--rule);
  padding: .7rem 0;
  text-decoration: none;
  display: block;
}

.mobile-nav__panel .btn {
  width: 100%;
  margin-top: 1rem;
}

.breadcrumbs {
  font-size: var(--step--1);
  padding-top: var(--space-s);
}

.breadcrumbs ol {
  flex-wrap: wrap;
  gap: .25rem .5rem;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.breadcrumbs li + li:before {
  content: "/";
  color: var(--text-muted);
  margin-right: .5rem;
}

.breadcrumbs a {
  color: var(--text-muted);
}

.hero {
  padding-top: clamp(2rem, 6vw, 5rem);
  padding-bottom: 0;
  overflow-x: clip;
}

.hero__title {
  letter-spacing: -.015em;
  text-wrap: nowrap;
  margin-bottom: .4em;
  font-size: clamp(3rem, 9vw, 7.5rem);
  font-weight: 900;
  line-height: .92;
}

.hero__title > span {
  white-space: nowrap;
  display: block;
}

.hero__fast {
  font-variation-settings: "wdth" 62;
}

.hero__last {
  font-variation-settings: "wdth" 115;
  letter-spacing: .005em;
}

.hero__last-b {
  display: inline;
}

@media (max-width: 40rem) {
  .hero__last {
    font-variation-settings: "wdth" 112;
  }

  .hero__last-b {
    display: block;
  }
}

.hero .lede {
  margin-bottom: 0;
}

.elevation {
  width: 100%;
  height: auto;
  margin-top: var(--space-l);
  overflow: visible;
}

.elevation__road, .elevation__trail {
  fill: none;
  stroke: var(--heading);
  stroke-width: 3px;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.elevation__lane {
  fill: none;
  stroke: var(--waymark);
  stroke-width: 4px;
  stroke-dasharray: 18 14;
  vector-effect: non-scaling-stroke;
}

.elevation__fill {
  fill: var(--fell-sky);
  opacity: .35;
}

@media (prefers-color-scheme: dark) {
  .elevation__fill {
    opacity: .18;
  }
}

.elevation-labels {
  font-family: var(--font-display);
  font-size: var(--step--1);
  color: var(--text-muted);
  justify-content: space-between;
  max-width: none;
  margin-top: .4rem;
  display: flex;
}

@media (prefers-reduced-motion: no-preference) {
  .elevation--animate .elevation__road {
    stroke-dasharray: 1;
    stroke-dashoffset: 1px;
    animation: .6s cubic-bezier(.4, 0, .6, 1) .1s forwards draw;
  }

  .elevation--animate .elevation__lane {
    clip-path: inset(0 100% 0 0);
    animation: .6s cubic-bezier(.4, 0, .6, 1) .1s forwards reveal;
  }

  .elevation--animate .elevation__trail {
    stroke-dasharray: 1;
    stroke-dashoffset: 1px;
    animation: 1s cubic-bezier(.3, 0, .4, 1) .7s forwards draw;
  }

  .elevation--animate .elevation__fill {
    opacity: 0;
    animation: .6s ease-out 1.5s forwards fill-in;
  }

  .hero__animate .hero__last {
    animation: 1s cubic-bezier(.3, 0, .4, 1) .7s backwards stretch;
  }

  @keyframes draw {
    to {
      stroke-dashoffset: 0;
    }
  }

  @keyframes reveal {
    to {
      clip-path: inset(0);
    }
  }

  @keyframes fill-in {
    to {
      opacity: .35;
    }
  }

  @keyframes stretch {
    from {
      font-variation-settings: "wdth" 62;
      letter-spacing: -.015em;
    }
  }
}

.lane-divider {
  height: 4px;
  margin: var(--space-m) 0;
  background: repeating-linear-gradient(90deg, var(--waymark) 0 28px, transparent 28px 46px);
  border: 0;
  max-width: none;
}

.contours path {
  fill: none;
  stroke: var(--contour);
  stroke-width: 1.1px;
  vector-effect: non-scaling-stroke;
}

.on-yew .contours path {
  stroke: #8fae6a;
}

.photo-placeholder {
  aspect-ratio: 4 / 3;
  color: var(--limestone);
  font-family: var(--font-display);
  font-size: var(--step--1);
  align-items: flex-end;
  padding: 1rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.photo-placeholder--yew {
  background: var(--yew);
}

.photo-placeholder--tarmac {
  background: var(--tarmac);
}

.photo-placeholder > svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.photo-placeholder span {
  background: var(--peat);
  padding: .3rem .6rem;
  position: relative;
}

.ph {
  background: var(--waymark);
  color: var(--peat);
  font-family: var(--font-display);
  border-radius: var(--radius);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 .3em;
  font-size: .9em;
  font-weight: 650;
}

.pace {
  gap: var(--space-m);
  display: grid;
}

@media (min-width: 52rem) {
  .pace {
    grid-template-columns: 5fr 7fr;
    align-items: start;
  }
}

.founders {
  gap: 0;
  display: grid;
}

@media (min-width: 52rem) {
  .founders {
    grid-template-columns: 1fr 1fr;
  }
}

.founder {
  padding: var(--space-m) var(--gutter) var(--space-l);
}

.founder h3 {
  font-size: clamp(var(--step-3), 3.4vw, var(--step-4));
}

.founder--road {
  background: var(--tarmac);
  color: var(--on-dark);
  --heading: var(--limestone);
}

.founder--trail {
  background: var(--yew);
  color: var(--on-dark);
  --heading: var(--limestone);
  position: relative;
}

.founder .photo-placeholder {
  margin-bottom: var(--space-m);
}

.founder__role {
  font-family: var(--font-display);
  margin-bottom: .5rem;
  font-weight: 650;
}

.pillars {
  gap: var(--space-m);
  counter-reset: pillar;
  display: grid;
}

.pillar {
  padding-block: var(--space-m);
  border-top: 1px solid var(--rule);
  position: relative;
}

.pillar__label {
  font-family: var(--font-display);
  color: var(--link);
  font-weight: 700;
  font-size: var(--step-1);
  margin-bottom: .5rem;
}

.pillar h3 {
  font-size: clamp(var(--step-3), 3.4vw, var(--step-4));
  max-width: 20ch;
}

@media (min-width: 52rem) {
  .pillar {
    gap: var(--space-m);
    grid-template-columns: 4fr 8fr;
    display: grid;
  }

  .pillar:nth-child(2) {
    grid-template-columns: 8fr 4fr;
  }

  .pillar:nth-child(2) .pillar__head {
    order: 2;
  }
}

.pillar--systems {
  background: var(--surface);
  padding-inline: var(--gutter);
  border-top: 0;
}

.time-back {
  gap: var(--space-m);
  align-items: end;
  display: grid;
}

@media (min-width: 52rem) {
  .time-back {
    grid-template-columns: 7fr 5fr;
  }
}

.counter {
  font-family: var(--font-display);
}

.counter__n {
  font-size: clamp(var(--step-5), 9vw, 8rem);
  color: var(--heading);
  font-variation-settings: "wdth" 80;
  font-weight: 900;
  line-height: 1;
  display: block;
}

.ways {
  gap: 0;
  display: grid;
}

@media (min-width: 52rem) {
  .ways {
    grid-template-columns: 5fr 7fr;
  }
}

.way {
  padding: var(--space-m);
}

.way--quick {
  background: var(--surface);
}

.way--long {
  background: var(--yew);
  color: var(--on-dark);
  --heading: var(--limestone);
  --link: #b6cf95;
  position: relative;
  overflow: hidden;
}

.way h3 {
  font-size: clamp(var(--step-3), 3.4vw, var(--step-4));
}

.way--long > :not(svg) {
  position: relative;
}

.way--long > svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.stories-strip {
  gap: var(--space-m);
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (min-width: 52rem) {
  .stories-strip {
    grid-template-columns: repeat(3, 1fr);
  }
}

.stories-strip li {
  border-top: 4px solid var(--heading);
  padding-top: 1rem;
}

.stories-strip h3 {
  font-variation-settings: "wdth" var(--wdth-condensed);
  font-size: var(--step-3);
}

.faq {
  border-top: 1px solid var(--rule);
  max-width: 52rem;
}

.faq details {
  border-bottom: 1px solid var(--rule);
}

.faq summary {
  cursor: pointer;
  font-family: var(--font-display);
  font-weight: 750;
  font-size: var(--step-2);
  color: var(--heading);
  padding: 1.1rem 2.5rem 1.1rem 0;
  line-height: 1.2;
  list-style: none;
  position: relative;
}

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

.faq summary:after {
  content: "+";
  font-size: 1.6rem;
  font-weight: 400;
  transition: transform .2s;
  position: absolute;
  top: .9rem;
  right: .25rem;
}

.faq details[open] summary:after {
  transform: rotate(45deg);
}

.faq .faq__a {
  padding-bottom: 1.25rem;
}

@media (prefers-reduced-motion: no-preference) {
  .faq details[open] .faq__a {
    animation: .25s ease-out faq-open;
  }

  @keyframes faq-open {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }
  }
}

.cta {
  overflow: hidden;
}

.cta h2 {
  max-width: 18ch;
}

.page-head {
  padding-top: var(--space-m);
  padding-bottom: var(--space-l);
}

.page-head h1 {
  max-width: 20ch;
}

.symptoms {
  gap: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.symptoms li {
  border-bottom: 1px solid var(--rule);
  font-size: var(--step-2);
  max-width: 40ch;
  padding: 1rem 0;
  line-height: 1.35;
}

.work-list {
  gap: var(--space-m);
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (min-width: 52rem) {
  .work-list {
    grid-template-columns: 1fr 1fr;
  }
}

.work-list h3 {
  margin-bottom: .3em;
}

.steps {
  counter-reset: step;
  gap: var(--space-m);
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.steps li {
  counter-increment: step;
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  display: grid;
}

.steps li:before {
  content: counter(step);
  font-family: var(--font-display);
  font-weight: 900;
  font-size: var(--step-4);
  color: var(--link);
  font-variation-settings: "wdth" 70;
  line-height: 1;
}

.steps h3 {
  margin-bottom: .25em;
}

.link-list {
  gap: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.link-list li {
  border-top: 1px solid var(--rule);
}

.link-list a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-2);
  color: var(--heading);
  padding: 1rem 0;
  text-decoration: none;
  display: block;
}

.link-list a:hover {
  text-decoration: underline;
  -webkit-text-decoration-color: var(--waymark);
  text-decoration-color: var(--waymark);
  text-decoration-thickness: 3px;
}

.link-list .muted {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--step-0);
  color: var(--text-muted);
  margin-top: .25rem;
  display: block;
}

.diagram {
  width: 100%;
  max-width: 56rem;
  height: auto;
}

.diagram text {
  font-family: var(--font-display);
  fill: var(--text);
}

.diagram .box {
  fill: var(--surface);
  stroke: var(--heading);
  stroke-width: 2px;
}

.diagram .wire {
  stroke: var(--heading);
  stroke-width: 2.5px;
  fill: none;
}

.diagram .wire--live {
  stroke: var(--moss);
  stroke-width: 4px;
}

.diagram .person {
  fill: var(--tarmac);
}

@media (prefers-color-scheme: dark) {
  .diagram .person {
    fill: var(--fell-sky);
  }
}

.diagram .person--free {
  fill: var(--moss);
}

.split {
  gap: var(--space-m);
  display: grid;
}

@media (min-width: 52rem) {
  .split {
    gap: var(--space-l);
    grid-template-columns: 1fr 1fr;
  }
}

.not-list {
  padding: 0;
  list-style: none;
}

.not-list li {
  border-bottom: 1px solid var(--rule);
  padding: .6rem 0 .6rem 2rem;
  position: relative;
}

.not-list li:before {
  content: "";
  background: var(--heading);
  width: 1.1rem;
  height: 3px;
  position: absolute;
  top: 1.15rem;
  left: 0;
}

.price {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--step-3);
  color: var(--heading);
  font-variation-settings: "wdth" 80;
}

.article-head {
  padding-block: var(--space-m) var(--space-m);
}

.article-meta {
  font-size: var(--step--1);
  color: var(--text-muted);
  font-family: var(--font-display);
  flex-wrap: wrap;
  gap: .25rem 1rem;
  display: flex;
}

.article-layout {
  gap: var(--space-m);
  display: grid;
}

@media (min-width: 64rem) {
  .article-layout {
    gap: var(--space-l);
    grid-template-columns: minmax(0, 66ch) 1fr;
  }

  .toc {
    order: 2;
    align-self: start;
    position: sticky;
    top: 6rem;
  }
}

.toc {
  font-size: var(--step--1);
  border-left: 3px solid var(--waymark);
  padding-left: 1rem;
}

.toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.toc li {
  margin: .4rem 0;
}

.toc li.d3 {
  padding-left: 1rem;
}

.toc p {
  font-family: var(--font-display);
  margin-bottom: .5rem;
  font-weight: 700;
}

.prose table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--step-0);
  margin-bottom: 1.5em;
  display: block;
  overflow-x: auto;
}

.prose th, .prose td {
  border-bottom: 1px solid var(--rule);
  text-align: left;
  vertical-align: top;
  padding: .5rem .75rem .5rem 0;
}

.prose blockquote {
  border-left: 4px solid var(--moss);
  padding-left: 1rem;
}

.prose code {
  background: var(--surface);
  padding: .1em .3em;
  font-size: .9em;
}

.author-box {
  padding: var(--space-m);
  background: var(--surface);
  margin-top: var(--space-l);
  grid-template-columns: 4.5rem 1fr;
  gap: 1rem;
  max-width: 66ch;
  display: grid;
}

.author-box__mark {
  background: var(--yew);
  width: 4.5rem;
  height: 4.5rem;
  color: var(--limestone);
  font-family: var(--font-display);
  place-items: center;
  font-size: 1.5rem;
  font-weight: 900;
  display: grid;
}

.author-box__mark--road {
  background: var(--tarmac);
}

.check-cta {
  margin-top: var(--space-m);
  padding: var(--space-m);
  background: var(--yew);
  color: var(--on-dark);
  --heading: var(--limestone);
  max-width: 66ch;
}

.card-list {
  gap: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.card-list li {
  border-top: 1px solid var(--rule);
  padding: var(--space-m) 0;
}

.card-list h2, .card-list h3 {
  font-size: var(--step-3);
  margin-bottom: .3em;
}

.card-list h2 a, .card-list h3 a {
  color: var(--heading);
  text-decoration: none;
}

.card-list h2 a:hover, .card-list h3 a:hover {
  text-decoration: underline;
  -webkit-text-decoration-color: var(--waymark);
  text-decoration-color: var(--waymark);
  text-decoration-thickness: 3px;
}

.result-figures {
  margin: 0 0 var(--space-m);
  gap: 1rem;
  max-width: none;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (min-width: 40rem) {
  .result-figures {
    grid-template-columns: repeat(3, 1fr);
  }
}

.result-figures li {
  border-top: 4px solid var(--waymark);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--step-2);
  padding-top: .75rem;
  line-height: 1.2;
}

.pullquote {
  font-size: var(--step-3);
  margin: var(--space-m) 0;
  color: var(--heading);
  border: 0;
  padding: 0;
  line-height: 1.3;
}

.form {
  gap: 1.25rem;
  max-width: 36rem;
  display: grid;
}

.field label {
  font-family: var(--font-display);
  margin-bottom: .35rem;
  font-weight: 700;
  display: block;
}

.field .hint {
  font-size: var(--step--1);
  color: var(--text-muted);
  margin: -.2rem 0 .4rem;
}

.field input, .field textarea {
  width: 100%;
  font: inherit;
  font-size: var(--step-1);
  color: var(--peat);
  background: var(--limestone);
  border: 2px solid var(--tarmac);
  border-radius: var(--radius);
  padding: .7rem .8rem;
}

.field textarea {
  resize: vertical;
  min-height: 9rem;
}

.field [aria-invalid="true"] {
  border-color: #a12a1a;
}

.field .error {
  color: #8a2314;
  font-weight: 600;
  font-size: var(--step-0);
  margin: .35rem 0 0;
}

@media (prefers-color-scheme: dark) {
  .field .error {
    color: #ffb4a6;
  }
}

.hp {
  width: 1px;
  height: 1px;
  position: absolute;
  left: -10000px;
  overflow: hidden;
}

.form-status {
  border-left: 4px solid var(--moss);
  background: var(--surface);
  padding: 1rem 1.25rem;
}

.form-status--error {
  border-left-color: #a12a1a;
}

.booking-slot {
  border: 2px dashed var(--rule);
  padding: var(--space-m);
}

.map-placeholder {
  aspect-ratio: 16 / 9;
  background: var(--surface);
  align-items: flex-end;
  padding: 1rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.map-placeholder > svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.quiz {
  max-width: 44rem;
}

.quiz__progress {
  background: var(--surface);
  border: 1px solid var(--rule);
  height: 8px;
  margin-bottom: .5rem;
}

.quiz__progress > div {
  background: var(--moss);
  height: 100%;
  transition: width .3s;
}

@media (prefers-reduced-motion: reduce) {
  .quiz__progress > div {
    transition: none;
  }
}

.quiz fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.quiz legend {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(var(--step-2), 3vw, var(--step-3));
  color: var(--heading);
  margin-bottom: 1.25rem;
  padding: 0;
  line-height: 1.15;
}

.quiz__options {
  gap: .6rem;
  display: grid;
}

.quiz__option {
  background: var(--surface);
  border: 2px solid var(--rule);
  border-radius: var(--radius);
  cursor: pointer;
  align-items: center;
  gap: .8rem;
  padding: .85rem 1rem;
  display: flex;
}

.quiz__option:has(input:checked) {
  border-color: var(--heading);
  box-shadow: inset 6px 0 0 var(--waymark);
}

.quiz__option input {
  width: 1.2rem;
  height: 1.2rem;
  accent-color: var(--yew);
  flex: none;
}

.quiz__nav {
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
  display: flex;
}

.bars {
  margin: var(--space-m) 0;
  gap: 1rem;
  max-width: 40rem;
  display: grid;
}

.bar__label {
  font-family: var(--font-display);
  justify-content: space-between;
  margin-bottom: .35rem;
  font-weight: 700;
  display: flex;
}

.bar__track {
  background: var(--surface);
  border: 1px solid var(--rule);
  height: 1.25rem;
}

.bar__fill {
  background: var(--heading);
  height: 100%;
}

.bar__fill--weak {
  background: repeating-linear-gradient(90deg, var(--waymark) 0 14px, #c99a14 14px 18px);
}

.site-footer {
  background: var(--peat);
  color: var(--limestone);
  --heading: var(--limestone);
  --link: #b6cf95;
  padding-top: var(--space-l);
  padding-bottom: var(--space-m);
  margin-top: 0;
}

@media (prefers-color-scheme: dark) {
  .site-footer {
    background: #1b1814;
  }
}

.site-footer .elevation {
  margin: 0 0 var(--space-m);
  max-width: 28rem;
}

.site-footer .elevation__road, .site-footer .elevation__trail {
  stroke: var(--limestone);
}

.footer-grid {
  gap: var(--space-m);
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  display: grid;
}

.footer-grid h2 {
  font-size: var(--step-1);
  margin-bottom: .75rem;
}

.footer-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-grid li {
  margin: .35rem 0;
}

.footer-grid a {
  color: var(--limestone);
}

.legal {
  margin-top: var(--space-l);
  padding-top: var(--space-m);
  font-size: var(--step--1);
  color: #cfd2ca;
  border-top: 1px solid #4d473f;
  max-width: none;
}

.legal p {
  max-width: 90ch;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__1vt_m7u5h3m2z._.css.map*/