/* Elementor wrappers must not change the approved section geometry. */
/* Outrank Elementor's .elementor-widget:not(:last-child) spacing, only for our sections. */
body .elementor .elementor-element[class*="elementor-widget-hydrology-"]{margin-block-end:0;}
/* The outer wrapper must also be boxless or it constrains the sticky header. */
.hydrology-global,.hydrology-global > .elementor,.hydrology-global .elementor-element,.hydrology-global .elementor-widget-container{display:contents;}
body #quote{scroll-margin-top:96px;}
body .elementor img{border-radius:0;}
/* Native posts load Elementor's shared header styles in a different order.
   Keep the approved logo geometry independent of that stylesheet order. */
body #hdr .brand img{height:82px;width:auto;max-width:100%;}
@media(max-width:760px){body #hdr .brand img{height:64px;}}
body .elementor .btn{font-family:var(--body);}
body.elementor-editor-active .reveal{opacity:1;transform:none;}
body.elementor-editor-active .hero{min-height:500px;}
.hydrology-comparison-media{margin-block:16px;}
.hydrology-comparison-media img{display:block;width:100%;height:auto;}
.service-copy-grid.hydrology-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));}
.hydrology-editor-media-help{grid-column:1/-1;padding:24px;border:1px dashed var(--border);color:var(--muted);background:var(--surface);}
.credential.hydrology-credential-without-image{grid-template-rows:auto;grid-template-columns:1fr;}
.why.hydrology-without-photo{grid-template-columns:1fr;}
.hydrology-fallback{padding-block:80px;}
/* Native editorial feed and single-post content. */
.hydrology-post-feed time { display:block; color:var(--muted); font-size:14px; margin:12px 0; }
.hydrology-post-feed .post p { color:var(--muted); margin:12px 0 20px; }
.hydrology-post-feed img { width:100%; height:100%; object-fit:cover; }
.hydrology-blog-pagination { display:flex; gap:20px; margin-top:40px; }
.prose a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.prose { overflow-wrap:anywhere; }
.prose iframe { max-width:100%; aspect-ratio:16/9; height:auto; }
.prose audio, .prose video { max-width:100%; }
.prose table { width:100%; border-collapse:collapse; margin:24px 0; color:var(--muted); }
.prose td,.prose th { padding:12px; border:1px solid var(--border); vertical-align:top; text-align:left; }
.prose tr:first-child { background:var(--surface); color:var(--ink); }
@media(max-width:560px){.prose td,.prose th{padding:8px;font-size:14px;}}
