/* N&I Design 2.4.29 — remove article cover image and harmonise vertical rhythm. */
:root {
  --nid-section-space-desktop: clamp(68px, 7.2vw, 94px);
  --nid-section-space-tablet: 68px;
  --nid-section-space-mobile: 54px;
  --nid-content-gap: 26px;
  --nid-heading-gap: 32px;
}

/* Article header: no featured-image background, no residual image layers. */
.single-post-main > .article-header {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding-block: clamp(44px, 5.2vw, 66px) clamp(38px, 4.6vw, 58px) !important;
  background: linear-gradient(135deg, #F2F0E9 0%, #EAE8E0 54%, #F0EEE7 100%) !important;
}
.single-post-main > .article-header::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
.single-post-main > .article-header::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(ellipse at 92% 12%, rgba(179,160,106,.13), transparent 34%),
    radial-gradient(ellipse at 4% 100%, rgba(255,255,255,.30), transparent 42%) !important;
}
.single-post-main > .article-header > .article-header__inner {
  position: relative !important;
  z-index: 1 !important;
}
.single-post-main > .article-layout {
  padding-top: clamp(28px, 3.4vw, 44px) !important;
}

/* Mobile top rail: the inline SVG icons were previously hidden below 760px. */
@media (max-width: 760px) {
  .nid-signature-rail__inner {
    box-sizing: border-box !important;
    width: calc(100% - 30px) !important;
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .nid-signature-rail__phone,
  .nid-signature-rail__email {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }
  .nid-signature-rail__phone { justify-self: start !important; }
  .nid-signature-rail__email { justify-self: end !important; }
  .nid-signature-rail__phone svg,
  .nid-signature-rail__email svg {
    display: block !important;
    visibility: visible !important;
    flex: 0 0 12px !important;
    width: 12px !important;
    height: 12px !important;
    opacity: 1 !important;
  }
  .nid-signature-rail__phone-number,
  .nid-signature-rail__email-address {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: 8px !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
  }
  .nid-signature-rail__note {
    min-width: 0 !important;
    justify-self: center !important;
    overflow: hidden !important;
  }
  .nid-signature-rail__text {
    max-width: 100% !important;
    font-size: 7px !important;
    letter-spacing: .07em !important;
    text-overflow: ellipsis !important;
  }

  /* Bring the mobile share rail closer to the article masthead without crowding it. */
  .single-post-main > .article-header {
    padding-top: 26px !important;
    padding-bottom: 18px !important;
  }
  .single-post-main > .article-header > .article-header__inner > .breadcrumbs {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding-bottom: 9px !important;
  }
  .single-post-main > .article-layout {
    padding: 12px 14px 54px !important;
    gap: 16px !important;
  }
  .single-post-main .article-social-rail {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media (max-width: 420px) {
  .nid-signature-rail__inner {
    width: calc(100% - 22px) !important;
    gap: 5px !important;
  }
  .nid-signature-rail__phone svg,
  .nid-signature-rail__email svg {
    flex-basis: 11px !important;
    width: 11px !important;
    height: 11px !important;
  }
  .nid-signature-rail__phone-number,
  .nid-signature-rail__email-address { font-size: 7px !important; }
  .nid-signature-rail__text { font-size: 6px !important; letter-spacing: .035em !important; }
}

/* Shared section rhythm. Distinctive hero/brand compositions retain their own character. */
.section-space {
  padding-block: var(--nid-section-space-desktop) !important;
}
.brand-section,
.nid-entryway-story,
.nid-team-roster {
  padding-block: var(--nid-section-space-desktop) !important;
}
.nid-team-intro {
  padding-top: 18px !important;
  padding-bottom: clamp(64px, 7vw, 86px) !important;
}
.nid-team-manifesto {
  padding-block: clamp(54px, 6vw, 72px) !important;
}
.hero-section {
  padding-top: clamp(60px, 6vw, 74px) !important;
  padding-bottom: 30px !important;
}
.intro-strip__inner { min-height: 92px !important; }
.archive-intro {
  padding-top: clamp(54px, 5.4vw, 68px) !important;
  padding-bottom: clamp(42px, 4.6vw, 56px) !important;
}
.blog-index-layout {
  padding-top: 46px !important;
  padding-bottom: 86px !important;
  column-gap: clamp(30px, 3.8vw, 46px) !important;
}
.nid-contact-hero { padding-bottom: 56px !important; }
.standard-page {
  padding-top: 36px !important;
  padding-bottom: 78px !important;
}
.standard-page__inner { padding-bottom: 0 !important; }
.nid-contact-grid { gap: 30px !important; }
.product-grid { row-gap: 30px !important; column-gap: 22px !important; }
.journal-grid,
.blog-card-grid { gap: 28px !important; }
.section-heading {
  gap: clamp(24px, 3vw, 38px) !important;
  margin-bottom: var(--nid-heading-gap) !important;
}
.section-heading h2 { margin-top: 14px !important; }

/* Reading pages and content blocks use the same measured text rhythm. */
.standard-page .entry-content p { margin-bottom: 18px !important; }
.standard-page .entry-content h2 { margin-top: 34px !important; margin-bottom: 12px !important; }
.standard-page .entry-content h3 { margin-top: 24px !important; margin-bottom: 9px !important; }
.article-content__topline { margin-bottom: 20px !important; }
.article-entry-content > p { margin-bottom: 20px !important; }
.article-entry-content > h2 { margin-top: 38px !important; margin-bottom: 15px !important; }
.article-entry-content > h3 { margin-top: 28px !important; margin-bottom: 11px !important; }

@media (min-width: 761px) and (max-width: 1080px) {
  :root { --nid-section-space-desktop: var(--nid-section-space-tablet); }
  .nid-team-roster,
  .nid-entryway-story,
  .brand-section { padding-block: var(--nid-section-space-tablet) !important; }
}
@media (max-width: 760px) {
  :root { --nid-section-space-desktop: var(--nid-section-space-mobile); --nid-heading-gap: 25px; }
  .section-space,
  .brand-section,
  .nid-entryway-story,
  .nid-team-roster { padding-block: var(--nid-section-space-mobile) !important; }
  .nid-team-intro { padding-top: 14px !important; padding-bottom: 58px !important; }
  .nid-team-manifesto { padding-block: 46px !important; }
  .hero-section { padding-top: 48px !important; padding-bottom: 24px !important; }
  .intro-strip__inner { min-height: 80px !important; }
  .archive-intro { padding-top: 42px !important; padding-bottom: 36px !important; }
  .blog-index-layout { padding-top: 30px !important; padding-bottom: 60px !important; row-gap: 34px !important; }
  .nid-contact-hero { padding-bottom: 42px !important; }
  .standard-page { padding-top: 24px !important; padding-bottom: 58px !important; }
  .section-heading { margin-bottom: 24px !important; }
  .journal-grid,
  .blog-card-grid { gap: 22px !important; }
  .product-grid { row-gap: 24px !important; }
  .article-content__topline { margin-bottom: 16px !important; }
  .article-entry-content > p { margin-bottom: 17px !important; }
  .article-entry-content > h2 { margin-top: 30px !important; }
  .article-entry-content > h3 { margin-top: 24px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

/* High-specificity harmonisation for page wrappers with legacy !important offsets. */
main.single-post-main > .article-header {
  margin-top: 0 !important;
  padding-top: clamp(44px, 5.2vw, 66px) !important;
  padding-bottom: clamp(38px, 4.6vw, 58px) !important;
}
main.single-post-main > .article-header::before {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
main.single-post-main > .article-header::after { z-index: 0 !important; }
main.single-post-main > .article-layout { padding-top: clamp(28px, 3.4vw, 44px) !important; }
main.archive-main > .archive-intro,
main.blog-index-main > .archive-intro,
main.search-main > .archive-intro {
  padding-top: clamp(54px, 5.4vw, 68px) !important;
  padding-bottom: clamp(42px, 4.6vw, 56px) !important;
}
main.nid-contact-page > .nid-contact-hero {
  padding-top: clamp(42px, 5vw, 60px) !important;
  padding-bottom: 56px !important;
}
main.nid-contact-page > .nid-contact-hero > .nid-contact-hero__inner { padding-bottom: 0 !important; }
main.nid-contact-page > .nid-contact-main.section-space {
  padding-top: var(--nid-section-space-desktop) !important;
  padding-bottom: var(--nid-section-space-desktop) !important;
}
main.standard-page {
  padding-top: 36px !important;
  padding-bottom: 78px !important;
}
.nid-team-intro__inner > .breadcrumbs { margin-bottom: 34px !important; }

@media (max-width: 760px) {
  main.single-post-main > .article-header {
    padding-top: 26px !important;
    padding-bottom: 18px !important;
  }
  main.single-post-main > .article-header > .article-header__inner > .breadcrumbs {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding-top: 0 !important;
    padding-bottom: 9px !important;
  }
  main.single-post-main > .article-layout {
    padding-top: 12px !important;
    padding-bottom: 54px !important;
  }
  main.archive-main > .archive-intro,
  main.blog-index-main > .archive-intro,
  main.search-main > .archive-intro {
    padding-top: 42px !important;
    padding-bottom: 36px !important;
  }
  main.nid-contact-page > .nid-contact-hero {
    padding-top: 28px !important;
    padding-bottom: 42px !important;
  }
  main.nid-contact-page > .nid-contact-main.section-space {
    padding-top: var(--nid-section-space-mobile) !important;
    padding-bottom: var(--nid-section-space-mobile) !important;
  }
  main.standard-page {
    padding-top: 24px !important;
    padding-bottom: 58px !important;
  }
  .nid-team-intro__inner > .breadcrumbs { margin-bottom: 26px !important; }
}
