/* ==========================================================================
   WordPress / Elementor adjustments only.
   The design itself lives in style.css, which is identical to the HTML build.
   ========================================================================== */

/* WordPress admin bar (logged-in users) */
.admin-bar .site-header { top: 32px; }
@media (max-width: 1060px) { .admin-bar .main-nav { top: calc(var(--header-h) + 32px); } }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .main-nav { top: calc(var(--header-h) + 46px); }
}
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Elementor: SMC widgets are full-width sections; keep Elementor's wrappers out of the way */
.elementor .e-con:has(> [class*="elementor-widget-smc-"]),
.elementor .e-con > .e-con-inner:has(> [class*="elementor-widget-smc-"]) { padding: 0; gap: 0; max-width: none; }
.elementor [class*="elementor-widget-smc-"] { width: 100%; margin: 0; }
.elementor-widget-smc-hero .hero--photo, .elementor-widget-smc-cta .cta-full { width: 100%; }

/* Elementor resets "img { height:auto; border-radius:0 }" inside .elementor: restore the design's image rules */
.elementor .photo img, .elementor .hero__media img, .elementor .cta-full__media img, .elementor .leaders__photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.elementor .photo img { position: absolute; inset: 0; }
.elementor .logo__mark { height: 42px; width: auto; }

/* Editor only: keep the sticky header from covering the first section */
.elementor-editor-active .site-header { position: relative; }

/* Undo Hello Elementor layout limits in case any of its styles are still loaded
   (theme.css caps .site-main / header / footer at 1140px; header-footer.css adds padding). */
body .site-main, body .site-header, body .site-footer { max-width: none; width: auto; margin-inline: 0; }
body .site-main { padding: 0; }
body .site-footer { padding-block: 0; }
body .site-footer .container, body .site-header .container { max-width: var(--container); }
.page-content, .elementor-page .site-main { max-width: none; padding: 0; }

/* WordPress content */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.prose .wp-block-image, .prose figure { margin: 1.5em 0; }
.prose .wp-block-image img { border-radius: var(--radius); }
.prose figcaption { font-size: .9rem; color: var(--muted); margin-top: 8px; }
.prose .wp-block-list { padding-left: 0; }
.pagination .page-numbers.dots { border: 0; }
.site-main { display: block; }
