* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
strong, b { font-weight: var(--v2-weight); }

.lg-page {
  --lg-rule: rgba(19, 18, 21, 0.12);
  --lg-col: calc((var(--v2-field-max) - 5 * var(--v2-grid-gutter)) / 6);
  --lg-measure: 68ch;
}
.lg-page .ltv2-nav { border-bottom: 1px solid var(--lg-rule); }

/* Hero: one dark band that names the page and its facts. */
.lg-hero { padding: var(--v2-space-96) 0 var(--v2-space-80); }
.lg-hero__inner { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); row-gap: var(--v2-space-40); align-items: end; }
.lg-hero__copy { grid-column: 1 / span 4; }
.lg-hero__copy .ltv2-eyebrow { margin-bottom: var(--v2-space-40); }
.lg-hero__title { max-width: 16ch; text-wrap: balance; }
.lg-hero__meta { grid-column: 5 / span 2; display: grid; gap: var(--v2-space-8); margin: 0; padding-top: var(--v2-space-16); border-top: 1px solid var(--v2-border-on-dark); color: var(--v2-text-on-dark-2); }
.lg-hero__meta dt { color: var(--v2-haze); }
.lg-hero__meta dd { margin: 0; }
.lg-hero__meta a:hover { text-decoration: underline; text-decoration-color: var(--v2-accent); text-underline-offset: 3px; }

/* Body: rail on the left two columns, content on the right four. */
.lg-body { padding: var(--v2-space-80) 0 var(--v2-space-128); }
.lg-body__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); align-items: start; }
.lg-rail { grid-column: 1 / span 2; position: sticky; top: var(--v2-space-40); max-height: calc(100vh - var(--v2-space-80)); overflow-y: auto; padding-right: var(--v2-grid-gutter); }
.lg-rail__label { display: block; padding-bottom: var(--v2-space-16); border-bottom: 1px solid var(--v2-text-primary); color: var(--v2-text-secondary); }
.lg-rail__list { display: grid; grid-template-columns: minmax(0, 1fr); }
.lg-rail__link { position: relative; display: block; padding: var(--v2-space-8) 0 var(--v2-space-8) var(--v2-space-24); border-bottom: 1px solid var(--lg-rule); color: var(--v2-text-secondary); font-family: var(--v2-font-mono); font-size: var(--v2-text-xs); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; line-height: 1.4; transition: color var(--v2-dur-base) ease; }
.lg-rail__link::before { content: ""; position: absolute; left: 0; top: 50%; width: var(--v2-dot-size); height: var(--v2-dot-size); border-radius: var(--v2-radius-full); background: var(--v2-accent); transform: translateY(-50%) scale(0); transition: transform var(--v2-dur-base) var(--v2-ease-out); }
.lg-rail__num { display: inline-block; min-width: 2ch; margin-right: var(--v2-space-8); color: var(--v2-haze); }
.lg-rail__link:hover { color: var(--v2-text-primary); }
.lg-rail__link[aria-current="true"] { color: var(--v2-text-primary); }
.lg-rail__link[aria-current="true"]::before { transform: translateY(-50%) scale(1); }

.lg-doc { grid-column: 3 / span 4; max-width: var(--lg-measure); }
.lg-sec { padding: var(--v2-space-48) 0; border-top: 1px solid var(--lg-rule); scroll-margin-top: var(--v2-space-40); }
.lg-sec:first-child { padding-top: 0; border-top: 0; }
.lg-sec__title { display: grid; grid-template-columns: 2.5rem 1fr; column-gap: var(--v2-space-16); margin-bottom: var(--v2-space-24); text-wrap: balance; }
.lg-sec__title--plain { grid-template-columns: 1fr; }
.lg-sec__num { font-family: var(--v2-font-mono); font-size: var(--v2-text-xs); letter-spacing: var(--v2-tracking-mono); color: var(--v2-text-secondary); line-height: var(--v2-s3-lh); padding-top: 0.45em; }
.lg-sec p, .lg-sec li { font-size: var(--v2-p1); line-height: var(--v2-leading-body); color: var(--v2-text-primary); }
.lg-sec p + p, .lg-sec p + ul, .lg-sec ul + p, .lg-sec p + h3, .lg-sec ul + h3 { margin-top: var(--v2-space-24); }
.lg-sec ul { display: grid; gap: var(--v2-space-12); padding-left: var(--v2-space-24); list-style: disc; }
.lg-sec li::marker { color: var(--v2-text-secondary); }
.lg-sec h3 { font-size: var(--v2-p1); line-height: var(--v2-leading-body); color: var(--v2-text-secondary); }
.lg-sec h3 + p { margin-top: var(--v2-space-8); }
.lg-sec a, .lg-form__fine a { display: inline-block; padding: var(--v2-space-8) 0; margin: calc(-1 * var(--v2-space-8)) 0; }
.lg-sec a { text-decoration: underline; text-decoration-color: var(--lg-rule); text-underline-offset: 3px; }
.lg-sec a:hover { text-decoration-color: var(--v2-accent); }

/* Contact: the quote on the rail, the form as the document. */
.lg-quote { margin: 0; padding-top: var(--v2-space-16); border-top: 1px solid var(--v2-text-primary); }
.lg-quote blockquote { margin: 0; font-size: var(--v2-s3); line-height: 1.25; text-wrap: pretty; }
.lg-quote blockquote p { margin: 0; }
.lg-quote figcaption { margin-top: var(--v2-space-24); color: var(--v2-text-secondary); line-height: 1.6; }

.lg-form { display: grid; gap: var(--v2-space-8); }
.lg-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); }
.lg-form__row > div { display: grid; gap: var(--v2-space-8); }
.lg-form label { margin-top: var(--v2-space-16); font: var(--v2-text-xs) / 1 var(--v2-font-mono); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; color: var(--v2-text-primary); }
.lg-form .lg-req { font-family: var(--v2-font-mono); }
.lg-form input, .lg-form textarea { width: 100%; min-height: 44px; padding: var(--v2-space-12); border: 1px solid var(--v2-taupe); border-radius: 0; background: var(--v2-off-white); color: var(--v2-text-primary); font: inherit; font-size: var(--v2-p2); }
.lg-form input:focus-visible, .lg-form textarea:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 0; }
.lg-form textarea { min-height: 140px; resize: vertical; }
.lg-form .ltv2-btn { width: fit-content; margin-top: var(--v2-space-24); }
.lg-form__error { min-height: 20px; color: var(--v2-slate-blue); font-size: var(--v2-text-sm); }
.lg-form__fine { margin-top: var(--v2-space-16); color: var(--v2-text-secondary); font-size: var(--v2-text-sm); line-height: var(--v2-leading-body); }
.lg-form__fine a { text-decoration: underline; text-decoration-color: var(--lg-rule); text-underline-offset: 3px; }
.lg-form__fine a:hover { text-decoration-color: var(--v2-accent); }
#contact-live[hidden] { display: none; }
.lg-done { padding-top: var(--v2-space-8); }
.lg-done[hidden] { display: none; }
.lg-done h2 { max-width: 16ch; text-wrap: balance; }
.lg-done p { margin-top: var(--v2-space-16); color: var(--v2-text-secondary); font-size: var(--v2-p1); line-height: var(--v2-leading-body); }
.lg-done:focus-visible { outline: none; }

/* Arrival: the hero only. */
.lg-hero .ltv2-reveal { --d: 0ms; }
.lg-hero .lg-hero__title.ltv2-reveal { --d: 60ms; }
.lg-hero .lg-hero__meta.ltv2-reveal { --d: 180ms; }

@media (max-width: 1024px) {
  .lg-hero__copy { grid-column: 1 / span 6; }
  .lg-hero__meta { grid-column: 1 / span 3; }
  .lg-rail { grid-column: 1 / span 2; }
  .lg-doc { grid-column: 3 / span 4; }
}
@media (max-width: 820px) {
  .lg-hero { padding: var(--v2-space-64) 0 var(--v2-space-48); }
  .lg-hero__copy .ltv2-eyebrow { margin-bottom: var(--v2-space-24); }
  .lg-hero__meta { grid-column: 1 / span 6; }
  .lg-body { padding: var(--v2-space-48) 0 var(--v2-space-96); }
  .lg-body__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--v2-space-48); }
  .lg-rail, .lg-doc { grid-column: auto; }
  .lg-rail { position: static; max-height: none; padding-right: 0; }
  .lg-doc { max-width: none; }
  .lg-sec { padding: var(--v2-space-40) 0; }
  .lg-sec__title { grid-template-columns: 2rem 1fr; }
}
@media (max-width: 480px) {
  .lg-sec p, .lg-sec li { font-size: var(--v2-p2); }
  .lg-form__row { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lg-rail__link, .lg-rail__link::before { transition: none; }
}
