/* Unified site density: retain breathing room while removing empty vertical drift. */

.section:not(.hero):not(.contact-section):not(.room-delivery-sheet) {
  padding-top: clamp(60px, 6vw, 88px) !important;
  padding-bottom: clamp(60px, 6vw, 88px) !important;
}

.section-heading-wide {
  align-items: center !important;
}

.section-heading-wide .eyebrow {
  padding-top: 8px !important;
}

.section-heading-wide h2 {
  max-width: 12ch !important;
  font-size: clamp(2.65rem, 4vw, 4.25rem) !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}

html[lang="en"] .section-heading-wide h2 {
  max-width: 14ch !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.45rem, 3.6vw, 3.9rem) !important;
  letter-spacing: -0.035em !important;
}

.section-heading-wide .section-note {
  margin-top: 4px !important;
  font-size: 0.84rem !important;
  line-height: 1.78 !important;
}

.service-editorial,
.product-preview-grid,
.deliverables-grid,
.na-gallery,
.concept-tabs,
.brand-preview-grid {
  margin-top: 42px !important;
}

.product-preview-section {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.design-credit-banner {
  margin-top: 34px !important;
  margin-bottom: 28px !important;
}

.deliverables-section .design-scope-list {
  margin-top: 24px !important;
  margin-bottom: 34px !important;
}

.deliverables-section .deliverables-grid {
  margin-top: 0 !important;
}

.deliverables-section .case-editorial {
  margin-top: 60px !important;
}

.north-american-section .na-gallery,
.concept-library-section .concept-tabs {
  margin-top: 38px !important;
}

.brand-preview-section .sourcing-paths {
  margin-top: 38px !important;
  margin-bottom: 18px !important;
}

.brand-preview-section .sourcing-paths article {
  min-height: 215px !important;
  padding: clamp(28px, 3vw, 42px) !important;
}

.brand-preview-section .brand-logo-wall {
  margin-top: 18px !important;
}

.contact-section {
  margin-top: 72px !important;
  margin-bottom: 72px !important;
}

/* Compact subpage introductions. */
.subpage-main > .subpage-hero:not(.delivery-hero) {
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(320px, 1.14fr) !important;
  gap: 22px 70px !important;
  align-items: end !important;
  min-height: 0 !important;
  padding: clamp(46px, 5vw, 68px) max(40px, calc((100vw - 1320px) / 2)) !important;
}

.subpage-main > .subpage-hero:not(.delivery-hero) .eyebrow {
  grid-column: 1 / -1;
  margin: 0 !important;
}

.subpage-main > .subpage-hero:not(.delivery-hero) h1 {
  grid-column: 1;
  max-width: 11ch !important;
  margin: 0 !important;
  font-size: clamp(3rem, 4.3vw, 4.6rem) !important;
  line-height: 1.06 !important;
  text-wrap: balance;
}

.subpage-main > .subpage-hero:not(.delivery-hero) > p:not(.eyebrow) {
  grid-column: 2;
  max-width: 52ch !important;
  margin: 0 !important;
  padding-left: 20px;
  border-left: 1px solid #b38279;
  font-size: 0.86rem !important;
  line-height: 1.82 !important;
}

html[lang="en"] .subpage-main > .subpage-hero:not(.delivery-hero) h1 {
  max-width: 15ch !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.9rem, 4.3vw, 4.7rem) !important;
  letter-spacing: -0.04em !important;
}

/* Packages: keep all three offers readable without oversized dead zones. */
.package-page-section {
  padding-top: 58px !important;
  padding-bottom: 68px !important;
}

.package-page-section .design-credit-banner {
  margin-top: 0 !important;
  margin-bottom: 30px !important;
}

.package-page-section .package-grid {
  gap: 16px !important;
}

.package-page-section .package-card {
  min-height: 0 !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border-radius: 0 !important;
}

.package-page-section .package-card h2 {
  max-width: 11em;
  margin: 22px 0 26px !important;
  font-size: clamp(1.85rem, 2.4vw, 2.55rem) !important;
  line-height: 1.3 !important;
  text-wrap: balance;
}

.package-page-section .package-section {
  padding: 20px 0 !important;
}

.package-page-section .package-fit {
  margin-top: 22px !important;
}

.package-page-section .package-card .button {
  margin-top: 12px !important;
}

/* Brands: two sourcing paths and logos read as one compact system. */
.brand-page-section {
  padding-top: 56px !important;
  padding-bottom: 64px !important;
}

.brand-page-section .sourcing-paths {
  margin: 0 auto 28px !important;
}

.brand-page-section .sourcing-paths article {
  min-height: 210px !important;
  padding: clamp(28px, 3vw, 42px) !important;
}

.brand-page-section .sourcing-paths h3 {
  margin-top: 16px !important;
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
}

.brand-page-section .sourcing-paths p {
  margin-top: 12px !important;
  line-height: 1.72 !important;
}

.brand-page-section .brand-page-grid {
  margin-top: 0 !important;
}

.subpage-cta {
  width: min(100% - 80px, 1320px) !important;
  margin: 64px auto !important;
  padding: clamp(34px, 4vw, 52px) !important;
}

.subpage-cta h2 {
  max-width: 14em;
  margin: 0 !important;
  font-size: clamp(2rem, 3vw, 3.25rem) !important;
  line-height: 1.2 !important;
  text-wrap: balance;
}

.subpage-cta p {
  margin-top: 14px !important;
}

/* Delivery pages already use a document-like layout; tighten only vertical rhythm. */
.delivery-detail-page .delivery-hero {
  min-height: 560px !important;
  padding-top: 78px !important;
  padding-bottom: 78px !important;
}

.delivery-detail-page .room-delivery-sheet {
  padding-top: clamp(64px, 6vw, 90px) !important;
  padding-bottom: clamp(64px, 6vw, 90px) !important;
}

.delivery-detail-page .room-sheet-heading {
  margin-bottom: 34px !important;
}

@media (max-width: 900px) {
  .subpage-main > .subpage-hero:not(.delivery-hero) {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 50px 28px !important;
  }

  .subpage-main > .subpage-hero:not(.delivery-hero) .eyebrow,
  .subpage-main > .subpage-hero:not(.delivery-hero) h1,
  .subpage-main > .subpage-hero:not(.delivery-hero) > p:not(.eyebrow) {
    grid-column: 1;
  }

  .subpage-main > .subpage-hero:not(.delivery-hero) > p:not(.eyebrow) {
    max-width: 60ch !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 720px) {
  .section:not(.hero):not(.contact-section):not(.room-delivery-sheet) {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .section-heading-wide h2 {
    max-width: 12ch !important;
    font-size: 2.55rem !important;
  }

  .section-heading-wide .section-note {
    margin-top: 18px !important;
  }

  .service-editorial,
  .product-preview-grid,
  .deliverables-grid,
  .na-gallery,
  .concept-tabs,
  .brand-preview-grid {
    margin-top: 30px !important;
  }

  .subpage-main > .subpage-hero:not(.delivery-hero) h1 {
    font-size: 3.1rem !important;
  }

  .subpage-cta {
    width: calc(100% - 30px) !important;
    margin: 48px auto !important;
  }
}
