/* BioStack.life legal register — venture presentation layer */
.legal-hero { padding: 152px 0 72px; background: var(--venture-dark); color: var(--paper-on-dark); }
.legal-kicker { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--venture-primary-tint); margin: 0 0 20px; }
.legal-title { max-width: 760px; font-family: var(--display); font-size: clamp(3rem, 7vw, 6.2rem); line-height: .98; letter-spacing: -.055em; font-weight: 500; margin: 0; }
.legal-title em { color: var(--venture-primary-tint); font-style: normal; }
.legal-lead { max-width: 690px; margin: 28px 0 0; font-size: clamp(1rem, 1.8vw, 1.25rem); line-height: 1.65; color: rgba(234,241,242,.78); }
.legal-control { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; max-width: 980px; margin: 52px 0 0; border-top: 1px solid var(--line-on-dark); border-bottom: 1px solid var(--line-on-dark); }
.legal-control div { padding: 18px 20px 18px 0; }
.legal-control div + div { padding-left: 20px; border-left: 1px solid var(--line-on-dark); }
.legal-control dt { font-family: var(--mono); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; color: var(--venture-primary-tint); }
.legal-control dd { margin: 6px 0 0; font-size: 13px; line-height: 1.35; }
.legal-nav { position: sticky; top: 74px; z-index: 20; background: rgba(246,245,241,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.legal-nav__inner { display: flex; overflow-x: auto; scrollbar-width: none; }
.legal-nav a { flex: 0 0 auto; padding: 17px 18px; border-left: 1px solid var(--line); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.legal-nav a:first-child { border-left: 0; }
.legal-nav a:hover { color: var(--venture-primary-dark); background: var(--venture-primary-light); }
.legal-register { padding: clamp(64px, 9vw, 130px) 0; }
.legal-part { padding: 0 0 72px; margin: 0 0 72px; border-bottom: 1px solid var(--line); scroll-margin-top: 140px; }
.legal-part__head { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 24px; margin-bottom: 30px; }
.legal-part__number { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; color: var(--venture-primary-dark); padding-top: 9px; }
.legal-part h2 { font-family: var(--display); font-size: clamp(2rem, 4vw, 3.65rem); letter-spacing: -.045em; line-height: 1; font-weight: 500; }
.legal-part__head p { max-width: 650px; margin: 14px 0 0; color: var(--ink-2); }
.legal-entry { display: grid; grid-template-columns: 120px minmax(0,1fr) auto; gap: 24px; align-items: start; padding: 22px 0; border-top: 1px solid var(--line); }
.legal-entry__id { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--venture-primary-dark); padding-top: 3px; }
.legal-entry h3 { font-size: 17px; font-weight: 500; letter-spacing: -.01em; }
.legal-entry p { margin: 4px 0 0; max-width: 610px; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.legal-entry__state { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; padding-top: 4px; }
.legal-principles { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.legal-principle { padding: 24px 20px; min-height: 210px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.legal-principle__n { font-family: var(--mono); font-size: 10px; color: var(--venture-primary-dark); }
.legal-principle h3 { margin: 36px 0 10px; font-size: 16px; font-weight: 500; }
.legal-principle p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--ink-2); }
.legal-note { margin-top: 8px; padding: 28px; background: var(--venture-primary-light); border-left: 3px solid var(--venture-primary); }
.legal-note p { max-width: 760px; margin: 0; color: var(--venture-dark); }
.legal-entry h3 a { transition: color .25s var(--ease); }
.legal-entry h3 a:hover { color: var(--venture-primary-dark); }
.legal-document__hero { padding: 152px 0 64px; background: var(--venture-dark); color: var(--paper-on-dark); }
.legal-document__back { display: inline-flex; margin-bottom: 42px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--venture-primary-tint); }
.legal-document__back:hover { color: var(--paper-on-dark); }
.legal-document .legal-title { max-width: 900px; font-size: clamp(2.8rem, 6vw, 5.6rem); }
.legal-document__body { padding: clamp(64px, 9vw, 128px) 0; background: var(--paper); }
.legal-document__prose { max-width: 770px; margin: 0 auto; font-size: 17px; line-height: 1.75; color: var(--ink-2); }
.legal-document__prose h2 { margin: 64px 0 18px; font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.035em; color: var(--ink); }
.legal-document__prose h3 { margin: 38px 0 14px; font-family: var(--display); font-size: 1.35rem; line-height: 1.2; color: var(--ink); }
.legal-document__prose p { margin: 0 0 20px; }
.legal-document__prose ul { margin: 0 0 24px; padding-left: 20px; }
.legal-document__prose li { margin: 8px 0; padding-left: 4px; }
.legal-document__prose hr { margin: 38px 0; border: 0; border-top: 1px solid var(--line); }
.legal-document__prose strong { color: var(--ink); font-weight: 600; }
@media (max-width: 900px) { .legal-control { grid-template-columns: repeat(2, 1fr); } .legal-control div:nth-child(3) { border-left: 0; } .legal-principles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .legal-hero { padding-top: 120px; } .legal-control { grid-template-columns: 1fr; } .legal-control div + div, .legal-control div:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-on-dark); } .legal-nav { top: 64px; } .legal-part { padding-bottom: 52px; margin-bottom: 52px; } .legal-part__head, .legal-entry { grid-template-columns: 1fr; gap: 8px; } .legal-entry__state { grid-row: 1; justify-self: start; } .legal-principles { grid-template-columns: 1fr; } }
