*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ln-milk); color: var(--ln-ink); font: 400 1rem/1.6 var(--ln-text); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--ln-display); font-weight: 400; line-height: 1.04; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
h2 { font-size: clamp(2.1rem, 4.4vw, 3.9rem); }
h3 { font-size: 1.45rem; }
p { margin: 0; }
em { font-style: normal; color: var(--ln-ultramarine); }
:focus-visible { outline: 2px solid var(--ln-ultramarine); outline-offset: 3px; }
.ln-site { min-height: 100vh; display: flex; flex-direction: column; overflow-x: clip; }
.ln-main { flex: 1; }
.ln-main:focus { outline: none; }
.ln-skip { position: absolute; left: -100vw; }
.ln-skip:focus { left: 1rem; top: 1rem; z-index: 3; background: var(--ln-paper); padding: .5rem 1rem; }
.ln-icon { width: 1.25rem; height: 1.25rem; flex: none; }
.ln-header { background: var(--ln-milk); border-bottom: 1px solid var(--ln-rule); z-index: 2; }
.ln-header__bar { max-width: var(--ln-wide); margin: 0 auto; padding: .85rem var(--ln-inset); display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.ln-wordmark { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.ln-wordmark__name { font: 400 1.7rem/1 var(--ln-display); letter-spacing: .01em; }
.ln-nav { order: 3; width: 100%; overflow-x: auto; }
.ln-nav ul { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.ln-nav a { text-decoration: none; font-size: .95rem; white-space: nowrap; }
.ln-nav a:hover { text-decoration: underline; text-underline-offset: .3em; }
.ln-header__signin { margin-left: auto; font-size: .95rem; }
.ln-header .ln-header__start { padding: .5rem .9rem; font-size: .9rem; }
.ln-header__start, .ln-hero__go, .ln-start__go, .ln-plan__action {
  display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.2rem; border-radius: 999px;
  background: var(--ln-ultramarine); color: var(--ln-on-ultramarine); font-weight: 600; text-decoration: none;
  transition: background .25s var(--ln-ease);
}
.ln-header__start:hover, .ln-hero__go:hover, .ln-plan__action:hover { background: var(--ln-ultramarine-deep); }
.ln-shadeno { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.25rem; font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.ln-shadeno__tip { width: .8rem; height: 1.35rem; }
.ln-shadeno__tip path { fill: currentColor; }
.ln-shadeno__tip .ln-shadeno__moon { fill: var(--ln-paper); }
.ln-shadeno__no { font-variant-numeric: tabular-nums; white-space: nowrap; }
.ln-shadeno__text { color: var(--ln-ink-muted); }
.ln-soon { display: flex; gap: .5rem; align-items: flex-start; font-size: .9rem; color: var(--ln-ink-muted); margin-top: 1.25rem; }
.ln-footer { background: var(--ln-espresso); color: var(--ln-on-espresso); position: relative; overflow: hidden; }
.ln-footer__arc { position: absolute; right: -8rem; top: -14rem; width: 28rem; height: 28rem; border-radius: 50%; border: 1px solid var(--ln-espresso-soft); }
.ln-footer__top, .ln-footer__base { position: relative; max-width: var(--ln-wide); margin: 0 auto; padding: 3rem var(--ln-inset) 1.5rem; display: grid; gap: 2rem; }
.ln-footer__brand p { color: var(--ln-on-espresso-muted); max-width: 28rem; margin-top: .75rem; }
.ln-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 2rem; }
.ln-footer__nav a { color: var(--ln-on-espresso); overflow-wrap: anywhere; }
.ln-footer__base { padding-top: 1rem; padding-bottom: 2rem; border-top: 1px solid var(--ln-espresso-soft); font-size: .9rem; color: var(--ln-on-espresso-muted); }
.ln-credit a { color: var(--ln-on-espresso); }
@media (min-width: 60rem) {
  .ln-header { position: sticky; top: 0; }
  .ln-nav { order: 0; width: auto; margin: 0 auto; }
  .ln-header__signin { margin-left: 0; }
  .ln-header .ln-header__start { padding: .7rem 1.2rem; font-size: 1rem; }
  .ln-footer__top { grid-template-columns: 5fr 7fr; }
  .ln-footer__nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ln-footer__base { grid-template-columns: 1fr auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
