.lp-template {
  --lp-ink: #04342c;
  --lp-accent: #ef9f27;
  --lp-accent-text: #04342c;
  --lp-paper: #faf7f0;
  --lp-surface: #ffffff;
  --lp-text: #27362f;
  --lp-muted: #58635c;
  --lp-rule: #d7ded4;
  --lp-font-display: var(--font-display, "Hanken Grotesk", sans-serif);
  --lp-font-body: var(--font-text, "Hanken Grotesk", sans-serif);
  --lp-radius: 16px;
  background: var(--lp-paper);
  color: var(--lp-text);
  font: 18px/1.7 var(--lp-font-body);
  padding: 0;
}
.lp-template *, .lp-template *::before, .lp-template *::after { box-sizing: border-box; }
.lp-template a { color: inherit; }
.lp-template a:focus-visible { outline: 3px solid var(--lp-ink); outline-offset: 4px; }
.lp-wrap { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.lp-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 24px 16px; font-size: 13px; color: var(--lp-muted); }
.lp-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.lp-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; padding: 24px 0 64px; }
.lp-hero-copy { min-width: 0; }
.lp-hero h1 { color: var(--lp-ink); font: 700 clamp(28px, 2.6vw, 40px)/1.13 var(--lp-font-display); letter-spacing: -.02em; text-transform: none; max-width: 26ch; margin: 0 0 24px; }
.lp-deck { color: var(--lp-muted); font-size: 17px; line-height: 1.6; margin: 0 0 24px; max-width: 45ch; }
.lp-call { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 24px; background: var(--lp-accent); color: var(--lp-accent-text) !important; font: 700 16px/1.3 var(--lp-font-body); border-radius: 8px; white-space: nowrap; text-decoration: none; transition: transform 160ms ease-out, filter 160ms ease-out; box-shadow: 0 3px 8px rgb(4 52 44 / .10), 0 12px 24px rgb(4 52 44 / .07); }
.lp-call:hover { filter: brightness(.95); transform: translateY(-2px); }
.lp-call:active { transform: translateY(0); }
.lp-guide-link { display: block; width: fit-content; margin-top: 16px; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.lp-hero-photo { margin: 0; min-width: 0; }
.lp-hero-photo picture { display: block; overflow: hidden; border-radius: var(--lp-radius); }
.lp-hero-photo img { display: block; width: 100%; height: 360px; object-fit: cover; }
.lp-template figcaption { font: 400 12px/1.5 var(--lp-font-body); color: var(--lp-muted); padding-top: 12px; }
.lp-reading { display: grid; grid-template-columns: 264px minmax(0, 760px); justify-content: space-between; gap: 64px; padding: 48px 0 64px; border-top: 1px solid var(--lp-rule); align-items: start; }
.lp-toc { position: sticky; top: 112px; padding: 24px 0; }
.lp-toc > p { font-weight: 700; color: var(--lp-ink); margin: 0 0 16px; font-size: 16px; }
.lp-toc nav { display: flex; flex-direction: column; gap: 12px; }
.lp-toc nav a { font-size: 14px; line-height: 1.5; text-decoration: none; color: var(--lp-muted); padding-left: 16px; border-left: 2px solid var(--lp-rule); }
.lp-toc nav a:hover { border-color: var(--lp-ink); color: var(--lp-ink); }
.lp-call-aside { margin-top: 32px; }
.lp-call-aside .lp-call { padding-inline: 16px; }
.lp-article { min-width: 0; }
.lp-article p { margin: 0 0 24px; max-width: 70ch; line-height: 1.75; }
.lp-article a { color: var(--lp-ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: break-word; }
.lp-section { padding: 40px 0 24px; scroll-margin-top: 112px; }
.lp-section:first-of-type { padding-top: 24px; }
.lp-section h2 { font: 700 clamp(24px, 1.6vw, 30px)/1.25 var(--lp-font-display); color: var(--lp-ink); margin: 0 0 24px; letter-spacing: -.015em; text-transform: none; max-width: 30ch; }
.lp-article h3 { font: 650 20px/1.4 var(--lp-font-body); color: var(--lp-ink); margin: 0 0 16px; text-transform: none; }
.lp-support { margin: 24px 0 32px; }
.lp-support picture { display: block; overflow: hidden; border-radius: var(--lp-radius); }
.lp-support img { width: 100%; display: block; max-height: 360px; object-fit: cover; }
.lp-faq { padding-block: 20px; border-bottom: 1px solid var(--lp-rule); }
.lp-faq summary { display: flex; gap: 24px; justify-content: space-between; align-items: start; cursor: pointer; list-style: none; padding: 4px 0; min-height: 44px; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary h3 { font-size: 18px; line-height: 1.4; font-weight: 700; margin: 0; }
.lp-faq summary span { flex: 0 0 24px; text-align: center; color: var(--lp-ink); font: 400 24px/1 var(--lp-font-body); }
.lp-faq[open] summary span { transform: rotate(45deg); }
.lp-faq-answer { padding-top: 20px; }
.lp-faq-answer p:last-child { margin-bottom: 0; }
.lp-final-call { display: flex; justify-content: center; padding: 0 0 64px; }
@media (min-width: 1100px) { .lp-peoria .lp-hero h1 { font-size: 42px; } }
@media (max-width: 900px) {
  .lp-hero { gap: 32px; }
  .lp-reading { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
  .lp-template { font-size: 17px; }
  .lp-wrap { width: calc(100% - 32px); }
  .lp-breadcrumb { font-size: 12px; padding-top: 16px; }
  .lp-hero { grid-template-columns: 1fr; gap: 32px; padding: 16px 0 40px; }
  .lp-hero h1 { font-size: 28px; margin-bottom: 16px; max-width: none; }
  .lp-deck { font-size: 16px; line-height: 1.55; margin-bottom: 16px; }
  .lp-call { min-height: 52px; width: fit-content; padding-inline: 20px; font-size: 16px; }
  .lp-hero-photo img { height: 240px; }
  .lp-guide-link { margin-top: 12px; }
  .lp-reading { display: flex; flex-direction: column; gap: 32px; padding: 32px 0 48px; }
  .lp-toc { position: static; width: 100%; padding: 0; }
  .lp-toc nav { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .lp-toc nav a { padding: 8px 12px; border-left: 2px solid var(--lp-rule); font-size: 14px; }
  .lp-call-aside { display: none; }
  .lp-article { width: 100%; }
  .lp-article p { line-height: 1.75; margin-bottom: 24px; }
  .lp-section { padding-block: 32px 16px; scroll-margin-top: 96px; }
  .lp-section h2 { font-size: 25px; margin-bottom: 20px; }
  .lp-support { margin-block: 16px 32px; }
  .lp-support img { height: 230px; }
  .lp-faq summary { gap: 16px; }
  .lp-faq summary h3 { font-size: 17px; }
  .lp-final-call { padding-bottom: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-template *, .lp-template *::before, .lp-template *::after { transition: none !important; scroll-behavior: auto; }
}

.lp-related { padding: 32px 0; border-top: 1px solid var(--lp-rule); }
.lp-related h2 { color: var(--lp-ink); font-family: var(--lp-font-display); }
.lp-related a { text-decoration: underline; overflow-wrap: anywhere; }
