/* WP-SHIMS — the smallest possible set of rules that exist ONLY because
 * Elementor's DOM differs from the static site's. Nothing here is a design
 * decision; every value is either a token or copied verbatim from the rule it
 * is standing in for. If a rule can be satisfied by changing markup instead,
 * it belongs in a widget, not here.
 *
 * Loaded after site.css and kids.css.
 */

/* kids.css §: [data-brand="kids"] main>.k-sea:first-child
 *
 * The static hero is a DIRECT child of <main>, so it can tuck up under the
 * fixed nav. Elementor wraps every widget in .elementor > .e-con >
 * .elementor-widget-container, so the section is four levels deep and the
 * child combinator never matches — the kids hero sat 76px too low with 76px
 * too little padding.
 *
 * This is the ONLY `main >` selector in site.css and kids.css combined, which
 * is why it is worth a shim rather than a restructure. The declarations are
 * copied exactly, tokens and all.
 */
[data-brand="kids"] .elementor > .e-con:first-child .k-sea,
[data-brand="kids"] .elementor > .e-con:first-child > .e-con-inner > .elementor-widget .k-sea {
  margin-top: calc(var(--nav-h) * -1);
  padding-top: calc(var(--nav-h) + clamp(3.5rem, 9vw, 7rem));
}

/* ---- GENERATED by tools/gen-wp-shims.php — do not edit by hand ----
 * Re-emits only the declarations `.elementor img` clobbers, copied
 * verbatim from site.css, at a specificity that survives it, and only
 * for classes the static pages actually put on an <img>.
 * Regenerate after any change to site.css. */
.elementor .point__ph{height:auto;border-radius:14px}
.elementor .work__ph{height:auto;border-radius:16px}
.elementor .person__ph{max-width:none;height:auto;border-radius:13px 13px 0 0}
.elementor .bio__ph{height:auto}
.elementor .dirs__ph{height:100%;border-radius:12px}
@media (max-width:430px){
  .elementor .dirs__ph{height:56px;border-radius:10px}
}
