/* The original Stackable blocks own layout, typography, colours and buttons. */
.hero-section { overflow: clip; }
.page-id-720 .entry-content, .page-id-13 .entry-content { hyphens: none; }
.page-id-720 .ugb-9bf16ba p { color: var(--paletteColor4, #fff); font-size: 18px; }
/* Give the raised contact portrait room below the services FAQs. */
.page-id-7 .ugb-0c572f5 { padding-bottom: 140px; }
@media (max-width: 767px) { .page-id-7 .ugb-0c572f5 { padding-bottom: 70px; } }
.nb-experience-note { color: var(--paletteColor4, #fff); margin-top: 20px; margin-bottom: 25px; line-height: 1.6; }
.nb-service-anchor { display: block; height: 0; margin: 0 !important; scroll-margin-top: 130px; }
.ugb-feature-grid h2.ugb-feature-grid__title, .ugb-feature-grid h3.ugb-feature-grid__title { font-size: 20px !important; }
.wp-block-image figcaption { font-size: 14px; line-height: 1.6; }

/* Links must remain distinct when a service card takes its orange hover colour. */
.ct-special-features .ugb-feature-grid__description a { text-decoration: underline; text-underline-offset: 3px; }
.ct-special-features .ugb-feature-grid__item:hover a,
.ct-special-features .ugb-feature-grid__item:hover a:hover,
.ct-special-features .ugb-feature-grid__item:hover a:focus-visible { color: #171717 !important; }
.ct-special-features a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }

.nb-project-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 12px 0 42px; padding: 24px 0; border-top: 1px solid #454545; border-bottom: 1px solid #454545; }
.nb-project-facts div { min-width: 0; }
.nb-project-facts dt { color: var(--paletteColor1,#e65616); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }
.nb-project-facts dd { color: var(--paletteColor4,#fff); font-size: 15px; line-height: 1.6; margin: 0; }
.nb-project-intro { color: var(--paletteColor4,#fff); font-size: 19px; line-height: 1.7; }
.nb-project-services a { display: inline-block; margin: 0 14px 10px 0; text-decoration: underline; text-underline-offset: 4px; }
.nb-gallery-note { font-size: 14px; text-align: center; margin-top: 14px; }
@media (max-width: 600px) { .nb-project-facts { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; } }

/* Tablet layouts: keep usable line lengths without desktop-sized card insets. */
@media (min-width: 768px) and (max-width: 1025px) {
  .page-id-13 .ugb-f464ae6 > .ugb-inner-block > .ugb-block-content > .ugb-feature-grid__item { padding: 36px 20px !important; }
  .page-id-13 .ugb-f464ae6 .ugb-block-content { gap: 20px; }
  .page-id-13 .ugb-feature-grid__description a { white-space: nowrap; font-size: 15px; }
  .page-id-7 .ugb-feature-grid > .ugb-inner-block > .ugb-block-content { grid-template: none / repeat(2,minmax(0,1fr)) !important; grid-auto-flow: row !important; gap: 24px; }
  .page-id-7 .ugb-feature-grid > .ugb-inner-block > .ugb-block-content > .ugb-feature-grid__item { padding: 32px !important; }
  .page-id-7 .ugb-feature-grid__item:last-child { grid-column: 1 / -1; }
  .page-id-7 .ugb-feature-grid__image { margin-bottom: 28px !important; }
  .page-id-720 p, .page-id-13 p { hyphens: none !important; }
  .page-id-720 .ugb-text__text, .page-id-13 .ugb-heading__subtitle { hyphens: none !important; }
}
@media (min-width: 768px) and (max-width: 900px) {
  #post-720 .ugb-4dc86ec > .ugb-inner-block > .ugb-block-content > .ugb-columns__item,
  #post-720 .ugb-d9bcdbc > .ugb-inner-block > .ugb-block-content > .ugb-columns__item,
  #post-13 .ugb-b49c5dc > .ugb-inner-block > .ugb-block-content > .ugb-columns__item { display: flex !important; flex-direction: column !important; gap: 40px; }
  .page-id-720 .ugb-4dc86ec .wp-block-image,
  .page-id-13 .ugb-b49c5dc .wp-block-image { max-width: 340px; margin-inline: auto; }
  .page-id-13 .ugb-83c5258 .ugb-heading__title { font-size: 36px !important; line-height: 1.15 !important; }
}
