/*
 * Dr Tony / Elementor 4.x bridge v2.3.0
 * One canonical mapping from source HTML to Elementor's container/widget DOM.
 * Original site.css is retained separately as original.css.
 * Structural layouts are intentionally more specific than Elementor defaults;
 * editable typography, colors and spacing use lower-specificity defaults.
 * Never style Elementor's editor chrome or its left-hand control panel.
 */

/* 1. Document roots, consistent on the public site and in the editor iframe. */
.elementor[data-elementor-type],
.elementor-edit-area .elementor {
  --pine:#10251f; --pine-2:#17352d; --sand:#f7f0e6;
  --cream:#fffaf2; --ink:#1b211f; --gold:#d7b879;
  --gold-2:#a98139; --muted:#66726c; --max:1200px;
  color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,sans-serif;
}
body.dt-site, body.elementor-editor-active {background:#fffaf2;color:#1b211f;}
.elementor-edit-area {background:linear-gradient(180deg,#fffaf2,#f4efe6 48%,#f8f3eb);}
.elementor .e-con {box-sizing:border-box;min-width:0;}
.elementor :where(.elementor-widget) {min-width:0;}
.elementor :where(.elementor-widget-image img) {max-width:100%;display:block;}
.elementor :where(.elementor-widget-text-editor p) {margin-top:0;margin-bottom:1em;}
.elementor :where(.elementor-widget-text-editor a) {color:inherit;}

/* 2. Source section and wrapper dimensions. Values are defaults, not locks. */
.elementor .wrap.e-con {width:min(var(--max,1200px),calc(100% - 42px));max-width:1200px;margin-inline:auto;}
.elementor :is(.hero,.section,.news-hero,.topbar,.footer).e-con {
  width:100%;max-width:none;min-height:0;height:auto;
}
.elementor .hero.e-con {display:flex;flex-direction:column;position:relative;overflow:hidden;padding:72px 0 48px;}
.elementor .section.e-con {display:flex;flex-direction:column;padding:72px 0;}
.elementor .section.compact.e-con {padding:48px 0;}
.elementor .news-hero.e-con {display:flex;flex-direction:column;padding:64px 0;background:#10251f;color:#fff;}
.elementor .section.dark.e-con {background:linear-gradient(135deg,#10251f,#203c33);color:var(--cream);}
.elementor .footer.e-con {display:flex;flex-direction:column;background:#10251f;color:var(--cream);padding:54px 0 28px;}
.elementor .footer.e-con > .wrap.e-con {flex:0 0 auto;}

/* 3. Source grid geometry. Keep all grid tracks explicit rather than
   reading Elementor's --display or --grid-template-rows variables. */
.elementor .hero-grid.e-con {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:48px;}
.elementor .hero-grid.e-con > .e-con {min-width:0;}
.elementor .split.e-con {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:38px;}
.elementor .split.reverse.e-con {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
.elementor .section-head.e-con {display:flex;flex-direction:row;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;}
.elementor .section-head.e-con > * {min-width:0;}
.elementor .grid-3.e-con {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;}
.elementor .grid-2.e-con {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.elementor .clip-grid.e-con {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.elementor .post-grid.featured.e-con {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.elementor .post-grid.latest.e-con {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.elementor .post-grid.archive.e-con {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.elementor .footer-grid.e-con {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.8fr);gap:28px;align-items:start;}
.elementor .family-strip.e-con {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.elementor .news-hero-inner.e-con {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);align-items:center;gap:38px;}
.elementor .callout.e-con {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:28px;min-height:0;}
.elementor .featured-story.e-con {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:28px;}
.elementor .article-layout.e-con {display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;align-items:start;}
.elementor .step.e-con {display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;}
.elementor .timeline.e-con {display:grid;gap:16px;}
.elementor .stats.e-con {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px;max-width:680px;}
.elementor .post-meta.e-con {display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;}
.elementor .ctas.e-con {display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:14px;margin-top:28px;}
.elementor .ctas.e-con > .elementor-widget-button {flex:0 0 auto;width:auto;max-width:100%;}
.elementor .pill-row.e-con {display:flex;flex-flow:row wrap;align-items:center;gap:10px;margin-top:24px;}

/* 4. Header templates use widgets and containers in place of raw source tags. */
.elementor .topbar.e-con {position:sticky;top:0;z-index:50;padding:0;background:rgba(255,250,242,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,37,31,.08);}
body.admin-bar .dt-part-header .topbar.e-con {top:32px;}
.elementor .nav.e-con {height:82px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:22px;}
.elementor .brand.e-con {display:flex;flex-direction:row;align-items:center;gap:13px;flex:0 0 auto;width:auto;text-decoration:none;}
.elementor .brand.e-con > .elementor-widget-image {flex:0 0 48px;width:48px;}
.elementor .brand.e-con > .elementor-widget-image img {width:48px;height:48px;object-fit:contain;}
.elementor .brand.e-con > .e-con {width:auto;display:flex;flex-direction:column;align-items:start;gap:0;}
.elementor .brand .elementor-widget-heading {width:auto;}
.elementor .brand :where(.elementor-heading-title) {margin:0;font-family:Georgia,serif;font-weight:700;font-size:1.18rem;letter-spacing:.03em;color:var(--ink);}
.elementor .brand :where(.elementor-widget-text-editor) {font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.elementor .brand :where(.elementor-widget-text-editor span) {font-size:inherit;color:inherit;}
.elementor .navlinks {min-width:0;}
.elementor .navlinks :is(.dt-nav-mobile,nav.navlinks,.dt-menu-list) {display:flex;align-items:center;gap:10px;}
.elementor .navlinks .dt-menu-list {margin:0;padding:0;list-style:none;flex-wrap:wrap;}
.elementor .navlinks :where(a) {display:inline-flex;align-items:center;padding:10px 15px;text-decoration:none;border-radius:999px;color:#22312c;font-weight:750;font-size:.9rem;white-space:nowrap;}
.elementor .navlinks :where(a:hover, .current-menu-item > a) {background:var(--pine);color:var(--cream);}
.elementor .navlinks .dt-nav-toggle {display:none;}

/* 5. Source headings and text: moderate or low specificity so per-widget
   Elementor selectors can win after an administrator edits the styles. */
.elementor :where(.elementor-widget-heading .elementor-heading-title) {font-family:Georgia,'Times New Roman',serif;line-height:1.05;font-weight:700;color:#13231f;margin:0 0 16px;}
.elementor .dt-src-h1 :where(h1.elementor-heading-title) {font-size:clamp(3rem,7vw,6.6rem);letter-spacing:-.06em;}
.elementor .dt-src-h2 :where(h2.elementor-heading-title) {font-size:clamp(2.15rem,4.5vw,4.3rem);letter-spacing:-.045em;}
.elementor .dt-src-h3 :where(h3.elementor-heading-title) {font-size:1.55rem;letter-spacing:-.02em;}
.elementor .news-hero :where(h1.elementor-heading-title) {font-size:clamp(3rem,6vw,5.7rem);color:#fff;}
.elementor .article-body :where(h1.elementor-heading-title) {font-size:clamp(2.6rem,5vw,4.7rem);}
.elementor .article-body :where(h2.elementor-heading-title) {font-size:2.2rem;}
.elementor .eyebrow :where(.elementor-heading-title) {font:900 .78rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);display:inline-flex;align-items:center;gap:10px;margin:0;}
.elementor .eyebrow :where(.elementor-heading-title)::before {content:"";display:block;flex:0 0 38px;width:38px;height:1px;background:var(--gold);}
.elementor .kicker :where(p) {font:.95rem/1.3 Inter,system-ui,sans-serif;color:var(--gold-2);letter-spacing:.13em;text-transform:uppercase;margin:0;}
.elementor .lead :where(p) {font-size:1.16rem;color:#4e5d57;line-height:1.62;max-width:66ch;}
.elementor .hero .lead :where(p) {font-size:1.25rem;}
.elementor .section-head .elementor-widget-text-editor :where(p) {max-width:58ch;color:var(--muted);margin:0;}
.elementor .section.dark :where(h2.elementor-heading-title,h3.elementor-heading-title) {color:var(--cream);}
.elementor .section.dark :where(.elementor-widget-text-editor p,.elementor-widget-text-editor span) {color:#dfe9e4;}
.elementor .callout :where(h2.elementor-heading-title,.elementor-widget-text-editor p) {color:var(--cream);}
.elementor .callout .elementor-widget-text-editor :where(p) {color:#dfe9e4;}
.elementor .footer :where(h3.elementor-heading-title) {color:#fff;}
.elementor .footer :where(.elementor-widget-text-editor p,.elementor-widget-text-editor a) {color:#dce6df;}
.elementor .footer :where(.elementor-widget-text-editor small) {display:block;border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:22px;color:#bfcac4;font-size:.75rem;line-height:1.6;}
.elementor .footer :where(.elementor-widget-text-editor a) {text-decoration:none;}
.elementor .post-meta :where(.elementor-widget-text-editor) {font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:800;}
.elementor .post-meta :where(p,span) {margin:0;}
.elementor .stat :where(.elementor-widget-heading .elementor-heading-title) {font-size:2rem;line-height:1;color:var(--pine);}
.elementor .stat :where(.elementor-widget-text-editor) {font:.8rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.elementor .stat :where(p,span) {margin:0;}

/* 6. Hero decoration and editorial image cards.
   Elementor's image widget is the positioned child, NOT its nested img tag. */
.elementor .hero-grid.e-con {position:relative;z-index:1;}
.elementor .hero-grid.e-con > .e-con:first-child {display:flex;flex-direction:column;align-items:stretch;gap:0;}
.elementor .watermark.e-con {position:absolute;right:-4vw;top:4vh;width:auto;height:auto;z-index:0;pointer-events:none;opacity:1;}
.elementor .watermark :where(p) {font-family:Georgia,serif;font-size:20vw;line-height:.8;color:rgba(215,184,121,.10);margin:0;}
.elementor .hero-media.e-con {position:relative;display:block;min-height:690px;height:690px;width:100%;}
.elementor .hero-media.e-con > .hero-card.e-con {position:absolute;display:block;min-height:0;margin:0;overflow:hidden;border-radius:36px;border:8px solid rgba(255,250,242,.76);box-shadow:var(--shadow);}
.elementor .hero-media.e-con > .hero-card.big.e-con {inset:0 8% 12% 12%;width:auto;height:auto;padding:0;}
.elementor .hero-media.e-con > .hero-card.small.e-con {inset:auto 0 0 auto;width:45%;height:38%;padding:0;}
.elementor .hero-media.e-con > .badge-card.e-con {inset:auto auto 4% 0;width:44%;height:auto;min-height:190px;padding:25px;display:flex;flex-direction:column;justify-content:end;background:rgba(16,37,31,.88);color:var(--cream);border-color:rgba(255,255,255,.18);}
.elementor .hero-card.e-con > .elementor-widget-image {display:block;width:100%;height:100%;min-height:0;}
.elementor .hero-card.e-con > .elementor-widget-image > .elementor-widget-container {width:100%;height:100%;}
.elementor .hero-card.e-con > .elementor-widget-image img {width:100%;height:100%;max-height:100%;object-fit:cover;}
.elementor .badge-card :where(h3.elementor-heading-title) {color:#fff;font-size:1.3rem;}
.elementor .badge-card :where(.elementor-widget-text-editor p) {color:#dfebe4;font-size:.95rem;margin:0;}
.elementor .float-pill.e-con {position:absolute;top:7%;left:2%;width:auto;height:auto;z-index:3;padding:12px 18px;background:rgba(255,255,255,.92);border:1px solid rgba(16,37,31,.1);border-radius:999px;box-shadow:var(--soft-shadow);pointer-events:none;}
.elementor .float-pill :where(p) {margin:0;color:#25352f;font-weight:900;}
.elementor .stat.e-con {display:flex;flex-direction:column;align-items:start;gap:8px;padding:18px;background:rgba(255,255,255,.55);border:1px solid rgba(16,37,31,.08);border-radius:22px;min-width:0;}

/* 7. Exactly 3-row source mosaic: 260px rows, 16px gutters. Container
   wrappers cannot contribute intrinsic image dimensions to grid tracks. */
.elementor .mosaic.e-con {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr);grid-template-rows:none;grid-auto-rows:260px;gap:16px;align-content:start;align-items:stretch;}
.elementor .mosaic.e-con > .dt-src-figure.e-con {position:relative;display:block;min-width:0;min-height:0;height:100%;margin:0;padding:0;overflow:hidden;border-radius:30px;box-shadow:var(--soft-shadow);}
.elementor .mosaic.e-con > .dt-src-figure.e-con:first-child {grid-row:span 2;}
.elementor .mosaic.e-con > .dt-src-figure.e-con:nth-child(4) {grid-column:span 2;}
.elementor .mosaic.e-con > .dt-src-figure.e-con > .elementor-widget-image,
.elementor .mosaic.e-con > .dt-src-figure.e-con > .elementor-widget-image > .elementor-widget-container,
.elementor .mosaic.e-con > .dt-src-figure.e-con > .elementor-widget-image img {display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:cover;}
.elementor .mosaic.e-con > .dt-src-figure.e-con > .dt-src-figcaption {position:absolute;inset:auto 14px 14px;z-index:2;width:auto;}
.elementor .mosaic .dt-src-figcaption :where(figcaption) {display:block;padding:14px 16px;color:#fff;background:linear-gradient(180deg,rgba(16,37,31,.12),rgba(16,37,31,.78));border-radius:18px;font-weight:850;line-height:1.3;}

/* 8. Cards and editorial media frames. */
.elementor :is(.card,.post-card).e-con {display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.elementor :is(.card,.post-card).e-con > .elementor-widget-image {flex:0 0 290px;height:290px;min-height:0;overflow:hidden;}
.elementor .post-card.e-con > .elementor-widget-image {flex-basis:190px;height:190px;}
.elementor :is(.card,.post-card).e-con > .elementor-widget-image > .elementor-widget-container,
.elementor :is(.card,.post-card).e-con > .elementor-widget-image img {display:block;width:100%;height:100%;max-height:100%;object-fit:cover;}
.elementor .card-body.e-con {display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px;flex:1 1 auto;min-height:0;}
.elementor .post-body.e-con {display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px;flex:1 1 auto;min-height:0;}
.elementor :is(.card,.post-card) :where(.elementor-widget-text-editor p) {color:#5d6c66;line-height:1.6;margin:0 0 14px;}
.elementor .card :where(h3.elementor-heading-title) {font-size:1.55rem;}
.elementor .post-card :where(h3.elementor-heading-title) {font-size:1.25rem;}
.elementor .card-body.e-con > .elementor-widget-button {margin-top:auto;}
.elementor .post-card :where(.elementor-widget-text-editor p) {font-size:.93rem;}

/* 9. A 3-photo collage: source targets child img:nth-child but Elementor
   wraps each img. Position the image WIDGETS instead. */
.elementor .image-stack.e-con {position:relative;display:block;min-height:620px;height:620px;}
.elementor .image-stack.e-con > .elementor-widget-image {position:absolute;overflow:hidden;border:8px solid rgba(255,250,242,.82);border-radius:32px;box-shadow:var(--shadow);}
.elementor .image-stack.e-con > .elementor-widget-image:nth-child(1) {top:0;bottom:22%;left:0;width:72%;height:66%;}
.elementor .image-stack.e-con > .elementor-widget-image:nth-child(2) {right:0;bottom:0;width:56%;height:52%;}
.elementor .image-stack.e-con > .elementor-widget-image:nth-child(3) {left:6%;bottom:3%;width:36%;height:30%;}
.elementor .image-stack.e-con > .elementor-widget-image > .elementor-widget-container,
.elementor .image-stack.e-con > .elementor-widget-image img {display:block;position:static;inset:auto;width:100%;height:100%;max-height:100%;object-fit:cover;border:0;border-radius:0;box-shadow:none;}
.elementor .family-strip.e-con > .elementor-widget-image {min-width:0;height:310px;overflow:hidden;border-radius:26px;box-shadow:var(--soft-shadow);}
.elementor .family-strip.e-con > .elementor-widget-image:nth-child(even) {transform:translateY(24px);}
.elementor .family-strip.e-con > .elementor-widget-image > .elementor-widget-container,
.elementor .family-strip.e-con > .elementor-widget-image img {width:100%;height:100%;object-fit:cover;}
.elementor .callout.e-con > .elementor-widget-image {height:440px;min-height:0;overflow:hidden;border-radius:30px;align-self:center;}
.elementor .featured-story.e-con > .elementor-widget-image {height:520px;min-height:0;overflow:hidden;border-radius:30px;}
.elementor .news-hero-inner.e-con > .elementor-widget-image {height:620px;min-height:0;overflow:hidden;border-radius:36px;}
.elementor :is(.callout,.featured-story,.news-hero-inner).e-con > .elementor-widget-image > .elementor-widget-container,
.elementor :is(.callout,.featured-story,.news-hero-inner).e-con > .elementor-widget-image img {display:block;width:100%;height:100%;max-height:100%;object-fit:cover;}

/* 10. Buttons; Elementor's more-specific per-widget styles can override.
   Avoid decorating the widget wrapper itself as if it were the link. */
.elementor .btn.elementor-widget-button {display:block;flex:0 0 auto;width:auto;align-self:flex-start;}
.elementor .btn .elementor-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 20px;text-decoration:none;font:900 .9rem/1.3 Inter,system-ui,sans-serif;border:1px solid rgba(16,37,31,.12);transition:transform .2s ease,box-shadow .2s ease;}
.elementor .btn.primary .elementor-button {background:#10251f;color:#fffaf2;box-shadow:0 14px 38px rgba(16,37,31,.24);}
.elementor .btn.secondary .elementor-button {background:rgba(255,255,255,.62);color:#1b211f;}
.elementor .btn.gold .elementor-button {background:linear-gradient(135deg,#d7b879,#ffe3aa);color:#1d211e;}
.elementor .btn .elementor-button:hover {transform:translateY(-2px);box-shadow:var(--soft-shadow);}
.elementor .pill :where(p,span) {margin:0;color:#fff;font-size:.8rem;font-weight:900;}

/* 11. Article, case study, gallery and dynamic post templates. */
.elementor .panel.e-con {padding:34px;border-radius:34px;}
.elementor .panel.dark.e-con {background:#10251f;color:#fffaf2;}
.elementor .quote-card.e-con {padding:34px;border-radius:34px;}
.elementor .quote :where(p,blockquote) {font-family:Georgia,serif;font-size:clamp(1.8rem,3.3vw,3.2rem);line-height:1.08;color:#17352d;}
.elementor .video-card.e-con {position:relative;overflow:hidden;}
.elementor .video-card.e-con > .elementor-widget-image {height:340px;min-height:0;overflow:hidden;}
.elementor .video-card.e-con > .elementor-widget-image > .elementor-widget-container,
.elementor .video-card.e-con > .elementor-widget-image img {height:100%;width:100%;object-fit:cover;}
.elementor .video-card :is(.tag,.play).e-con {position:absolute;width:auto;z-index:2;}
.elementor .video-card .tag.e-con {top:18px;left:18px;}
.elementor .video-card .play.e-con {top:20px;right:20px;}
.elementor .article-body.e-con {padding:38px;border-radius:34px;}
.elementor .article-body :where(p) {color:#4f5f59;}
.elementor .source-box.e-con {padding:20px;border-radius:22px;}
.elementor .disclaimer.e-con {padding:18px 20px;border-radius:22px;}
.elementor .sidebar.e-con {position:sticky;top:104px;display:grid;gap:18px;}
.elementor .step.e-con > .elementor-widget-heading {width:auto;}
.elementor .step :where(.elementor-heading-title) {font-size:2rem;color:var(--gold-2);}

/* 12. Tablet and phone: match original breakpoint logic. */
@media (max-width:1000px) {
  .elementor .hero-grid.e-con,
  .elementor .split.e-con,.elementor .split.reverse.e-con,
  .elementor .callout.e-con,.elementor .featured-story.e-con,
  .elementor .article-layout.e-con,.elementor .news-hero-inner.e-con {grid-template-columns:minmax(0,1fr);}
  .elementor .hero-media.e-con {min-height:520px;height:520px;}
  .elementor .nav.e-con {height:auto;min-height:82px;flex-wrap:wrap;padding:14px 0;}
  .elementor .nav.e-con .navlinks {max-width:100%;}
  .elementor .watermark.e-con {right:0;}
  .elementor .clip-grid.e-con,.elementor .grid-3.e-con,
  .elementor .post-grid.featured.e-con,.elementor .post-grid.latest.e-con,
  .elementor .post-grid.archive.e-con {grid-template-columns:repeat(2,minmax(0,1fr));}
  .elementor .mosaic.e-con {grid-template-columns:repeat(2,minmax(0,1fr));}
  .elementor .footer-grid.e-con {grid-template-columns:minmax(0,1fr);}
  .elementor .callout.e-con > .elementor-widget-image {height:400px;}
  .elementor .featured-story.e-con > .elementor-widget-image {height:400px;}
  .elementor .news-hero-inner.e-con > .elementor-widget-image {height:420px;}
}
@media (max-width:782px) {body.admin-bar .dt-part-header .topbar.e-con {top:46px;}}
@media (max-width:680px) {
  .elementor .wrap.e-con {width:calc(100% - 36px);}
  .elementor .hero.e-con {padding:44px 0 32px;}
  .elementor .section.e-con {padding:48px 0;}
  .elementor .section.compact.e-con {padding:32px 0;}
  .elementor .nav.e-con {height:auto;min-height:0;padding:14px 0;align-items:flex-start;flex-direction:column;gap:10px;}
  .elementor .navlinks .dt-menu-list {gap:4px;}
  .elementor .brand.e-con > .elementor-widget-image {width:40px;flex-basis:40px;}
  .elementor .brand.e-con > .elementor-widget-image img {width:40px;height:40px;}
  .elementor .hero-media.e-con {min-height:420px;height:420px;}
  .elementor .hero-media.e-con > .hero-card.big.e-con {inset:0;}
  .elementor .hero-media.e-con > :is(.hero-card.small,.badge-card).e-con {display:none;}
  .elementor .dt-src-h1 :where(h1.elementor-heading-title) {font-size:3.1rem;}
  .elementor .stats.e-con,.elementor .grid-3.e-con,.elementor .grid-2.e-con,
  .elementor .clip-grid.e-con,.elementor .post-grid.featured.e-con,
  .elementor .post-grid.latest.e-con,.elementor .post-grid.archive.e-con,
  .elementor .family-strip.e-con {grid-template-columns:minmax(0,1fr);}
  .elementor .mosaic.e-con {display:block;grid-template-rows:none;grid-auto-rows:auto;}
  .elementor .mosaic.e-con > .dt-src-figure.e-con {height:290px;margin-bottom:16px;}
  .elementor .mosaic.e-con > .dt-src-figure.e-con:first-child,
  .elementor .mosaic.e-con > .dt-src-figure.e-con:nth-child(4) {grid-column:auto;grid-row:auto;}
  .elementor .image-stack.e-con {height:380px;min-height:380px;}
  .elementor .callout.e-con > .elementor-widget-image {height:320px;}
  .elementor .featured-story.e-con > .elementor-widget-image {height:300px;}
  .elementor .news-hero-inner.e-con > .elementor-widget-image {height:320px;}
  .elementor .post-card.e-con > .elementor-widget-image {flex-basis:190px;height:190px;}
  .elementor .section-head.e-con {flex-direction:column;align-items:stretch;}
}
