@font-face{font-family:"Big Shoulders Display";font-weight:800;font-style:normal;font-display:block;src:url("/fonts/big-shoulders-display-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:600;font-style:normal;font-display:block;src:url("/fonts/big-shoulders-display-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Overpass";font-weight:400;font-style:normal;font-display:swap;src:url("/fonts/overpass-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Overpass";font-weight:600;font-style:normal;font-display:swap;src:url("/fonts/overpass-latin-600-normal.woff2") format("woff2")}
body{margin:0;background:#070809}
a{color:#CFD2D7;text-decoration:none}a:hover{color:#FFFFFF}
html,body{margin:0;background:#070809}
.layout-d{max-width:1920px;margin:0 auto}
.layout-p{max-width:480px;margin:0 auto}
html.narrow .layout-d{display:none}
.dev-note{display:flex;justify-content:center;align-items:center;gap:10px;padding:11px 24px;background:#0E1013;border-bottom:1px solid #1D1F23;font:14px/1.45 'Overpass','Helvetica Neue',Arial,sans-serif;color:#CFD2D7;text-align:center}
.dev-note strong{font-weight:600;color:#FFFFFF}
.dev-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#3C85B9}
@media (max-width:639px){.dev-note{padding:10px 20px;font-size:13px}.dev-more{display:none}}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.layout{container-type:inline-size}
.pg{--vh:1vh;--range-width:max(100cqw,calc(126 * var(--vh)));--summit:min(calc(58 * var(--vh)),calc(100 * var(--vh) - 56px - 0.2187 * var(--range-width)))}
@supports (height:100svh){.pg{--vh:1svh}}
/* The Fall Line Research front door: the wordmark over the night range, with Orion and Lyra in the sky. */

.door {
  /* One hundredth of the screen's height. On a phone this is the height with the browser's bars
     showing, so the whole picture fits without scrolling. */
  --vh: 1vh;
  /* How strong the range and the stars are. */
  --mountain-strength: 0.75;
  --star-strength: 0.6;
  /* The range spans the page, and never gets narrower than 1.26 times the page's height. */
  --range-width: max(100cqw, calc(126 * var(--vh)));
  /* How far down the summit sits. The range always ends 56px above the bottom of the page. */
  --summit: min(calc(58 * var(--vh)), calc(100 * var(--vh) - 56px - 0.2187 * var(--range-width)));

  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  min-height: calc(100 * var(--vh));
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #070809;
  color: #ffffff;
  font-family: 'Big Shoulders Display', 'Arial Narrow', sans-serif;
}

@supports (height: 100svh) {
  .door {
    --vh: 1svh;
  }
}

/* Every star is a shadow of this one small circle, which is parked off the top left corner.
   main.ts writes the shadows. */
.sky {
  position: absolute;
  left: -112px;
  top: -112px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  opacity: var(--star-strength);
}

.sky-lines {
  position: absolute;
  left: 0;
  top: 0;
  opacity: var(--star-strength);
}

.sky-lines i {
  position: absolute;
  height: 1px;
  transform-origin: 0 50%;
  background: #a3a7af;
  opacity: 0.45;
}

/* The picture has a clear sky, so it hides the stars behind the rock and nothing else.
   Its summit is 66% of the way across. */
.range {
  position: absolute;
  left: calc(66% - 0.66 * var(--range-width));
  top: calc(var(--summit) - 0.1147 * var(--range-width));
  width: var(--range-width);
  height: auto;
  display: block;
  filter: brightness(var(--mountain-strength));
}

.lockup {
  position: relative;
  box-sizing: border-box;
  min-height: var(--summit);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 24px 24px clamp(24px, calc(9 * var(--vh)), 72px);
}

.wordmark {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.16em;
  font-size: clamp(64px, min(11.7cqw, calc(21 * var(--vh))), 150px);
  font-weight: 800;
  line-height: 0.92;
}

.wordmark-name {
  display: flex;
  gap: 0.27em;
  letter-spacing: 0.05em;
  color: #ffffff;
}

.wordmark-name span {
  margin-right: -0.05em;
}

.wordmark-sub {
  font-size: 0.28em;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.42em;
  margin-right: -0.42em;
  color: #cfd2d7;
}

.address {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 24px 36px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
  color: #a3a7af;
}
.layout-d .pt-title{position:relative;padding-left:68px}.layout-d .pt-name{display:inline-block;padding:3px 8px 1px;margin-left:-8px;color:inherit;text-decoration:none;background:linear-gradient(#FFFFFF,#FFFFFF) no-repeat 0 0/0% 100%;transition:background-size .32s cubic-bezier(.4,0,.2,1),color .32s ease}.layout-d a.pt-name:hover{color:inherit}.layout-d .pt-name:focus-visible{outline:2px solid #3C85B9;outline-offset:4px}.layout-d .pt-thumb{position:absolute;left:0;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;overflow:hidden;background:#141518;box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 0 4px #070809;transition:box-shadow .35s ease}.layout-d .pt-thumb svg{display:block;width:100%;height:100%;transition:filter .3s ease}.layout-d .tr{transition:opacity .35s ease,filter .35s ease}.layout-d .rp{opacity:0;fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}@keyframes fl-ripple{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}.layout-d .pt:focus-within .pt-name,.layout-d .pt:focus-within a.pt-name:hover{background-size:100% 100%;color:#070809;text-shadow:none}@media (hover:hover){.layout-d .pt:hover .pt-name,.layout-d .pt:hover a.pt-name:hover{background-size:100% 100%;color:#070809;text-shadow:none}}.layout-d .pg:has(.pt[data-i="1"]:focus-within) .rp-1{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="1"]:focus-within) .rp-1.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="1"]:hover) .rp-1{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="1"]:hover) .rp-1.b{animation-delay:.8s}}.layout-d .pg:has(.pt[data-i="2"]:focus-within) .rp-2{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="2"]:focus-within) .rp-2.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="2"]:hover) .rp-2{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="2"]:hover) .rp-2.b{animation-delay:.8s}}.layout-d .pg:has(.pt[data-i="3"]:focus-within) .rp-3{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="3"]:focus-within) .rp-3.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="3"]:hover) .rp-3{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="3"]:hover) .rp-3.b{animation-delay:.8s}}.layout-d .pg:has(.pt[data-i="4"]:focus-within) .rp-4{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="4"]:focus-within) .rp-4.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="4"]:hover) .rp-4{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="4"]:hover) .rp-4.b{animation-delay:.8s}}.layout-d .pg:has(.pt[data-i="5"]:focus-within) .rp-5{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="5"]:focus-within) .rp-5.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="5"]:hover) .rp-5{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="5"]:hover) .rp-5.b{animation-delay:.8s}}.layout-d .pg:has(.pt[data-i="6"]:focus-within) .rp-6{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="6"]:focus-within) .rp-6.b{animation-delay:.8s}@media (hover:hover){.layout-d .pg:has(.pt[data-i="6"]:hover) .rp-6{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-d .pg:has(.pt[data-i="6"]:hover) .rp-6.b{animation-delay:.8s}}@media (prefers-reduced-motion:reduce){.layout-d .pt-name,.layout-d .pt-thumb svg{transition:none}.layout-d .pg .rp{animation:none!important}.layout-d .pg:has(.pt[data-i="1"]:focus-within,.layout-d .pt[data-i="1"]:hover) .rp-1:not(.b){opacity:.8;transform:scale(2.2)}.layout-d .pg:has(.pt[data-i="2"]:focus-within,.layout-d .pt[data-i="2"]:hover) .rp-2:not(.b){opacity:.8;transform:scale(2.2)}.layout-d .pg:has(.pt[data-i="3"]:focus-within,.layout-d .pt[data-i="3"]:hover) .rp-3:not(.b){opacity:.8;transform:scale(2.2)}.layout-d .pg:has(.pt[data-i="4"]:focus-within,.layout-d .pt[data-i="4"]:hover) .rp-4:not(.b){opacity:.8;transform:scale(2.2)}.layout-d .pg:has(.pt[data-i="5"]:focus-within,.layout-d .pt[data-i="5"]:hover) .rp-5:not(.b){opacity:.8;transform:scale(2.2)}.layout-d .pg:has(.pt[data-i="6"]:focus-within,.layout-d .pt[data-i="6"]:hover) .rp-6:not(.b){opacity:.8;transform:scale(2.2)}}
.layout-p .pt-title{position:relative;padding-left:52px}.layout-p .pt-name{display:inline-block;padding:3px 8px 1px;margin-left:-8px;color:inherit;text-decoration:none;background:linear-gradient(#FFFFFF,#FFFFFF) no-repeat 0 0/0% 100%;transition:background-size .32s cubic-bezier(.4,0,.2,1),color .32s ease}.layout-p a.pt-name:hover{color:inherit}.layout-p .pt-name:focus-visible{outline:2px solid #3C85B9;outline-offset:4px}.layout-p .pt-thumb{position:absolute;left:0;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:50%;overflow:hidden;background:#141518;box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 0 4px #070809;transition:box-shadow .35s ease}.layout-p .pt-thumb svg{display:block;width:100%;height:100%;transition:filter .3s ease}.layout-p .tr{transition:opacity .35s ease,filter .35s ease}.layout-p .rp{opacity:0;fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}@keyframes fl-ripple{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}.layout-p .pt:focus-within .pt-name,.layout-p .pt:focus-within a.pt-name:hover{background-size:100% 100%;color:#070809;text-shadow:none}.layout-p .pt:active .pt-name,.layout-p .pt:active a.pt-name:hover{background-size:100% 100%;color:#070809;text-shadow:none}.layout-p .pg:has(.pt[data-i="1"]:focus-within,.layout-p .pt[data-i="1"]:active) .rp-1{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="1"]:focus-within,.layout-p .pt[data-i="1"]:active) .rp-1.b{animation-delay:.8s}.layout-p .pg:has(.pt[data-i="2"]:focus-within,.layout-p .pt[data-i="2"]:active) .rp-2{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="2"]:focus-within,.layout-p .pt[data-i="2"]:active) .rp-2.b{animation-delay:.8s}.layout-p .pg:has(.pt[data-i="3"]:focus-within,.layout-p .pt[data-i="3"]:active) .rp-3{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="3"]:focus-within,.layout-p .pt[data-i="3"]:active) .rp-3.b{animation-delay:.8s}.layout-p .pg:has(.pt[data-i="4"]:focus-within,.layout-p .pt[data-i="4"]:active) .rp-4{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="4"]:focus-within,.layout-p .pt[data-i="4"]:active) .rp-4.b{animation-delay:.8s}.layout-p .pg:has(.pt[data-i="5"]:focus-within,.layout-p .pt[data-i="5"]:active) .rp-5{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="5"]:focus-within,.layout-p .pt[data-i="5"]:active) .rp-5.b{animation-delay:.8s}.layout-p .pg:has(.pt[data-i="6"]:focus-within,.layout-p .pt[data-i="6"]:active) .rp-6{animation:fl-ripple 1.5s cubic-bezier(.2,.6,.35,1) .35s 2}.layout-p .pg:has(.pt[data-i="6"]:focus-within,.layout-p .pt[data-i="6"]:active) .rp-6.b{animation-delay:.8s}@media (prefers-reduced-motion:reduce){.layout-p .pt-name,.layout-p .pt-thumb svg{transition:none}.layout-p .pg .rp{animation:none!important}.layout-p .pg:has(.pt[data-i="1"]:focus-within,.layout-p .pt[data-i="1"]:active) .rp-1:not(.b){opacity:.8;transform:scale(2.2)}.layout-p .pg:has(.pt[data-i="2"]:focus-within,.layout-p .pt[data-i="2"]:active) .rp-2:not(.b){opacity:.8;transform:scale(2.2)}.layout-p .pg:has(.pt[data-i="3"]:focus-within,.layout-p .pt[data-i="3"]:active) .rp-3:not(.b){opacity:.8;transform:scale(2.2)}.layout-p .pg:has(.pt[data-i="4"]:focus-within,.layout-p .pt[data-i="4"]:active) .rp-4:not(.b){opacity:.8;transform:scale(2.2)}.layout-p .pg:has(.pt[data-i="5"]:focus-within,.layout-p .pt[data-i="5"]:active) .rp-5:not(.b){opacity:.8;transform:scale(2.2)}.layout-p .pg:has(.pt[data-i="6"]:focus-within,.layout-p .pt[data-i="6"]:active) .rp-6:not(.b){opacity:.8;transform:scale(2.2)}}
