/* Network page: RHP shell; the JRB card carries JRB Law's own look (from the "Built to Code" deck). */
.vendor-list { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: 1.5rem; }
.jrb-card {
  --jrb-bg: #141412; --jrb-ink: #ede9e0; --jrb-gray: #9a9890; --jrb-dim: #6a6860;
  --jrb-rule: #5e5e5c; --jrb-sage: #8ab89e;
  display: grid; grid-template-columns: 168px 1fr; gap: 2rem; align-items: center;
  background: var(--jrb-bg); color: var(--jrb-ink);
  border: 1px solid rgba(237,233,224,0.10); border-left: 3px solid var(--jrb-sage);
  border-radius: 6px; padding: 2rem 2.25rem;
}
.jrb-photo img { display: block; width: 168px; height: 168px; border-radius: 50%; object-fit: cover; }
.jrb-body > * { margin: 0; }
.jrb-label {
  font-family: 'DM Sans', system-ui, sans-serif; font-size: .72rem; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase; color: var(--jrb-sage);
}
.jrb-card .jrb-name {
  font-family: 'Playfair Display', Georgia, serif; font-weight: 400; font-size: 2rem; line-height: 1.15;
  color: var(--jrb-ink); margin: .5rem 0 .25rem; letter-spacing: 0; text-transform: none;
}
.jrb-card .jrb-name::after { content: none; display: none; }
.jrb-person { font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; color: var(--jrb-sage); }
.jrb-desc {
  font-family: 'DM Sans', system-ui, sans-serif; font-size: 1rem; line-height: 1.6; color: var(--jrb-gray);
  margin-top: 1rem !important; padding-top: 1rem; border-top: 1px solid var(--jrb-rule); max-width: 34rem;
}
.jrb-tags {
  font-family: 'DM Sans', system-ui, sans-serif; font-size: .7rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--jrb-dim); margin-top: .9rem !important;
}
.vendor-disclaimer { margin-top: 1.5rem; font-size: .85rem; opacity: .7; font-style: italic; }
@media (max-width: 640px) {
  .jrb-card { grid-template-columns: 1fr; justify-items: start; padding: 1.5rem; gap: 1.25rem; }
  .jrb-photo img { width: 128px; height: 128px; }
  .jrb-card .jrb-name { font-size: 1.6rem; }
}

.jrb-about { font-family: 'DM Sans', system-ui, sans-serif; font-size: .98rem; line-height: 1.65; color: var(--jrb-ink); margin-top: 1rem !important; max-width: 40rem; }
.jrb-h { font-family: 'DM Sans', system-ui, sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--jrb-sage); margin-top: 1.4rem !important; }
.jrb-list { list-style: none; padding: 0; margin: .5rem 0 0 !important; max-width: 40rem; }
.jrb-list li { font-family: 'DM Sans', system-ui, sans-serif; font-size: .95rem; line-height: 1.55; color: var(--jrb-gray); padding: .3rem 0; border-bottom: 1px solid rgba(94,94,92,.35); }
.jrb-list li b { color: var(--jrb-ink); font-weight: 500; }
.jrb-card { align-items: start; }

/* Contact Jacob: CTA on the card + JRB skin for the shared intake modal */
.jrb-contact { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.1rem; margin-top: 1.4rem !important; }
.jrb-card .jrb-cta {
  display: inline-block; font-family: 'DM Sans', system-ui, sans-serif; font-weight: 500; font-size: 1rem;
  letter-spacing: .04em; color: #141412 !important; background: var(--jrb-sage);
  border: 1px solid var(--jrb-sage); border-radius: 4px; padding: .75rem 1.5rem; min-height: 44px;
  text-decoration: none !important; transition: background .2s, color .2s;
}
.jrb-card .jrb-cta:hover { background: var(--jrb-ink); border-color: var(--jrb-ink); }
.jrb-card .jrb-cta:focus-visible { outline: 3px solid var(--jrb-ink); outline-offset: 3px; }
.jrb-card .jrb-cta::after { content: none !important; display: none !important; }
.jrb-email { font-family: 'DM Sans', system-ui, sans-serif; font-size: .95rem; color: var(--jrb-gray); margin: 0; }
.jrb-card .jrb-email a { color: var(--jrb-sage); text-decoration: underline; text-underline-offset: 3px; }
.jrb-card .jrb-email a:hover { color: var(--jrb-ink); }
.jrb-indep { font-family: 'DM Sans', system-ui, sans-serif; font-size: .8rem; font-style: italic; color: var(--jrb-gray); margin-top: .9rem !important; }

.jrb-theme .rhp-intake { background: #141412; color: #ede9e0; border-color: rgba(138,184,158,.45); font-family: 'DM Sans', system-ui, sans-serif; }
.jrb-theme .rhp-intake-head h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; color: #ede9e0; letter-spacing: 0; text-transform: none; }
.jrb-theme .rhp-intake-head p { color: #b9b6ad; }
.jrb-theme .jrb-intake-kicker { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: #8ab89e !important; margin: 0 0 .35rem; }
.jrb-theme .rhp-intake-step h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; color: #8ab89e; text-transform: none; letter-spacing: 0; }
.jrb-theme .rhp-intake-progress span.done { background: #8ab89e; }
.jrb-theme .rhp-intake-terms { border-color: rgba(138,184,158,.35); background: rgba(237,233,224,.04); }
.jrb-theme .rhp-intake-terms a, .jrb-theme .rhp-intake-disclaimer a { color: #8ab89e; }
.jrb-theme .rhp-intake-field label, .jrb-theme .rhp-intake-ack label { color: #ede9e0; }
.jrb-theme .rhp-intake-field input:not([type="checkbox"]), .jrb-theme .rhp-intake-field select, .jrb-theme .rhp-intake-field textarea {
  background: #1e1e1b; color: #ede9e0; border-color: #5e5e5c; font-family: 'DM Sans', system-ui, sans-serif; }
.jrb-theme .rhp-intake-field input:focus-visible, .jrb-theme .rhp-intake-field select:focus-visible, .jrb-theme .rhp-intake-field textarea:focus-visible { outline: 2px solid #8ab89e; outline-offset: 1px; border-color: #8ab89e; }
.jrb-theme .rhp-intake-ack input[type="checkbox"] { accent-color: #8ab89e; }
.jrb-theme .rhp-intake-review dt { color: #8ab89e; }
.jrb-theme .rhp-intake-review dd { color: #ede9e0; }
.jrb-theme .rhp-intake-btn.primary { background: #8ab89e; color: #141412; border-color: #8ab89e; font-family: 'DM Sans', system-ui, sans-serif; text-decoration: none; }
.jrb-theme .rhp-intake-btn.primary:hover { background: #ede9e0; border-color: #ede9e0; color: #141412; }
.jrb-theme .rhp-intake-btn.ghost { color: #ede9e0; border-color: #5e5e5c; font-family: 'DM Sans', system-ui, sans-serif; }
.jrb-theme .rhp-intake-close { color: #ede9e0; border-color: #5e5e5c; }
.jrb-theme .rhp-intake-btn:focus-visible, .jrb-theme .rhp-intake-close:focus-visible { outline: 3px solid #ede9e0; outline-offset: 2px; }

/* /contact-jacob landing panel */
.jrb-page-card { max-width: 44rem; }
.jrb-page-card .jrb-name { font-size: 1.9rem; }
.jrb-card button.jrb-cta { cursor: pointer; }
.jrb-theme .rhp-intake-disclaimer { border-left-color: #8ab89e; background: rgba(138,184,158,.08); color: #ede9e0; }

/* JRB button: one look in every Intake & Access mode (sage on near-black, 9:1 contrast) */
body .jrb-card .jrb-cta, body[class*="mode-"] .jrb-card .jrb-cta {
  background: #8ab89e !important; background-image: none !important; color: #141412 !important;
  border: 0 !important; outline: 0; box-shadow: none !important; text-decoration: none !important;
  border-radius: 4px !important; filter: none !important; opacity: 1 !important; transition: none !important;
}
body .jrb-card .jrb-cta:hover, body[class*="mode-"] .jrb-card .jrb-cta:hover { background: #ede9e0 !important; color: #141412 !important; }
body .jrb-card .jrb-cta:focus-visible { outline: 3px solid #ede9e0 !important; outline-offset: 3px !important; box-shadow: none !important; }
body .jrb-card .jrb-email a, body[class*="mode-"] .jrb-card .jrb-email a {
  color: #8ab89e !important; background: none !important; background-image: none !important; border: 0 !important;
  box-shadow: none !important; outline: 0; text-decoration: underline !important; text-underline-offset: 3px;
}
body .jrb-card .jrb-email a:focus-visible { outline: 2px solid #ede9e0 !important; outline-offset: 2px !important; }
body[class*="mode-"] .jrb-card a.jrb-cta, body .jrb-card a.jrb-cta { padding: .75rem 1.5rem !important; outline: 0 !important; line-height: 1.4 !important; }
body[class*="mode-"] .jrb-card .jrb-email a { padding: 0 !important; outline: 0 !important; }
body .jrb-card a.jrb-cta:focus-visible { outline: 3px solid #ede9e0 !important; }

/* ===== OG controller START button (Rob, Nov 12 2026) ===== */
body .jrb-card .jrb-cta, body[class*="mode-"] .jrb-card .jrb-cta,
body .jrb-card a.jrb-cta, body[class*="mode-"] .jrb-card a.jrb-cta {
  display: inline-flex !important; flex-direction: column; align-items: center; gap: .45rem;
  background: none !important; border: 0 !important; padding: .25rem .5rem !important; box-shadow: none !important;
  min-height: 0; color: inherit !important; cursor: pointer;
}
.jrb-start-pill {
  display: inline-block; font-family: 'Press Start 2P', 'DM Sans', system-ui, sans-serif; font-weight: 800;
  font-size: 1.05rem; letter-spacing: .28em; padding: .85rem 2.2rem .85rem 2.48rem; border-radius: 999px;
  color: #fff4c2; text-shadow: 0 1px 0 #5a0000, 0 0 8px rgba(255,214,64,.55);
  background: radial-gradient(120% 140% at 50% 20%, #f2687a 0%, #c8102e 45%, #7a0710 100%);
  border: 3px solid #6b0000;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.35), inset 0 -4px 0 rgba(90,0,0,.55), inset 0 0 14px rgba(255,210,63,.45),
              0 0 0 4px #1b1b1b, 0 0 0 6px #3a3a38, 0 0 18px 4px rgba(255,196,0,.35), 0 0 34px 8px rgba(200,16,46,.35);
  animation: jrb-heartbeat 1.6s ease-in-out infinite; transform-origin: center;
}
.jrb-start-cap {
  font-family: 'DM Sans', system-ui, sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .22em;
  text-transform: uppercase; color: #c8102e; text-shadow: 0 0 6px rgba(255,210,63,.35);
}
.jrb-cta:hover .jrb-start-pill, .jrb-cta:focus-visible .jrb-start-pill {
  background: radial-gradient(120% 140% at 50% 20%, #ff8a98 0%, #e0153a 45%, #8c0a14 100%);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.45), inset 0 -4px 0 rgba(90,0,0,.55), inset 0 0 18px rgba(255,210,63,.65),
              0 0 0 4px #1b1b1b, 0 0 0 6px #ffd23f, 0 0 26px 8px rgba(255,196,0,.55), 0 0 44px 12px rgba(200,16,46,.5);
}
.jrb-cta:active .jrb-start-pill { transform: translateY(2px) scale(.97); box-shadow: inset 0 3px 6px rgba(60,0,0,.7), 0 0 0 4px #1b1b1b, 0 0 0 6px #3a3a38; animation: none; }
body .jrb-card .jrb-cta:focus-visible { outline: 3px solid #ffd23f !important; outline-offset: 6px !important; border-radius: 999px; }
@keyframes jrb-heartbeat {
  0%, 40%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(255,210,63,0)); }
  10% { transform: scale(1.07); filter: drop-shadow(0 0 10px rgba(255,64,64,.75)); }
  20% { transform: scale(1.0); }
  28% { transform: scale(1.05); filter: drop-shadow(0 0 14px rgba(255,210,63,.8)); }
}
@media (prefers-reduced-motion: reduce) { .jrb-start-pill { animation: none; } }
body.mode-reduced-motion .jrb-start-pill { animation: none !important; }
