/* Small additions the WordPress scripts used to handle at runtime */
.elementor-nav-menu--main .elementor-nav-menu ul.sm-open { display: block !important; }
.elementor-nav-menu--main .elementor-nav-menu > li > ul { top: 100%; left: 0; z-index: 9999; }
.elementor-toggle .elementor-tab-content { display: none; }
#sm-page .elementor-invisible { visibility: visible; }
.elementor-nav-menu--main .menu-item-has-children:hover > ul,
.elementor-nav-menu--main .menu-item-has-children:focus-within > ul { display: block !important; }
/* Cookie bar: only the bar itself takes clicks, not an invisible layer over the whole page */
#elementor-popup-modal-991 { pointer-events: none !important; }
#elementor-popup-modal-991 .dialog-widget-content { pointer-events: auto !important; }
/* WhatsApp button, in the site's own teal button style */
/* WhatsApp's own green, so the button reads as WhatsApp and never melts into the teal footer.
   Dark label for contrast (7.4:1); the white ring separates it from teal and from photos. */
.sm-wa { position: fixed; right: 18px; bottom: 18px; z-index: 9990; display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px; border: 2px solid #fff; border-radius: 999px; background: #25d366; color: #0b2e1a; font-family: "Poppins", sans-serif; font-weight: 500; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; text-decoration: none; box-shadow: 0 6px 20px rgba(0,0,0,.18); transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.sm-wa:hover, .sm-wa:focus-visible { transform: translateY(-2px); color: #0b2e1a; box-shadow: 0 10px 26px rgba(0,0,0,.22); }
.sm-wa:focus-visible { outline: 3px solid #0b2e1a; outline-offset: 3px; }
.sm-wa i { font-size: 20px; }
@media (max-width: 767px) { .sm-wa span { display: none; } .sm-wa { padding: 12px 13px; } .sm-wa i { font-size: 26px; } }
/* Six menu items: use the site's own tablet spacing so the menu stays on one line */
@media (min-width: 1025px) { .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item { padding-left: 12px !important; padding-right: 12px !important; font-size: 13px !important; } .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap !important; } }
@media (min-width: 1025px) and (max-width: 1380px) { .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item { padding-left: 7px !important; padding-right: 7px !important; font-size: 12px !important; } }
@media (min-width: 1025px) and (max-width: 1180px) { [data-elementor-type="header"] .elementor-widget-button .elementor-button { padding-left: 16px !important; padding-right: 16px !important; letter-spacing: 0.6px !important; } }
/* Narrow laptops: hide the header brochure button (the footer still has the brochure form), as the site's own tablet header does */
@media (min-width: 1025px) and (max-width: 1279px) { [data-elementor-type="header"] .elementor-widget-button { visibility: hidden; } }
/* ---- Maura's brief, 21 Oct 2026: built in the site's own type (Poppins 300, #54595F) and teal ---- */
#enquire, #services, #how-it-works, #case-story { scroll-margin-top: 110px; }
.elementor-widget-text-editor .sm-strap { font-style: italic; margin-top: 4px; }
/* two service cards: same height, buttons on one line */
.sm-card > .elementor-widget-wrap { height: 100%; }
/* How It Works */
.sm-how { padding: 90px 20px 100px; background: #f5f5f5; }
.sm-how .elementor-widget-wrap { flex-direction: column; align-items: center; }
.sm-steps { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; width: 100%; max-width: 1140px; counter-reset: none; }
.sm-steps li { position: relative; margin: 0; padding: 34px 26px 30px; background: #fff; border-top: 3px solid #179dab; text-align: left; }
.sm-step-n { display: block; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 44px; line-height: 1; color: #179dab; margin-bottom: 18px; }
.sm-how .sm-steps h3 { font-family: inherit; font-weight: 400; font-size: 19px; line-height: 1.35; letter-spacing: .3px; color: #3a3a3a; margin: 0 0 10px; text-transform: none; }
.sm-steps p { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 15px; line-height: 1.7; color: #54595f; margin: 0; }
.sm-how-note { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.8; color: #54595f; text-align: center; margin: 44px 0 22px; }
.sm-how .sm-how-btn { width: auto; }
@media (max-width: 1024px) { .sm-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .sm-how { padding: 60px 16px 70px; } .sm-steps { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; } .sm-steps li { padding: 24px 22px; } .sm-step-n { font-size: 36px; margin-bottom: 12px; } }
/* testimonial excerpts on the dark photo band */
.sm-quotes-wrap { width: 100%; }
.sm-quotes-sub { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.8; color: #fff; text-align: center; max-width: 640px; margin: 0 auto 40px; }
.sm-quotes-more { text-align: center; margin: 34px 0 0; }
.sm-quotes-more a { display: inline-block; padding: 14px 30px; border: 1px solid #fff; border-radius: 3px; font-family: "Poppins", sans-serif; font-size: 13px; letter-spacing: 1.4px; text-transform: uppercase; color: #fff; text-decoration: none; transition: background .3s, color .3s; }
.sm-quotes-more a:hover, .sm-quotes-more a:focus-visible { background: #fff; color: #138896; }
/* sustainability principles */
.sm-principles { list-style: none; margin: 0 0 18px; padding: 0; }
.sm-principles li { position: relative; padding: 6px 0 6px 26px; font-size: 18px; font-weight: 400; color: #3a3a3a; text-align: left; }
.sm-principles li::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #179dab; }
/* service page summary + case study brief */
.sm-summary { margin: 0 0 1.2em; padding-left: 1.2em; }
.sm-summary li { margin: 0 0 6px; }
.sm-case-brief { max-width: 820px; margin: 18px auto 0; padding: 22px 26px; border: 1px solid #179dab; background: #fff; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.8; color: #54595f; text-align: left; }
.sm-case-brief p { margin: 0 0 8px; }
.sm-case-brief p:last-child { margin: 0; }
.sm-case-brief a { color: #138896; text-decoration: underline; }
/* enquiry form */
.sm-enquire-intro { width: 100%; }
.sm-enquire-intro p { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.8; color: #54595f; text-align: center; margin: 0 0 18px; }
.elementor-form .sm-form-note { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 14px; line-height: 1.6; color: #54595f; margin: -2px 0 14px; padding: 0 calc(var(--sm-gap, 10px) / 2); }
.elementor-form .sm-form-note { display: block; width: 100%; }
.elementor-form .sm-optional { font-weight: 300; color: #6b7075; }
.elementor-form .sm-field-error { border-color: #b3261e !important; }
/* Talk To Us: the form sits in a narrow column, so its fields stack */
[data-id="4db3999"] .elementor-field-group.elementor-col-50 { width: 100% !important; }
.sm-case-brief { margin: 0 0 22px; }

/* ---------- enquiry block, 27 Oct 2026: a direct line beside a calmer form ---------- */
.sm-enq { display: grid; grid-template-columns: minmax(260px, 320px) 1fr; gap: 0; max-width: 980px; margin: 18px auto 0; text-align: left; border: 1px solid #e3e8e9; border-radius: 6px; overflow: hidden; background: #fff; }
.sm-enq-aside { padding: 36px 32px; background: #179dab; color: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.sm-enq .sm-enq-photo { width: 76px; height: 76px; border-radius: 50% !important; object-fit: cover; border: 3px solid rgba(255,255,255,.85); margin-bottom: 18px; filter: grayscale(.15); }
.sm-enq .sm-enq-title { font-family: "Poppins", sans-serif; font-weight: 400; font-size: 22px; line-height: 1.3; letter-spacing: .3px; color: #fff; text-transform: none; margin: 0 0 6px; }
.sm-enq-lede { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 15px; line-height: 1.6; color: #e9f8fa; margin: 0 0 22px; }
.sm-enq-aside a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; font-family: "Poppins", sans-serif; transition: background .25s, color .25s, transform .25s cubic-bezier(.22,1,.36,1); }
.sm-enq-phone { font-size: 24px; font-weight: 400; letter-spacing: .5px; color: #fff; margin-bottom: 14px; }
.sm-enq-phone i { font-size: 18px; }
.sm-enq-aside .sm-enq-phone:hover, .sm-enq-aside .sm-enq-phone:focus-visible { color: #fff; text-decoration: underline !important; text-underline-offset: 4px; }
.sm-enq-wa { padding: 11px 18px; border-radius: 999px; background: #25d366; color: #0b2e1a; font-size: 14px; font-weight: 500; margin-bottom: 14px; }
.sm-enq-wa i { font-size: 19px; }
.sm-enq-wa:hover, .sm-enq-wa:focus-visible { color: #0b2e1a; background: #3ee07a; transform: translateY(-1px); }
.sm-enq-mail { font-size: 14px; font-weight: 300; color: #fff; }
.sm-enq-aside .sm-enq-mail:hover, .sm-enq-aside .sm-enq-mail:focus-visible { color: #fff; text-decoration: underline !important; text-underline-offset: 3px; }
.sm-enq-aside a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sm-enq-promise { list-style: none; margin: 26px 0 0; padding: 22px 0 0; border-top: 1px solid rgba(255,255,255,.35); width: 100%; }
.sm-enq-promise li { position: relative; padding: 4px 0 4px 26px; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 14px; line-height: 1.5; color: #fff; }
.sm-enq-promise li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 11px; height: 6px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
.sm-enq-form { padding: 34px 36px 36px; }
.sm-enq .elementor-form .elementor-form-fields-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; margin: 0 !important; }
.sm-enq .elementor-form .elementor-field-group { width: auto; max-width: none; flex: none; margin: 0 !important; padding: 0 !important; }
.sm-enq .elementor-form .elementor-col-100, .sm-enq .elementor-form .sm-form-note, .sm-enq .elementor-form .e-form__buttons { grid-column: 1 / -1; }
.sm-enq .elementor-form .elementor-field-label, .sm-enq .sm-svc legend { display: block; font-family: "Poppins", sans-serif; font-weight: 400 !important; font-size: 14px !important; color: #3a3a3a !important; margin: 0 0 7px; padding: 0 !important; }
.sm-enq .elementor-form .elementor-field-textual { width: 100%; min-height: 48px; padding: 12px 14px !important; border: 1px solid #c5cfd1 !important; border-radius: 4px !important; background: #fbfcfc !important; font-family: "Poppins", sans-serif; font-size: 16px; color: #2b2f33; transition: border-color .2s, box-shadow .2s, background .2s; }
.sm-enq .elementor-form textarea.elementor-field-textual { min-height: 110px; resize: vertical; }
.sm-enq .elementor-form .elementor-field-textual:hover { border-color: #93a3a6 !important; }
.sm-enq .elementor-form .elementor-field-textual:focus { outline: none; background: #fff !important; border-color: #179dab !important; box-shadow: 0 0 0 3px rgba(23,157,171,.22); }
.sm-enq .elementor-form .sm-field-error { border-color: #b3261e !important; box-shadow: 0 0 0 3px rgba(179,38,30,.15); }
.sm-enq .elementor-form .sm-form-note { margin: -8px 0 0; padding: 0; font-size: 13px; color: #5b6166; }
.sm-svc { border: 0; margin: 0; padding: 0; min-width: 0; }
.sm-svc-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sm-svc-opt { position: relative; display: block; margin: 0; cursor: pointer; }
.sm-svc-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.sm-svc-opt span { display: flex; align-items: center; justify-content: center; min-height: 52px; height: 100%; padding: 10px 12px; border: 1px solid #c5cfd1; border-radius: 4px; background: #fbfcfc; font-family: "Poppins", sans-serif; font-weight: 400; font-size: 14px; line-height: 1.35; text-align: center; color: #3a3a3a; transition: border-color .2s, background .2s, color .2s, box-shadow .2s; }
.sm-svc-opt:hover span { border-color: #93a3a6; }
.sm-svc-opt input:checked + span { border-color: #179dab; background: #e8f6f8; color: #0f6c76; box-shadow: inset 0 0 0 1px #179dab; }
.sm-svc-opt input:focus-visible + span { outline: 2px solid #179dab; outline-offset: 2px; }
.sm-enq .elementor-form .e-form__buttons { margin-top: 4px; }
.sm-enq .elementor-form .e-form__buttons .elementor-button { width: 100%; min-height: 52px; border-radius: 4px; font-size: 14px; letter-spacing: 1.4px; }
.sm-enq .elementor-form .elementor-button:focus-visible { outline: 3px solid #0f6c76; outline-offset: 3px; }
.sm-enq .elementor-form .elementor-message { grid-column: 1 / -1; margin: 6px 0 0; font-family: "Poppins", sans-serif; font-size: 14px; }
@media (max-width: 860px) {
  .sm-enq { grid-template-columns: 1fr; }
  .sm-enq-aside { padding: 28px 24px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; }
  .sm-enq .sm-enq-photo { width: 60px; height: 60px; margin: 0; grid-row: span 2; }
  .sm-enq .sm-enq-title { margin: 0; }
  .sm-enq-lede { margin: 0; }
  .sm-enq-phone, .sm-enq-wa, .sm-enq-mail, .sm-enq-promise { grid-column: 1 / -1; }
  .sm-enq-phone { margin: 20px 0 12px; }
  .sm-enq-wa { justify-self: start; }
  .sm-enq-promise { margin-top: 20px; padding-top: 16px; }
  .sm-enq-form { padding: 26px 22px 28px; }
}
@media (max-width: 560px) {
  .sm-enq .elementor-form .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
  .sm-svc-opts { grid-template-columns: 1fr; gap: 8px; }
  .sm-svc-opt span { justify-content: flex-start; min-height: 48px; text-align: left; padding: 10px 14px; }
}

/* ---------- footer, 27 Oct 2026 ---------- */
/* Elementor's top gap on these lists is a percentage of column width, so the wider blog column sat lower */
[data-elementor-type="footer"] .elementor-element-1bc8e59 > .elementor-widget-container,
[data-elementor-type="footer"] .elementor-element-2e531846 > .elementor-widget-container { margin-top: 24px !important; }
[data-elementor-type="footer"] .sm-foot-blog > .elementor-widget-container { margin-top: 26px !important; }
[data-elementor-type="footer"] .sm-foot-blog .elementor-icon-list-item { line-height: 1.5; }
[data-elementor-type="footer"] .sm-foot-blog .elementor-icon-list-items li + li { margin-top: 6px; }
/* room under the copyright line so the floating WhatsApp button never covers it */
@media (max-width: 767px) { [data-elementor-type="footer"] .elementor-element-335d6032 { margin-bottom: 64px; } }

/* ---------- blog: article pages and /blog/ (scripts/blog.py), 27 Oct 2026 ---------- */
.sm-blog-content { background: #fff; padding: 0 !important; margin: 0 !important; }
.sm-blog-page { --sm-teal: #179dab; --sm-teal-ink: #0f6c76; --sm-ink: #2f3337; --sm-body: #3f4448; --sm-muted: #5b6166; --sm-line: #dde4e5; --sm-mist: #f3f7f7;
  font-family: "Poppins", sans-serif; color: var(--sm-body); }
.sm-blog-page .sm-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.sm-blog-page a { transition: color .2s, background .2s, border-color .2s; }
.sm-blog-page h1, .sm-blog-page h2, .sm-blog-page h3 { font-family: "Poppins", sans-serif; text-transform: none; letter-spacing: 0; color: var(--sm-ink); text-wrap: balance; }
.sm-arrow { display: inline-block; margin-left: 8px; transition: transform .25s cubic-bezier(.22,1,.36,1); }
a:hover > .sm-arrow, a:focus-visible > .sm-arrow { transform: translateX(4px); }
.sm-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; font-size: 14px; font-weight: 300; color: var(--sm-muted); }
.sm-post-cat { color: var(--sm-teal-ink); font-weight: 400; }

/* article hero: title beside the photo (the photos are 650px wide, so they are never blown up) */
.sm-article-hero { background: var(--sm-mist); padding: 56px 0 64px; border-bottom: 1px solid var(--sm-line); }
.sm-article-hero-in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 56px; align-items: center; }
.sm-crumbs { display: flex; gap: 10px; font-size: 14px; font-weight: 300; color: var(--sm-muted); margin-bottom: 18px; }
.sm-crumbs a { color: var(--sm-teal-ink); text-decoration: none; }
.sm-crumbs a:hover, .sm-crumbs a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.sm-article-hero h1 { font-weight: 300; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.18; margin: 0 0 20px; }
.sm-article-figure { margin: 0; }
.sm-article-figure img { display: block; width: 100%; height: auto; aspect-ratio: 650 / 570; object-fit: cover; border-radius: 6px; box-shadow: 0 18px 40px -18px rgba(15,60,66,.35); }

/* article body */
.sm-blog-page .sm-article-layout { display: grid; grid-template-columns: minmax(0, 720px); justify-content: center; padding-top: 64px; padding-bottom: 72px; }
.sm-article-layout.has-toc { grid-template-columns: 240px minmax(0, 720px); gap: 64px; justify-content: center; }
.sm-toc { position: sticky; top: 130px; align-self: start; padding-top: 6px; }
.sm-toc-h { margin: 0 0 12px; font-size: 13px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--sm-ink); }
.sm-toc ol, .sm-toc ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--sm-line); counter-reset: toc; }
.sm-toc li { margin: 0; counter-increment: toc; }
.sm-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 14px; font-weight: 300; line-height: 1.45; color: var(--sm-muted); text-decoration: none; }
.sm-toc ol a::before { content: counter(toc) ". "; color: var(--sm-teal-ink); }
.sm-toc a:hover, .sm-toc a:focus-visible, .sm-toc a.is-active { color: var(--sm-ink); border-left-color: var(--sm-teal); }
.sm-prose { font-size: 18px; font-weight: 300; line-height: 1.8; color: var(--sm-body); }
.sm-prose > * { margin: 0 0 1.2em; }
.sm-prose .sm-lede { font-size: 21px; line-height: 1.7; color: var(--sm-ink); margin-bottom: 1.6em; }
.sm-prose h2 { font-weight: 400; font-size: 27px; line-height: 1.3; margin: 2.1em 0 .6em; scroll-margin-top: 130px; }
.sm-numbered .sm-prose { counter-reset: step; }
.sm-numbered .sm-prose h2 { counter-increment: step; display: grid; grid-template-columns: 44px 1fr; align-items: baseline; }
.sm-numbered .sm-prose h2::before { content: counter(step); font-weight: 300; font-size: 34px; line-height: 1; color: var(--sm-teal); }
.sm-numbered .sm-prose h2:last-of-type { display: block; }
.sm-numbered .sm-prose h2:last-of-type::before { content: none; }
.sm-prose ul, .sm-prose ol { padding: 0; list-style: none; margin: 0 0 1.4em; }
.sm-prose li { position: relative; padding: 14px 0 14px 30px; border-bottom: 1px solid var(--sm-line); }
.sm-prose li:first-child { border-top: 1px solid var(--sm-line); }
.sm-prose ul li::before { content: ""; position: absolute; left: 4px; top: 27px; width: 9px; height: 9px; border-radius: 50%; background: var(--sm-teal); }
.sm-prose ol { counter-reset: item; }
.sm-prose ol li { counter-increment: item; }
.sm-prose ol li::before { content: counter(item); position: absolute; left: 0; top: 14px; font-weight: 500; color: var(--sm-teal-ink); }
.sm-prose strong { font-weight: 500; color: var(--sm-ink); }
.sm-prose a { color: var(--sm-teal-ink); text-decoration: underline; text-underline-offset: 3px; }

/* call to action band */
.sm-blog-cta { background: var(--sm-teal); color: #fff; padding: 56px 0; }
.sm-blog-cta-in { max-width: 1140px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.sm-blog-cta h2 { color: #fff !important; font-weight: 300; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.25; margin: 0 0 8px; }
.sm-blog-cta p { margin: 0; font-size: 16px; font-weight: 300; color: #e9f8fa; }
.sm-blog-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 999px; font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 400; text-decoration: none !important; white-space: nowrap; transition: transform .25s cubic-bezier(.22,1,.36,1), background .2s, color .2s; }
.sm-btn:hover, .sm-btn:focus-visible { transform: translateY(-1px); }
.sm-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sm-btn-light { background: #fff; color: var(--sm-teal-ink) !important; }
.sm-btn-light:hover { background: #eefafb; }
.sm-btn-wa { background: #25d366; color: #0b2e1a !important; }
.sm-btn-wa:hover { background: #3ee07a; }
.sm-btn-ghost { border: 1px solid rgba(255,255,255,.8); color: #fff !important; }
.sm-btn-ghost:hover { background: rgba(255,255,255,.12); }

/* cards (related posts and /blog/) */
.sm-related { padding: 72px 0 84px; background: var(--sm-mist); }
.sm-related-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 28px; }
.sm-related-head h2 { font-weight: 300; font-size: 28px; margin: 0; }
.sm-related-head a, .sm-read a { color: var(--sm-teal-ink); text-decoration: none; font-size: 15px; font-weight: 400; }
.sm-related-head a:hover, .sm-read a:hover { color: var(--sm-ink); }
.sm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.sm-card-post { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--sm-line); border-radius: 6px; overflow: hidden; transition: box-shadow .3s, transform .3s cubic-bezier(.22,1,.36,1); }
.sm-card-post:hover, .sm-card-post:focus-within { box-shadow: 0 16px 34px -18px rgba(15,60,66,.35); transform: translateY(-2px); }
.sm-post-img { display: block; overflow: hidden; }
.sm-post-img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.sm-card-post:hover .sm-post-img img, .sm-feature:hover .sm-post-img img { transform: scale(1.03); }
.sm-card-post .sm-post-text { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.sm-post-title { margin: 0; font-weight: 400; font-size: 20px; line-height: 1.35; }
.sm-post-title a { color: var(--sm-ink); text-decoration: none; }
.sm-post-title a:hover, .sm-post-title a:focus-visible { color: var(--sm-teal-ink); }
.sm-post-title a::after { content: ""; position: absolute; inset: 0; }
.sm-card-post, .sm-feature { position: relative; }
.sm-post-excerpt { margin: 0; font-size: 15px; font-weight: 300; line-height: 1.65; color: var(--sm-body); }
.sm-card-post .sm-post-meta { order: -1; font-size: 13px; }

/* /blog/ */
.sm-blog-hero { padding: 64px 0 40px; background: var(--sm-mist); border-bottom: 1px solid var(--sm-line); }
.sm-blog-hero h1 { font-weight: 300; font-size: clamp(30px, 3.8vw, 46px); line-height: 1.18; margin: 0 0 14px; max-width: 760px; }
.sm-blog-hero p { margin: 0; max-width: 640px; font-size: 18px; font-weight: 300; line-height: 1.7; color: var(--sm-body); }
.sm-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.sm-chip { min-height: 40px; padding: 0 18px; border: 1px solid var(--sm-line); border-radius: 999px; background: #fff; font-family: inherit; font-size: 14px; color: var(--sm-body); cursor: pointer; }
.sm-chip:hover { border-color: var(--sm-teal); }
.sm-chip[aria-pressed="true"] { background: var(--sm-teal-ink); border-color: var(--sm-teal-ink); color: #fff; }
.sm-chip:focus-visible { outline: 2px solid var(--sm-teal); outline-offset: 2px; }
.sm-blog-page .sm-blog-list { padding-top: 48px; padding-bottom: 80px; }
.sm-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: center; padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid var(--sm-line); }
.sm-feature .sm-post-img { border-radius: 6px; }
.sm-feature .sm-post-text { display: flex; flex-direction: column; gap: 14px; }
.sm-feature .sm-post-title { font-weight: 300; font-size: clamp(26px, 2.8vw, 34px); line-height: 1.25; order: 0; }
.sm-feature .sm-post-meta { order: -1; }
.sm-feature .sm-post-excerpt { font-size: 17px; }
.sm-read { margin: 4px 0 0; position: relative; z-index: 1; }
.sm-empty { padding: 24px 0; color: var(--sm-muted); }
.sm-blog-list > .sm-cards:only-of-type { margin-top: 0; }

@media (max-width: 1024px) {
  .sm-article-layout.has-toc { grid-template-columns: minmax(0, 720px); gap: 0; }
  .sm-toc { position: static; margin-bottom: 36px; padding: 20px 22px; background: var(--sm-mist); border-radius: 6px; }
  .sm-toc ol, .sm-toc ul { border-left: 0; }
  .sm-toc a { padding: 6px 0; margin: 0; border: 0; }
  .sm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-blog-cta-in { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sm-article-hero { padding: 32px 0 36px; }
  .sm-article-hero-in { grid-template-columns: 1fr; gap: 28px; }
  .sm-blog-page .sm-article-layout { padding-top: 40px; padding-bottom: 48px; }
  .sm-prose { font-size: 17px; }
  .sm-prose .sm-lede { font-size: 19px; }
  .sm-prose h2 { font-size: 23px; }
  .sm-numbered .sm-prose h2 { grid-template-columns: 36px 1fr; }
  .sm-numbered .sm-prose h2::before { font-size: 28px; }
  .sm-cards { grid-template-columns: 1fr; }
  .sm-feature { grid-template-columns: 1fr; gap: 22px; padding-bottom: 36px; margin-bottom: 36px; }
  .sm-blog-hero { padding: 40px 0 30px; }
  .sm-blog-hero p { font-size: 17px; }
  .sm-blog-page .sm-blog-list { padding-top: 32px; padding-bottom: 56px; }
  .sm-blog-cta { padding: 44px 0 52px; }
  .sm-blog-cta-actions .sm-btn { flex: 1 1 100%; }
  .sm-related { padding: 52px 0 60px; }
  .sm-related-head { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .sm-blog-page * { transition: none !important; } }

/* ---------- photo heroes, 27 Oct 2026: a deep teal-charcoal tint instead of a thin black wash.
   Darkest behind the text, lighter at the edges so the photo still reads. White text >= 5:1 on the brightest photo areas. ---------- */
.sm-hero > .elementor-background-overlay { opacity: 1 !important; background: radial-gradient(ellipse 75% 70% at 50% 50%, rgba(8,34,40,.8) 0%, rgba(8,34,40,.7) 60%, rgba(8,34,40,.56) 100%) !important; }
.sm-hero .elementor-heading-title, .sm-hero .elementor-widget-text-editor { text-shadow: 0 1px 14px rgba(0,0,0,.35); }
.sm-hero .elementor-widget-text-editor p { font-weight: 400; }
@media (max-width: 767px) {
  .sm-hero > .elementor-background-overlay { background: rgba(8,34,40,.74) !important; }
  .sm-hero > .elementor-container { padding-top: 40px; padding-bottom: 48px; }
}

/* ================= formatting pass, 27 Oct 2026: same colours and fonts, better reading ================= */
/* body copy was the light (300) weight of the system sans, which reads faint; regular weight, same grey */
#sm-page [data-elementor-type="wp-page"] .elementor-widget-text-editor,
#sm-page [data-elementor-type="wp-page"] .elementor-widget-text-editor p,
#sm-page [data-elementor-type="wp-page"] .elementor-icon-list-text,
#sm-page [data-elementor-type="wp-page"] .elementor-image-box-description,
#sm-page [data-elementor-type="wp-page"] .elementor-testimonial-content { font-weight: 400 !important; }
#sm-page [data-elementor-type="wp-page"] .elementor-widget-text-editor p { line-height: 1.75; }
#sm-page [data-elementor-type="wp-page"] .elementor-widget-text-editor h3 strong { font-weight: inherit; }
#sm-page [data-elementor-type="wp-page"] .elementor-widget-text-editor h3 { font-weight: 400; font-size: 22px; line-height: 1.35; color: #3a3a3a; margin: 0 0 14px; }
/* card titles and FAQ questions were underlined links */
#sm-page .elementor-image-box-title a { text-decoration: none; }
#sm-page .elementor-image-box-title a:hover, #sm-page .elementor-image-box-title a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
#sm-page .elementor-tab-title a, #sm-page .elementor-tab-title .elementor-toggle-title { text-decoration: none !important; color: #3a3a3a; font-size: 17px; font-weight: 400; line-height: 1.5; }
#sm-page .elementor-tab-title:hover a, #sm-page .elementor-tab-title.elementor-active a { color: #138896; }
#sm-page .elementor-tab-content { font-size: 16px; line-height: 1.75; }
.sm-left, .sm-left p, #sm-page .sm-left .elementor-widget-container { text-align: left !important; }

/* side-by-side button pair (bereavement and approach intro) instead of two stretched bars */
.sm-btn-pair-l .elementor-button, .sm-btn-pair-r .elementor-button { width: auto !important; padding-left: 34px; padding-right: 34px; white-space: nowrap; }
.sm-btn-pair-l { text-align: right !important; }
.sm-btn-pair-r { text-align: left !important; }
.sm-btn-pair-l .elementor-button-wrapper { text-align: right; }
.sm-btn-pair-r .elementor-button-wrapper { text-align: left; }

/* readable measure for long text-only sections */
.sm-measure > .elementor-container { max-width: 860px !important; }
.sm-lead-h { margin-bottom: 18px !important; }
.sm-lead-h strong { display: block; font-weight: 300; font-size: 26px; line-height: 1.3; letter-spacing: 1px; text-transform: uppercase; color: #54595f; }

/* rightsizing case study */
.sm-case-body { width: 100%; }
.sm-case-body > .elementor-widget-container { max-width: 820px; margin: 0 auto; text-align: left; }
.sm-case-body .sm-case-step { display: flex; align-items: baseline; gap: 14px; margin: 40px 0 14px !important; font-size: 22px !important; }
.sm-case-body .sm-case-step:first-child { margin-top: 8px !important; }
.sm-case-n { font-weight: 300; font-size: 30px; line-height: 1; color: #179dab; min-width: 22px; }
.sm-case-body ul { list-style: none; margin: 0 0 16px; padding: 0 0 0 36px; }
.sm-case-body li { position: relative; margin: 0 0 8px; padding-left: 20px; line-height: 1.7; text-align: left; }
.sm-case-body li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: #179dab; }
.sm-case-body .sm-case-note { margin: 4px 0 0 36px; font-style: italic; color: #138896; }
.sm-on-teal a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* bereavement: the long testimonial reads as a letter */
.sm-letter > .elementor-widget-container { max-width: 720px; margin: 0 auto; text-align: left !important; }
.sm-letter p, .sm-letter em, .sm-letter i { font-style: normal !important; text-align: left !important; font-size: 17px !important; line-height: 1.8 !important; }
.sm-letter p:last-child { font-style: italic !important; text-align: right !important; color: #138896; }

/* testimonials page: full reviews readable, pull quotes calmer */
#sm-page .sm-review .elementor-testimonial-content { font-size: 16px !important; line-height: 1.75 !important; color: #54595f; }
#sm-page .sm-review.sm-on-dark .elementor-testimonial-content { color: #fff; }
#sm-page .sm-pull .elementor-testimonial-content { font-size: 24px !important; line-height: 1.5 !important; }
@media (max-width: 767px) { #sm-page .sm-pull .elementor-testimonial-content { font-size: 21px !important; } }

/* Talk To Us: the enquiry block takes the full width */
.sm-col-full { width: 100% !important; max-width: 100% !important; }
.sm-enq-address { max-width: 980px; margin: 18px auto 0; display: flex; align-items: center; justify-content: center; gap: 10px; font-family: "Poppins", sans-serif; font-size: 15px; color: #54595f; }
.sm-enq-address i { color: #179dab; }

/* privacy policy */
.sm-legal .elementor-widget { width: 100%; }
.sm-legal .elementor-widget-container { max-width: 780px; margin: 0 auto; }
.sm-legal p { text-align: left !important; }
.sm-legal h2 { font-weight: 400 !important; font-size: 26px !important; margin: 44px 0 12px !important; color: #3a3a3a; }
.sm-legal h3 { font-weight: 400 !important; font-size: 19px !important; margin: 26px 0 8px !important; color: #3a3a3a; }

/* enquiry form: on phones the service choices fill the width */
.sm-svc-opt { width: 100%; }

/* phones: long copy and lists read left-aligned (headings and short intros can stay centred) */
@media (max-width: 767px) {
  #sm-page [data-elementor-type="wp-page"] .elementor-section:not(.sm-hero) .elementor-widget-text-editor p,
  #sm-page [data-elementor-type="wp-page"] .elementor-section:not(.sm-hero) .elementor-widget-text-editor li,
  #sm-page [data-elementor-type="wp-page"] .elementor-section:not(.sm-hero) .elementor-widget-text-editor ul { text-align: left !important; }
  #sm-page .sm-review .elementor-testimonial-content { text-align: left !important; }
  .sm-case-body ul { padding-left: 0; }
  .sm-case-body .sm-case-note { margin-left: 0; }
  .sm-btn-pair-l, .sm-btn-pair-r, .sm-btn-pair-l .elementor-button-wrapper, .sm-btn-pair-r .elementor-button-wrapper { text-align: center !important; }
  .sm-lead-h strong { font-size: 21px; }
}

/* ================= second design pass, 27 Oct 2026 ================= */
/* step cards: rightsizing case study (4) and bereavement "what we did" (3); same language as How It Works */
.sm-stepcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; text-align: left; }
.sm-stepcards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sm-stepcard { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e8e9; border-top: 3px solid #179dab; border-radius: 0 0 6px 6px; box-shadow: 0 14px 30px -22px rgba(15,60,66,.35); }
.sm-stepcard header { display: flex; align-items: baseline; gap: 14px; padding: 26px 28px 6px; }
.sm-stepcard-n { font-family: "Poppins", sans-serif; font-weight: 300; font-size: 40px; line-height: 1; color: #179dab; }
#sm-page .sm-stepcard h3 { margin: 0 !important; font-family: "Poppins", sans-serif; font-weight: 400 !important; font-size: 20px !important; line-height: 1.35; color: #3a3a3a; text-transform: none; letter-spacing: 0; }
.sm-stepcard-body { flex: 1; padding: 10px 28px 22px; }
.sm-stepcard-body p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.75; color: #54595f; text-align: left !important; }
.sm-stepcard-body ul { list-style: none; margin: 0; padding: 0 !important; }
.sm-stepcard-body li { position: relative; margin: 0; padding: 9px 0 9px 20px !important; border-bottom: 1px solid #eef1f2; font-size: 15px; line-height: 1.6; color: #54595f; text-align: left !important; }
.sm-stepcard-body li:last-child { border-bottom: 0; }
.sm-stepcard-body li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 7px; height: 7px; border-radius: 50%; background: #179dab; }
#sm-page .sm-stepcard-note { margin: 0 !important; padding: 16px 28px 18px; background: #f3f7f7; border-top: 1px solid #e3e8e9; border-radius: 0 0 6px 6px; font-style: italic; font-size: 15px; line-height: 1.6; color: #0f6c76; text-align: left !important; }
#sm-page .sm-stepcard-note em { font-style: italic; }
.sm-case-body > .elementor-widget-container { max-width: none; }
.sm-what-we-did > .elementor-container { max-width: 1140px !important; }
#sm-page .sm-sec-h { margin: 0 0 30px; text-align: center; font-family: "Poppins", sans-serif; font-weight: 300; font-size: 28px; letter-spacing: 1px; text-transform: uppercase; color: #54595f; }

/* bereavement: what you benefit from, as tiles */
.sm-tiles .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 6px 0 10px !important; }
.sm-tiles .elementor-icon-list-item { margin: 0 !important; padding: 16px 18px !important; background: #f3f7f7; border-radius: 6px; align-items: flex-start !important; }
.sm-tiles .elementor-icon-list-item::after { display: none !important; }
.sm-tiles .elementor-icon-list-icon { padding-top: 4px; }
.sm-tiles .elementor-icon-list-item { flex-wrap: nowrap !important; }
.sm-tiles .elementor-icon-list-text { flex: 1; min-width: 0; margin: 0 !important; padding: 0 !important; align-self: flex-start !important; }

/* About Us: Maura's bio uses the width, photo and name beside the text, text in two columns on wide screens */
#sm-page .sm-bio { width: 100% !important; max-width: 1140px !important; flex: 1 1 100% !important; margin: 0 auto; }
#sm-page .sm-bio > .elementor-element-populated { margin: 0 !important; }
#sm-page .sm-bio .elementor-image-box-wrapper .elementor-image-box-img { width: 170px !important; margin: 0 auto 18px !important; }
#sm-page .sm-bio .elementor-image-box-title { font-size: 28px !important; }
#sm-page .sm-bio .elementor-widget-image-box > .elementor-widget-container { padding: 0 !important; }
#sm-page .sm-bio > .elementor-widget-wrap { display: grid !important; grid-template-columns: 220px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 48px; align-items: start !important; align-content: start !important; padding: 44px 48px !important; }
.sm-bio > .elementor-widget-wrap > .elementor-widget { width: auto !important; margin: 0 !important; }
.sm-bio > .elementor-widget-wrap > .elementor-widget-image-box { grid-column: 1; grid-row: 1; }
.sm-bio > .elementor-widget-wrap > .elementor-widget-social-icons { grid-column: 1; grid-row: 2; align-self: start; margin-top: 16px !important; }
.sm-bio > .elementor-widget-wrap > .elementor-widget-text-editor { grid-column: 2; grid-row: 1 / span 2; }
@media (min-width: 1100px) { .sm-bio .elementor-widget-text-editor .elementor-widget-container { columns: 2; column-gap: 44px; } .sm-bio .elementor-widget-text-editor p { break-inside: avoid; } }

/* home testimonials: two rows drifting in opposite directions, paused on hover or keyboard focus */
.sm-marquees { display: grid; gap: 20px; margin: 0 calc(50% - 50vw); padding: 6px 0; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.sm-marquee { overflow: hidden; }
.sm-marquee-track { display: flex; width: max-content; animation: sm-drift 70s linear infinite; }
.sm-marquee-b .sm-marquee-track { animation-duration: 80s; animation-direction: reverse; }
.sm-marquees:hover .sm-marquee-track, .sm-marquees:focus-within .sm-marquee-track { animation-play-state: paused; }
.sm-marquee-set { display: flex; gap: 20px; padding-right: 20px; }
@keyframes sm-drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.sm-quote { width: 380px; flex: none; margin: 0; padding: 26px 28px 24px; background: rgba(255,255,255,.97); border-radius: 6px; display: flex; flex-direction: column; box-shadow: 0 16px 36px -20px rgba(0,0,0,.45); }
.sm-quote-mark { width: 28px; height: 21px; fill: #179dab; margin-bottom: 14px; }
.sm-quote blockquote { margin: 0 0 18px; padding: 0; border: 0; flex: 1; }
.sm-quote blockquote p { font-family: "Poppins", sans-serif; font-weight: 400; font-size: 15.5px; line-height: 1.7; color: #3a3a3a; font-style: normal; margin: 0; }
.sm-quote figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; padding-top: 14px; border-top: 1px solid #e3e8e9; }
.sm-quote figcaption strong { font-family: "Poppins", sans-serif; font-weight: 500; font-size: 15px; color: #3a3a3a; }
.sm-quote figcaption span { font-family: "Poppins", sans-serif; font-weight: 400; font-size: 13px; color: #5b6166; }
.sm-quote figcaption .sm-quote-tag { flex-basis: 100%; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; color: #0f6c76; margin-top: 4px; }
@media (max-width: 767px) { .sm-quote { width: 300px; padding: 22px 22px 20px; } .sm-marquee-track { animation-duration: 55s; } .sm-marquee-b .sm-marquee-track { animation-duration: 62s; } }
@media (prefers-reduced-motion: reduce) {
  .sm-marquee { overflow-x: auto; scroll-snap-type: x mandatory; }
  .sm-marquee-track { animation: none; }
  .sm-marquee-set[aria-hidden="true"] { display: none; }
  .sm-quote { scroll-snap-align: start; }
}

@media (max-width: 1024px) {
  .sm-stepcards-3 { grid-template-columns: 1fr; }
  #sm-page .sm-bio > .elementor-widget-wrap { grid-template-columns: 1fr; padding: 32px 26px !important; }
  .sm-bio > .elementor-widget-wrap > .elementor-widget-image-box, .sm-bio > .elementor-widget-wrap > .elementor-widget-social-icons, .sm-bio > .elementor-widget-wrap > .elementor-widget-text-editor { grid-column: 1; grid-row: auto; }
  .sm-bio > .elementor-widget-wrap > .elementor-widget-social-icons { order: 3; }
}
@media (max-width: 767px) {
  .sm-stepcards { grid-template-columns: 1fr; gap: 16px; }
  .sm-stepcard header { padding: 22px 20px 4px; }
  .sm-stepcard-body { padding: 8px 20px 18px; }
  #sm-page .sm-stepcard-note { padding: 14px 20px 16px; }
  .sm-tiles .elementor-icon-list-items { grid-template-columns: 1fr; }
}
#sm-page { overflow-x: clip; }

/* home "What We Do" cards, 27 Oct 2026: content starts at the top of both cards instead of being centred,
   so icons, titles and descriptions line up across the pair and both buttons sit on the same bottom line */
#sm-page .sm-card > .elementor-widget-wrap { flex-direction: column !important; flex-wrap: nowrap !important; justify-content: flex-start !important; align-content: stretch !important; align-items: stretch !important; padding: 44px 40px 40px !important; }
#sm-page .sm-card > .elementor-widget-wrap > .elementor-widget { width: 100%; margin-bottom: 0 !important; }
#sm-page .sm-card .elementor-widget-icon .elementor-icon-wrapper { height: 56px; display: flex; align-items: flex-end; justify-content: center; }
#sm-page .sm-card .elementor-widget-image-box { flex: 1 1 auto; }
#sm-page .sm-card .elementor-widget-image-box > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
#sm-page .sm-card .elementor-image-box-title { min-height: 2.6em; line-height: 1.3; display: flex; align-items: flex-end; justify-content: center; margin: 22px 0 14px !important; }
#sm-page .sm-card .elementor-image-box-description { margin: 0; }
#sm-page .sm-card .elementor-widget-button { margin-top: 26px !important; }
@media (max-width: 767px) {
  #sm-page .sm-card > .elementor-widget-wrap { padding: 34px 24px 30px !important; }
  #sm-page .sm-card .elementor-image-box-title { min-height: 0; }
}
@media (min-width: 1280px) { #sm-page .sm-card .elementor-image-box-title { min-height: 0; margin-top: 26px !important; } }

/* ================= alignment sweep, 27 Oct 2026 ================= */
@media (max-width: 767px) {
  /* long button labels wrap inside the button instead of running off the screen */
  #sm-page .elementor-button { white-space: normal !important; max-width: 100%; line-height: 1.35; }
  #sm-page .sm-btn-pair-l .elementor-button, #sm-page .sm-btn-pair-r .elementor-button { width: 100% !important; white-space: normal !important; }
  /* benefit tiles line up with the text column above them */
  #sm-page .sm-tiles > .elementor-widget-container { padding: 0 5% !important; margin: 10px 0 20px !important; }
}
/* button pairs centred as one unit at every width */
.sm-btn-row { justify-content: center !important; }
.sm-btn-row > .elementor-column { width: auto !important; flex: 0 0 auto !important; }
.sm-btn-row > .elementor-column > .elementor-widget-wrap { padding: 0 8px !important; }
.sm-btn-pair-l .elementor-button-wrapper, .sm-btn-pair-r .elementor-button-wrapper { text-align: center !important; }
/* About Us feedback cards: same height, names on one line */
.sm-feedback .elementor-inner-section .elementor-container, .sm-feedback > .elementor-container { align-items: stretch !important; }
.sm-feedback .elementor-column > .elementor-widget-wrap { height: 100%; }
.sm-feedback .elementor-widget-testimonial { height: 100%; }
.sm-feedback .elementor-widget-testimonial > .elementor-widget-container { height: 100%; display: flex; }
.sm-feedback .elementor-testimonial-wrapper { display: flex; flex-direction: column; width: 100%; }
.sm-feedback .elementor-testimonial-content { flex: 1; }
/* enquiry form service options fill the field width on every screen */
.sm-svc-opt, .sm-svc-opt span { width: 100%; box-sizing: border-box; }
@media (max-width: 767px) {
  .sm-btn-row { flex-direction: column; align-items: center; }
  .sm-btn-row > .elementor-column { width: 100% !important; }
  #sm-page [data-elementor-type="wp-page"] .elementor-widget-button .elementor-button { min-width: 230px; }
}
.sm-svc { width: 100%; flex: 1 1 100%; }
