.elementor .elementor-widget-container > p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor .eyebrow, .elementor-widget-text-editor .script-flourish { margin-block: 0; }

.elementor .e-con.ss-sec { --padding-top: clamp(4.5rem, 9vw, 8rem); --padding-bottom: clamp(4.5rem, 9vw, 8rem); --padding-left: 0px; --padding-right: 0px; --gap: 0px; }
.elementor .e-con.ss-hero { --padding-top: clamp(4rem, 10vw, 8rem); --padding-bottom: clamp(3.5rem, 8vw, 6rem); }
.elementor .e-con.ss-hero--compact { --padding-top: clamp(3.5rem, 8vw, 6rem); --padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.elementor .e-con.ss-features { --padding-top: 0px; --padding-bottom: 0px; }
.elementor .e-con.ss-inner { --padding-left: var(--gutter); --padding-right: var(--gutter); --padding-top: 0px; --padding-bottom: 0px; --width: 100%; margin-inline: auto; width: 100%; max-width: 1280px; }
.elementor .e-con.ss-narrow { max-width: 760px; }
.elementor .e-con.ss-hero--compact .ss-inner { max-width: 820px; }
.elementor .e-con.ss-grid { --display: grid; display: grid; grid-template-columns: repeat(4, 1fr); }
.elementor .e-con.ss-split { --display: grid; display: grid; grid-template-columns: 1fr 1fr; }
.elementor .e-con.ss-hero .ss-inner { --display: grid; display: grid; }
.elementor .e-con.ss-hero:not(.ss-hero--compact) .ss-inner { grid-template-columns: 1.05fr .95fr; align-items: center; }
.elementor .e-con.ss-hero--compact .ss-inner { grid-template-columns: 1fr; }
.elementor .e-con.hero__cta { --flex-direction: row; flex-direction: row; flex-wrap: wrap; --gap: .9rem; gap: .9rem; }
.elementor .e-con.promise__item { --padding-top: .4rem; --padding-bottom: .4rem; --padding-left: 1.4rem; --padding-right: 1.4rem; --gap: .35rem; }
.elementor .e-con.section-head { --align-items: center; align-items: center; text-align: center; max-width: 640px; margin: 0 auto 3.4rem; }
.elementor .e-con.section-cta { --align-items: center; align-items: center; margin-top: 3rem; }
.elementor .e-con.story__panel { min-height: 420px; }

.elementor .elementor-widget-button.btn { padding: 0; background: transparent; border: 0; box-shadow: none; width: auto; }
.elementor .elementor-widget-button.btn .elementor-button { border-radius: 999px; font-family: var(--body); font-weight: 600; font-size: .92rem; padding: .85rem 1.7rem; background: var(--ink); color: var(--cream); transition: transform .5s var(--e-spring), background .4s var(--e-smooth); }
.elementor .elementor-widget-button.btn--ghost .elementor-button { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.elementor .elementor-widget-button.btn--light .elementor-button { background: var(--cream); color: var(--ink); }
.elementor .elementor-widget-button.btn--solid .elementor-button:hover { background: var(--smoke); }
.elementor .elementor-widget-button.btn--ghost .elementor-button:hover { border-color: var(--ink); background: transparent; }
.elementor .elementor-widget-button .elementor-button:hover { transform: translateY(-2px); }

.elementor .ss-faq .elementor-accordion-item { border: 1px solid var(--line); border-radius: var(--r-md); margin-bottom: .8rem; background: var(--paper); overflow: hidden; }
.elementor .ss-faq .elementor-tab-title { font-family: var(--display); font-size: 1.2rem; padding: 1.15rem 1.4rem; border: 0; }
.elementor .ss-faq .elementor-tab-title a { color: var(--ink); }
.elementor .ss-faq .elementor-tab-content { border: 0; color: var(--muted); padding: 0 1.4rem 1.2rem; }

.elementor .cta-band .elementor-heading-title { color: var(--paper); }
.elementor .cta-band .e-con { --align-items: center; align-items: center; text-align: center; }
.elementor .cta-band .elementor-widget-text-editor { color: rgba(243,235,226,.78); }

@media (max-width: 980px) {
    .elementor .e-con.ss-split, .elementor .e-con.ss-hero:not(.ss-hero--compact) .ss-inner { grid-template-columns: 1fr; }
}
.elementor .hero__title .elementor-heading-title { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1; letter-spacing: -.02em; }
.elementor h2.elementor-heading-title { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.08; }
.elementor .hero__lead { font-size: 1.18rem; color: var(--muted); max-width: 34ch; }
.elementor .ss-hero--compact .e-con { --align-items: center; align-items: center; text-align: center; }
.elementor .ss-hero--compact .elementor-widget { text-align: center; }
.elementor .ss-hero--compact .hero__title .elementor-heading-title { font-size: clamp(2.4rem, 5vw, 3.8rem); }
.elementor .ss-hero--compact .hero__lead { margin-inline: auto; }
@media (max-width: 980px) {
    .elementor .e-con.ss-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .elementor .e-con.ss-grid { grid-template-columns: 1fr; }
}
