/* Layout only: typography and colors come from the shared IV foundation. */
.iv-docs-page { margin: 0; background: var(--iv-paper); color: var(--iv-ink); font-family: var(--iv-font-sans); }
.iv-docs-main { max-width: 1080px; margin: 0 auto; padding: 48px 24px 60px; overflow-wrap: anywhere; }
.iv-docs-main > h1 { max-width: 900px; }
.iv-docs-main > p { max-width: 780px; margin: 20px 0; line-height: 1.6; }
.iv-docs-main a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.iv-docs-main a:hover { text-decoration-color: var(--iv-orange); }
.iv-docs-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 32px 0 48px; border-top: 1px solid var(--iv-neutral-2); }
.iv-docs-index a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; border-bottom: 1px solid var(--iv-neutral-2); font: 13px/1.5 var(--iv-font-mono); text-decoration: none; }
.iv-docs-index a::after { content: '↓'; color: var(--iv-orange); margin-left: auto; padding-left: 12px; }
.iv-docs-main .iv-section-heading { margin-top: 48px; }
.iv-docs-main h2[id] { scroll-margin-top: 110px; }
.iv-docs-main ul { list-style: none; margin: 24px 0; padding: 0; }
.iv-docs-main li { display: grid; grid-template-columns: minmax(0, 230px) minmax(0, 1fr); gap: 24px; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--iv-neutral-2); font: 16px/1.55 var(--iv-font-sans); }
.iv-docs-main li:first-child { border-top: 1px solid var(--iv-neutral-2); }
.iv-docs-main code { padding: 0; border: 0; background: none; color: var(--iv-ink); font: 13px/1.8 var(--iv-font-mono); overflow-wrap: anywhere; }
.iv-docs-main li > span { font: inherit; color: inherit; }
.iv-docs-skip { position: absolute; top: -100px; left: 16px; z-index: 1000; padding: 12px; background: var(--iv-paper); color: var(--iv-ink); }
.iv-docs-skip:focus { top: 12px; }
@media (max-width: 640px) {
  .iv-docs-main { padding: 32px 20px 48px; }
  .iv-docs-index { grid-template-columns: 1fr; margin-bottom: 32px; }
  .iv-docs-main li { grid-template-columns: 1fr; gap: 3px; }
}
