/* Integration-only rules; the full reference stylesheet precedes this file. */
.nav nav{gap:18px}
@media(min-width:1151px){.nav{gap:18px}.nav-actions{gap:16px}}
.price{overflow-wrap:anywhere}

.nav-actions a[href="/register"]{max-width:220px;text-align:center}
.hero-buttons a[href="/register"]{width:270px;min-height:62px;padding:5px 17px}
@media(max-width:1150px){.hero-buttons a[href="/register"]{min-height:60px}}
@media(max-width:650px){.hero-buttons a[href="/register"]{width:100%;min-height:60px}}
.registration-notice{min-height:65vh;max-width:800px}
.registration-notice h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;margin-bottom:28px;overflow-wrap:anywhere}
.registration-notice>p:not(.eyebrow){max-width:620px;font-size:1.125rem;color:var(--muted)}

/* Hub-owned catalog; cards are rendered on the server without inline styles. */
.hub-price-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1.25rem; }
.hub-price-line { display: contents; }
.hub-price-line > h2, .hub-price-line > p { grid-column: 1 / -1; }
.hub-price-card { border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1.5rem; background: #fff; }
.hub-price-card h3 { margin-top: 0; }
.hub-price-card strong { font-size: 1.5rem; }
