.wp-block-post-title{display:none!important}
.alignfull{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;box-sizing:border-box!important}
.alignfull.wp-block-gallery{display:block!important;column-count:4!important;column-gap:8px!important;padding:8px!important}
.alignfull.wp-block-gallery .wp-block-image{display:block!important;break-inside:avoid!important;page-break-inside:avoid!important;-webkit-column-break-inside:avoid!important;width:100%!important;max-width:100%!important;flex:none!important;margin:0 0 8px 0!important}
.alignfull.wp-block-gallery .wp-block-image img{width:100%!important;height:auto!important;display:block!important;aspect-ratio:auto!important;object-fit:initial!important}
@media (max-width:1023px){.alignfull.wp-block-gallery{column-count:2!important}}
@media (max-width:599px){.alignfull.wp-block-gallery{column-count:1!important}}
html body .wp-block-gallery .wp-block-image{position:relative!important;overflow:hidden!important}
html body .wp-block-gallery .wp-block-image figcaption{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;height:auto!important;margin:0!important;padding:1rem!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:rgba(0,0,0,0.65)!important;color:#fafafa!important;font-size:0.95rem!important;letter-spacing:0.2em!important;text-transform:uppercase!important;font-weight:400!important;font-style:normal!important;text-align:center!important;opacity:0!important;transition:opacity 0.35s ease!important;pointer-events:none!important}
html body .wp-block-gallery .wp-block-image:hover figcaption{opacity:1!important}
footer p:last-child a[href*="wordpress"]{display:none!important} /* Header background — neutral very-light gray */
.wp-site-blocks > header,
body > .wp-site-blocks > header.wp-block-template-part {
  background-color: ##fbfbfb !important;
  border-bottom: 1px solid #ececec !important;
}

/* Kill the gap between header and page content (works on every page) */
main,
.wp-site-blocks > main,
.wp-block-template-part + main,
header + main {
  padding-top: 0x !important;
  margin-top: 0 !important;
}
.entry-content,
.wp-block-post-content,
.wp-block-group.has-global-padding {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.wp-block-post-content > *:first-child,
.entry-content > *:first-child,
.wp-block-group.has-global-padding > *:first-child {
  margin-top: 0x !important;
  padding-top: 0x !important;
}
.alignfull.wp-block-gallery {
  margin-top: 0x !important;
  padding-top: 0x !important;
}/* Wider side margins on Services page only */
.page-id-99 .wp-block-post-content,
.page-id-99 .entry-content {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  box-sizing: border-box !important;
}
/* === Subtler photo fade (overrides the heavy default) === */
.os-fade {
  transform: none !important;
  transition: opacity 0.35s ease !important;
}
.os-fade-in {
  transform: none !important;
  opacity: 1 !important;
}

/* === Pre-hide images so they don't flash before fading (fixes the glitch) === */
@media (scripting: enabled) {
  .wp-block-post-content .wp-block-gallery .wp-block-image,
  .wp-block-post-content > .wp-block-image,
  .wp-block-post-content .wp-block-cover {
    opacity: 0;
    transition: opacity 0.35s ease;
  }
  .page-id-98 .wp-block-post-content .wp-block-image,
  .page-id-98 .wp-block-post-content .wp-block-gallery .wp-block-image {
    opacity: 1 !important;
  }
}

/* === Constrain project gallery width (max 1200px, not full-bleed) === */
/* Excludes Work page (page-id-98) which stays as 4-col masonry */
.page:not(.page-id-98) .wp-block-post-content > .wp-block-gallery.alignfull,
.page:not(.page-id-98) .entry-content > .wp-block-gallery.alignfull {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Reduced motion: no fade at all */
@media (prefers-reduced-motion: reduce) {
  .wp-block-post-content .wp-block-image,
  .wp-block-post-content .wp-block-cover {
    opacity: 1 !important;
    transition: none !important;
  }
}
/* Hide social icons from header on front page only */
.home .wp-block-template-part .wp-block-social-links,
.home header .wp-block-social-links,
.page-id-89 .wp-block-social-links {
  display: none !important;
}
