html { scroll-behavior: smooth; }
body.admin-bar .site-header { top: 32px; }
.cgs-page-main { min-height: 55vh; }
.cgs-page-content { margin: 0; }
.cgs-page-content > .service-main { margin-inline: auto; }
.cgs-service-content { min-width: 0; }
.cgs-service-content > .service-main { width: 100%; margin-inline: 0; }
.cgs-service-rail .rail-group h3 a { color: inherit; text-decoration: none; }
.cgs-service-rail .rail-group h3 a:hover,
.cgs-service-rail .rail-group h3 a:focus-visible { color: #f9423a; }
.cgs-service-rail .rail-group.is-current-group h3 { color: #334d58; }
.cgs-service-rail .rail-group a[aria-current="page"] { color: #f9423a; }
.sg-media--placeholder.cgs-acf-media:has(> img) {
  border: 0;
  align-items: flex-end;
  justify-content: flex-start;
  background: var(--color-grey-200);
  color: var(--color-white);
}
.sg-media--placeholder.cgs-acf-media:has(> img)::after { display: none; }
.sg-media--placeholder.cgs-acf-media:has(> img) > span { display: none; }
.process-editorial__media--placeholder.cgs-acf-media:has(> img) { background: var(--color-grey-100); }
.cgs-page-content img,
.cgs-page-main img { display: block; max-width: 100%; }
.cgs-page-content [class*="media"],
.cgs-page-content [class*="image"] { overflow: hidden; }
.cgs-page-content [class*="media"] > img,
.cgs-page-content [class*="image"] > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sg-media--placeholder,
.process-editorial__media--placeholder,
.site-case-placeholder { background: #edf1f3 !important; color: #33424c !important; }
.cgs-form-status { margin-top: 1rem; padding: .8rem 1rem; border-left: 4px solid #d8a72a; background: #f7f3e8; }

.cgs-collection-page { min-height: 60vh; background: #f5f6f6; padding-bottom: 88px; }
.cgs-collection-hero { min-height: 300px; display: grid; place-items: center; padding: 72px 24px; color: #fff; background: linear-gradient(120deg,#0f242c,#183a45); text-align: center; }
.cgs-collection-hero h1 { margin: .5rem 0 0; color: inherit; font-size: clamp(2.2rem,5vw,4.6rem); }
.cgs-collection-hero .archive-description { max-width: 760px; margin: 1rem auto 0; }
.cgs-archive-grid { width: min(1180px, calc(100% - 40px)); margin: -48px auto 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; position: relative; }
.cgs-archive-card { background: #fff; box-shadow: 0 14px 34px rgba(15,36,44,.1); min-width: 0; }
.cgs-archive-card__media { display: block; aspect-ratio: 4/3; overflow: hidden; background: #dfe5e7; }
.cgs-archive-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cgs-archive-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg,#d7dee1,#eef1f2); }
.cgs-archive-card__body { padding: 26px; }
.cgs-archive-card__body h2 { margin: 0 0 12px; font-size: 1.35rem; }
.cgs-archive-card__body h2 a { color: inherit; text-decoration: none; }
.cgs-card-link { display: inline-block; margin-top: 12px; color: #0f6774; font-weight: 700; text-decoration: none; }
.navigation.pagination { width: min(1180px, calc(100% - 40px)); margin: 42px auto 0; }
.nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.page-numbers { padding: 10px 14px; background: #fff; color: #17343d; text-decoration: none; }
.page-numbers.current { background: #17343d; color: #fff; }
.cgs-empty { grid-column: 1/-1; background: #fff; padding: 32px; }
.cgs-error-page { min-height: 65vh; display: grid; place-content: center; justify-items: start; gap: 16px; width: min(760px,calc(100% - 40px)); margin: auto; }
.cgs-error-page h1,.cgs-error-page p { margin: 0; }
.mobile-nav .menu-item { list-style: none; }
.primary-nav .mega-menu h3 a { color: inherit; text-decoration: none; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 52px; width: auto; }

@media (max-width: 1024px) {
  .cgs-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 700px) {
  .cgs-collection-hero { min-height: 240px; padding: 56px 20px; }
  .cgs-archive-grid { width: min(100% - 28px,560px); grid-template-columns: 1fr; gap: 20px; margin-top: -30px; }
  .cgs-archive-card__body { padding: 22px; }
  .silk-table-wrap, .modular-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
