/* One rhythm for context → title → description → the next task.
   Public, page and compact workspace headers share the same spacing tokens. */
:root {
 --heading-label-gap:8px;
 --heading-description-gap:12px;
 --heading-content-gap:32px;
 --page-title-size:40px;
}
#hub:is([data-surface=learner],[data-surface=host]) :is(.portal-intro,.brief-heading) {
 display:flex; flex-direction:column; align-items:flex-start;
 margin:0 0 var(--heading-content-gap); max-width:760px;
}
#hub:is([data-surface=learner],[data-surface=host]) :is(.portal-intro,.brief-heading)>.eyebrow {
 display:block; margin:0 0 var(--heading-label-gap);
}
#hub:is([data-surface=learner],[data-surface=host]) :is(.portal-intro,.brief-heading)>h1 {
 margin:0; font-size:var(--page-title-size); line-height:1.15;
}
#hub:is([data-surface=learner],[data-surface=host]) :is(.portal-intro,.brief-heading)>p {
 margin:var(--heading-description-gap) 0 0; line-height:1.65;
}
#hub:is([data-surface=learner],[data-surface=host]) .portal-intro>button { margin-top:24px; }
#hub:is([data-surface=learner],[data-surface=host]) .portal-empty>h1 { margin:0; font-size:var(--page-title-size); line-height:1.15; }
#hub:is([data-surface=learner],[data-surface=host]) .portal-empty>h1+p { margin:var(--heading-description-gap) 0 24px; }
#accountMessage:empty { display:none; }
#join .join-intro>.start-eyebrow { margin:0 0 var(--heading-label-gap); }
#join .join-intro>h1 { margin:0; }
#join .join-intro>p:not(.start-eyebrow) { margin:var(--heading-description-gap) 0 0; }
.start-account-entry .start-eyebrow,.join-card-heading .start-eyebrow { margin-bottom:var(--heading-label-gap); }
.start-account-entry h2 { margin-bottom:0; }
.start-account-entry p,.join-card-heading p { margin-top:var(--heading-description-gap); }
.shell-home-hero>div>h2 { margin:var(--heading-label-gap) 0 0; }
.shell-home-hero>div>p { margin:var(--heading-description-gap) 0 20px; }
#hub:is([data-surface=learner],[data-surface=host]) .lab-card h2 { margin:var(--heading-label-gap) 0 0; }
#hub:is([data-surface=learner],[data-surface=host]) .lab-card h2+p,.home-lab-grid h3+p { margin-top:var(--heading-description-gap); }
.home-lab-grid h3 { margin-top:var(--heading-label-gap); }
.shell-build-detail h2 { margin:var(--heading-label-gap) 0 0; }
.shell-build-detail h2+p { margin:var(--heading-description-gap) 0 24px; }
#studio .heading-copy .build-identity { margin:0 0 calc(var(--heading-label-gap) / 2); }
#studio .heading-copy h1 { margin:0; line-height:1.2; }
@media(min-width:761px) {
 #learnerShell[data-view=home] .shell-home-hero>div>h2 { margin:var(--heading-label-gap) 0 0; }
}
@media(max-width:760px) {
 :root { --page-title-size:30px; --heading-content-gap:24px; }
}
