/* A visit declaration, not an investor verification or product access system. */
body.investor-pending { overflow: hidden; }
.investor-pending #site-content { filter: blur(5px); }
.investor-gate { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; border: 0; padding: 24px; background: rgba(24,32,28,.62); color: var(--ink); overflow: auto; overscroll-behavior: contain; z-index: 20; }
.investor-gate[open] { display: flex; align-items: center; justify-content: center; }
.investor-gate:not([open]),.investor-gate [hidden] { display: none; }
.investor-gate::backdrop { background: transparent; }
.investor-card { width: min(820px,100%); max-height: 100%; display: flex; flex-direction: column; background: var(--paper); border-top: 3px solid var(--red); box-shadow: 0 24px 100px #101a1440; }
.investor-heading { padding: 28px 40px 20px; flex-shrink: 0; }
.investor-heading .eyebrow { color: var(--red); font-size: 9px; letter-spacing: .14em; }
.investor-heading h2 { font-size: 32px; line-height: 1.4; margin-top: 12px; letter-spacing: .01em; }
.investor-heading h2:focus { outline: none; }
.investor-reading { overflow-y: auto; overscroll-behavior: contain; padding: 0 40px 24px; min-height: 0; font-size: 13px; }
.investor-lead { color: var(--muted); }
.investor-baseline { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.investor-baseline strong { color: var(--red); font-weight: 500; }
.investor-criteria { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 18px 0 14px; }
.investor-criterion { padding: 16px 20px; background: #ebede4; }
.investor-criterion h3 { font-size: 12px; font-weight: 500; margin-bottom: 8px; }
.investor-criterion p { font-size: 13px; line-height: 1.9; }
.investor-criterion strong { color: var(--red); font-size: 20px; line-height: 1.3; font-family: Georgia,var(--serif); font-weight: 400; }
.investor-criterion small { font-size: 11px; }
.investor-other { color: var(--muted); font-size: 11px; }
.investor-other a { text-decoration: underline; text-underline-offset: 3px; }
.investor-risk { margin-top: 20px; padding-left: 15px; border-left: 2px solid #a57279; font-size: 12px; }
.investor-risk strong { display: block; font-weight: 500; margin-bottom: 4px; }
.investor-scope { font-size: 11px; color: var(--muted); margin-top: 12px; }
.investor-actions { flex-shrink: 0; padding: 20px 40px 26px; border-top: 1px solid var(--line); background: #efefe7; }
.investor-buttons { display: flex; justify-content: flex-end; gap: 12px; margin-top: 18px; }
.investor-actions .investor-buttons { margin-top: 0; }
.investor-button { min-height: 44px; padding: 12px 26px; border: 1px solid #abb0a6; background: transparent; font-size: 12px; line-height: 1.5; }
.investor-button:hover { background: #e1e4d9; }
.investor-button-primary { background: var(--red); color: white; border-color: var(--red); }
.investor-button-primary:hover { background: #642630; }
.investor-button-primary:disabled { color: #7c8277; border-color: #d4d7cc; background: #dfe2d8; cursor: not-allowed; }
.investor-declined { padding: 0 40px 32px; overflow: auto; font-size: 14px; }
.investor-declined p+p { margin-top: 15px; }
.investor-declined a { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
.investor-reopen { background: none; border: 0; padding: 8px 0; margin-top: 5px; min-height: 32px; color: var(--red); font: inherit; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.investor-noscript { margin-top: 14px; color: var(--red); font-size: 12px; }
@media(max-width:600px) {
  .investor-gate { padding: 12px; }
  .investor-heading { padding: 22px 22px 16px; }
  .investor-heading h2 { font-size: 27px; margin-top: 10px; }
  .investor-heading .eyebrow { font-size: 8px; }
  .investor-reading { padding: 0 22px 22px; }
  .investor-criteria { grid-template-columns: 1fr; gap: 10px; margin-top: 14px; }
  .investor-criterion { padding: 13px 16px; }
  .investor-criterion h3 { margin-bottom: 5px; }
  .investor-baseline { margin-top: 14px; padding-top: 14px; }
  .investor-actions { padding: 16px 22px 20px; }
  .investor-buttons { gap: 10px; }
  .investor-button { flex: 1; padding: 12px 8px; }
  .investor-declined { padding: 0 22px 24px; font-size: 13px; }
}
@media(max-height:560px) {
  .investor-heading { padding-top: 14px; padding-bottom: 12px; }
  .investor-heading h2 { font-size: 24px; margin-top: 5px; }
  .investor-actions { padding-top: 12px; padding-bottom: 14px; }
  .investor-buttons { margin-top: 10px; }
}
