.ror-hub { --hub-blue: #19516d; }
.ror-hub .hub-hero { display: grid; grid-template-columns: .95fr 1.05fr; gap: 38px; align-items: center; padding: 64px 0 48px; }
.ror-hub .hub-hero h1 { font-size: clamp(2.8rem, 5vw, 4.6rem); line-height: 1.05; margin: 16px 0 24px; }
.ror-hub .hub-intro { font-size: 1.15rem; line-height: 1.7; max-width: 42ch; }
.ror-hub .hub-hero img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--line); box-shadow: 0 14px 35px #17334a18; }
.ror-hub .hub-button { display: inline-block; padding: 13px 20px; margin-top: 12px; background: var(--hub-blue); color: white; border-radius: 7px; text-decoration: none; font-weight: 800; }
.ror-hub .hub-section { padding: 38px 0; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.ror-hub h2 { margin: 8px 0 26px; }
.ror-hub .hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ror-hub .hub-task { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: #fffef8; color: var(--ink); text-decoration: none; }
.ror-hub .hub-task:hover { border-color: var(--hub-blue); }
.ror-hub .hub-number { font-size: .7rem; letter-spacing: .08em; color: var(--hub-blue); font-weight: 800; }
.ror-hub .hub-task h3 { margin: 20px 0 12px; font-size: 1.4rem; }
.ror-hub .hub-task p { font-size: .95rem; line-height: 1.7; }
.ror-hub .hub-action { margin-top: auto; padding-top: 18px; font-weight: 800; color: var(--hub-blue); }
.ror-hub .hub-choose { display: grid; grid-template-columns: 1fr 1.3fr; gap: 50px; }
.ror-hub .hub-choose h3 { margin: 0 0 8px; }
.ror-hub .hub-choose p { margin-bottom: 28px; }
.ror-hub .hub-notes { padding: 24px 0 48px; max-width: 78ch; font-size: .85rem; color: var(--muted); }
.ror-hub .hub-notes h2 { font-size: 1.1rem; margin-bottom: 12px; }
@media (max-width: 900px) {
  .ror-hub .hub-hero { grid-template-columns: 1fr; gap: 26px; padding-top: 36px; }
  .ror-hub .hub-grid { grid-template-columns: 1fr; }
  .ror-hub .hub-choose { grid-template-columns: 1fr; gap: 10px; }
}
