/* Shared design foundations. Page-specific files own visual identity, not spacing. */
:root {
  --rose-section-space-desktop: 80px;
  --rose-section-space-mobile: 56px;
  --rose-content-ink: #28364d;
  --rose-content-muted: #65758b;
  --rose-card-radius: 16px;
}
/* Sections opt in explicitly, keeping shop, checkout and account layouts intact. */
.rose-section-space { padding-top: var(--rose-section-pad-top, var(--rose-section-space-desktop)); padding-bottom: var(--rose-section-pad-bottom, var(--rose-section-space-desktop)); }
/* Adjacent sections with the same background share one visual gap.
 * Both halves opt in explicitly; unrelated section spacing remains unchanged. */
.rose-section-space.rose-adjacent-end {
  --rose-section-pad-bottom: calc(var(--rose-section-space-desktop) / 2);
  --rose-section-pad-bottom-mobile: calc(var(--rose-section-space-mobile) / 2);
}
.rose-section-space.rose-adjacent-start {
  --rose-section-pad-top: calc(var(--rose-section-space-desktop) / 2);
  --rose-section-pad-top-mobile: calc(var(--rose-section-space-mobile) / 2);
}
/* Services and Projects share vertical hero rhythm without sharing visual artwork. */
.rose-services-page, .rose-projects-page, .rose-about, .rose-contact-page, .rose-privacy-page {
  --page-hero-padding-desktop: var(--rose-section-space-desktop);
  --page-hero-padding-mobile: var(--rose-section-space-mobile);
}
@media (max-width: 720px) {
  .rose-section-space { padding-top: var(--rose-section-pad-top-mobile, var(--rose-section-space-mobile)); padding-bottom: var(--rose-section-pad-bottom-mobile, var(--rose-section-space-mobile)); }
}
