/* 2.2: clear architectural imagery, restrained type and a human editorial voice. */
.efm-section.e-con { padding-block:88px; }
.efm-section .elementor-heading-title { font-size:2.55rem; line-height:1.3; }
.efm-main p { text-wrap:pretty; }
.efm-main .elementor-button { transition:background-color .18s,color .18s,border-color .18s; }

/* A protected reading area at right leaves the left side of the film clear. */
.efm-hero.e-con { padding:0; min-height:610px; }
.efm-hero:after { background:linear-gradient(270deg,#081c5bfa 0%,#081c5be8 34%,#081c5b9c 47%,#081c5b22 63%,transparent 75%); }
.efm-hero-inner.e-con { min-height:610px; padding-block:58px 74px; }
.efm-hero-copy.e-con { width:54%; max-width:650px; padding-right:0; border:0; }
.efm-hero .efm-hero-title .elementor-heading-title { font-size:3.05rem; line-height:1.3; letter-spacing:0; }
.efm-hero-description { font-size:1.08rem; max-width:440px; margin-bottom:25px; }
.efm-hero-note { margin-top:22px; font-size:.8rem; max-width:450px; }
.efm-hero-video video.elementor-video { object-position:40% 48%; }
.efm-hero-controls.e-con { bottom:23px; }
.efm-trust.e-con { background:#e7ebf2; color:var(--efm-navy); border-bottom:1px solid #c8d0dd; }
.efm-trust-grid.e-con { padding-block:26px; }
.efm-trust-item.e-con { border-color:#bac5d6; }
.efm-trust-item .elementor-heading-title { color:var(--efm-navy); font-size:1.05rem; }
.efm-trust-item p { color:var(--efm-text); }
.efm-trust-item .elementor-icon { color:var(--efm-blue); }

/* The founder's own words have a distinct place, without a fictional portrait. */
.efm-about-grid.e-con { gap:48px 76px; grid-template-columns:1fr 1fr; }
.efm-about .efm-about-copy > .elementor-widget-heading .elementor-heading-title { font-size:2.95rem; }
.efm-about-copy { padding:0; }
.efm-about-text { max-width:535px; font-size:1.05rem; line-height:1.9; }
.efm-about-visual.e-con { padding:0 0 24px; }
.efm-about-visual:before { display:none; }
.efm-about-image img { height:415px; clip-path:none; object-position:50% 46%; }
.efm-experience.e-con { right:auto; left:24px; bottom:0; padding:19px 24px; max-width:270px; }
.efm-experience .elementor-heading-title { font-size:2.65rem; }
.efm-about-grid > .efm-founder-quote { grid-column:1/-1; margin:0; padding:35px 0 0; border-top:1px solid #bfc8d6; }
.efm-about-grid > .efm-founder-quote blockquote { max-width:920px; margin:0; padding:0 28px 0 0; border-right:3px solid var(--efm-blue); font-size:1.8rem; line-height:1.6; font-weight:450; color:var(--efm-navy); }
.efm-founder-quote cite { display:block; font-size:.95rem; font-weight:600; margin-top:19px; font-style:normal; }
.efm-committee-section.e-con { background:#e3e8f0; }
.efm-brand-statement.e-con { padding:36px; }
.efm-brand-statement .elementor-heading-title { font-size:1.75rem; }

/* Services read as a precise directory on a quiet surface. */
.efm-home-services.e-con { background:#f7f8fa; color:var(--efm-text); }
.efm-home-services > .efm-shell > .elementor-widget-heading .elementor-heading-title { color:var(--efm-navy); }
.efm-home-services .efm-kicker p { color:#005ab3; }
.efm-home-services .efm-service-featured { padding:24px 28px; margin-bottom:32px; }
.efm-home-services .efm-service-featured .elementor-heading-title { font-size:1.55rem; }
.efm-service-feature-pair.e-con { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-block:0 35px; align-items:stretch; }
.efm-home-services .efm-service-feature-pair .efm-service-featured.e-con { flex-direction:column; align-items:flex-start; justify-content:center; gap:16px; margin:0; padding:35px; }
.efm-service-lobby img { width:100%; height:260px; object-fit:cover; object-position:center 45%; }
.efm-service-lobby .widget-image-caption { padding:8px 12px; }
.efm-home-services .efm-domains-grid.e-con { border:0; gap:0 32px; }
.efm-home-services .efm-domain-card.e-con { padding:27px 0 24px; border:0; border-top:1px solid #b7c3d4; }
.efm-home-services .efm-domain-card .elementor-heading-title { font-size:1.28rem; color:var(--efm-navy); }
.efm-home-services .efm-domain-card .elementor-widget-text-editor { color:var(--efm-text); font-size:1rem; line-height:1.8; }
.efm-home-services .efm-domain-card .elementor-icon { color:var(--efm-blue); }
.efm-main .efm-home-services .efm-domain-card .efm-text-link .elementor-button { color:#005ab3; }
.efm-main .efm-home-services .efm-all-services .elementor-button { color:var(--efm-navy); border-color:#8c9bb3; background:transparent; }
.efm-main .efm-home-services .efm-all-services .elementor-button:hover { background:#e7ebf2; }
.efm-home-services :focus-visible { outline-color:var(--efm-navy); box-shadow:0 0 0 5px #fff; }
.efm-home-developer-grid.e-con { gap:65px; }
.efm-home-developer-image img { height:365px; object-position:50% 45%; }
.efm-developers .elementor-heading-title { font-size:2.4rem; }
.efm-step h3.elementor-heading-title { font-size:1.17rem; }

/* One leading testimonial, with two supporting voices; all copy stays native. */
.efm-testimonials.e-con { background:#e3e8f0; }
.efm-reviews-grid.e-con { display:grid; grid-template-columns:1.2fr 1fr; gap:0 48px; margin-top:32px; align-items:stretch; }
.efm-review.e-con { padding:22px 0; border:0; border-bottom:1px solid #b4c0d1; }
.efm-review:first-child { grid-row:span 2; padding:36px 38px; background:var(--efm-navy); color:#fff; justify-content:center; }
.efm-review:last-child { border-bottom:0; }
.efm-review-quote blockquote { font-size:1.14rem; line-height:1.85; padding-top:25px; }
.efm-review:first-child .efm-review-quote blockquote { font-size:1.95rem; line-height:1.55; color:#fff; padding-top:34px; }
.efm-review:first-child .efm-review-quote blockquote:before { color:var(--efm-ice); }
.efm-review-author { margin-top:18px; color:#465268; font-size:.9rem; }
.efm-review:first-child .efm-review-author { color:#d5e4ff; }

/* Inner pages expose the content sooner, with shorter reading measures. */
.efm-page-hero.e-con { background:#e7ebf2; color:var(--efm-text); padding-block:38px 44px; }
.efm-page-hero-grid.e-con { gap:58px; }
.efm-page-hero .efm-page-title .elementor-heading-title { color:var(--efm-navy); font-size:2.65rem; line-height:1.35; }
.efm-page-hero .efm-breadcrumbs,.efm-page-hero .efm-breadcrumbs a { color:#44516a; }
.efm-page-hero .efm-breadcrumbs span[aria-hidden] { color:#68758b; }
.efm-main .efm-page-symbol .elementor-icon { color:var(--efm-blue); }
.efm-page-hero-image img { height:310px; clip-path:none; }
.efm-page-lead { max-width:530px; font-size:1.04rem; line-height:1.85; }
.efm-page-hero :focus-visible { outline-color:var(--efm-navy); box-shadow:0 0 0 5px #fff; }
.efm-reading.e-con { max-width:820px; }
.efm-reading .elementor-widget-text-editor { font-size:1.06rem; line-height:1.9; }
.efm-reading .elementor-heading-title { font-size:2.05rem; line-height:1.4; }
.efm-guide-part.e-con { margin-block:20px; padding-block:25px; }
.efm-guide-part .elementor-widget-heading { margin-block:0 15px; }
.efm-detail-row .elementor-widget-text-editor { max-width:780px; }
.efm-process-detail .elementor-heading-title { font-size:1.85rem; }
.efm-related .elementor-heading-title { font-size:2.1rem; }
.efm-closing .elementor-heading-title { font-size:2.35rem; }

@media(min-width:1800px) {
 .efm-hero.e-con,.efm-hero-inner.e-con { min-height:690px; }
 .efm-hero-copy.e-con { max-width:710px; }
 .efm-hero .efm-hero-title .elementor-heading-title { font-size:3.4rem; }
}
@media(max-width:1200px) and (min-width:768px) {
 .efm-hero-copy.e-con { width:65%; }
 .efm-hero:after { background:linear-gradient(270deg,#081c5bfa,#081c5be8 42%,#081c5b70 67%,transparent); }
 .efm-hero .efm-hero-title .elementor-heading-title { font-size:2.7rem; }
 .efm-about-grid.e-con { gap:38px; }
 .efm-about .efm-about-copy > .elementor-widget-heading .elementor-heading-title { font-size:2.5rem; }
 .efm-about-image img { height:390px; }
 .efm-page-hero-grid.e-con { gap:35px; }
}
@media(min-width:768px) and (max-width:1024px) {
 .efm-hero-copy.e-con { width:72%; }
 .efm-hero .efm-hero-title .elementor-heading-title { font-size:2.4rem; }
}
@media(max-width:767px) {
 .efm-section.e-con { padding-block:58px; }
 .efm-section .elementor-heading-title { font-size:2rem; }
 .efm-hero.e-con { min-height:0; padding:0; }
 .efm-hero-inner.e-con { min-height:0; padding-block:32px 258px; }
 .efm-hero-copy.e-con { width:100%; max-width:none; border:0; padding:0; }
 .efm-hero .efm-hero-title .elementor-heading-title { font-size:1.95rem; line-height:1.35; }
 .efm-hero .efm-kicker { margin-bottom:16px; }
 .efm-hero-description { font-size:.97rem; margin-bottom:20px; }
 .efm-hero-note { font-size:.74rem; margin-top:18px; }
 .efm-hero-video.elementor-widget { top:auto; bottom:0; height:224px; }
 .efm-hero-video video.elementor-video { object-position:center 43%; }
 .efm-hero:after { top:auto; height:224px; background:linear-gradient(180deg,#081c5b 0%,#081c5b00 24%); }
 .efm-hero-controls.e-con { bottom:15px; left:0; right:auto; }
 .efm-hero .efm-primary-cta .elementor-button { padding:15px 17px; font-size:.91rem; }
 .efm-hero .efm-hero-secondary .elementor-button { padding:9px 16px; }
 .efm-trust-grid.e-con { padding-block:22px; }
 .efm-trust-item.e-con { border-color:#bdc8d8; }
 .efm-about-grid.e-con { grid-template-columns:1fr; gap:28px; }
 .efm-about .efm-about-copy > .elementor-widget-heading .elementor-heading-title { font-size:2.3rem; }
 .efm-about-text { font-size:1rem; }
 .efm-about-visual.e-con { padding-bottom:23px; }
 .efm-about-image img { height:290px; object-position:center; }
 .efm-experience.e-con { left:16px; right:auto; bottom:0; padding:15px 20px; max-width:240px; }
 .efm-experience .elementor-heading-title { font-size:2.4rem; }
 .efm-about-grid > .efm-founder-quote { padding-top:26px; }
 .efm-about-grid > .efm-founder-quote blockquote { font-size:1.4rem; line-height:1.7; padding-right:18px; }
 .efm-brand-statement.e-con { padding:28px; }
 .efm-brand-statement .elementor-heading-title { font-size:1.55rem; }
 .efm-home-services .efm-domains-grid.e-con { gap:0 22px; }
 .efm-home-services .efm-service-featured { padding:21px; margin-bottom:22px; }
 .efm-home-services .efm-service-featured .elementor-heading-title { font-size:1.3rem; }
 .efm-service-feature-pair.e-con { grid-template-columns:1fr; margin-bottom:25px; }
 .efm-home-services .efm-service-feature-pair .efm-service-featured.e-con { padding:26px; gap:12px; }
 .efm-service-lobby img { height:200px; }
 .efm-home-services .efm-domain-card .elementor-heading-title { font-size:1.13rem; }
 .efm-home-services .efm-domain-card .elementor-widget-text-editor { font-size:.95rem; }
 .efm-main .efm-home-services .efm-domain-card .efm-text-link .elementor-button { font-size:.87rem; }
 .efm-home-developer-grid.e-con { gap:28px; }
 .efm-home-developer-image img { height:250px; }
 .efm-developers .elementor-heading-title { font-size:1.95rem; }
 .efm-reviews-grid.e-con { grid-template-columns:1fr; gap:0; margin-top:24px; }
 .efm-review:first-child { grid-row:auto; padding:30px 26px; margin-bottom:10px; }
 .efm-review:first-child .efm-review-quote blockquote { font-size:1.6rem; }
 .efm-review.e-con { padding:26px 0; }
 .efm-review-quote blockquote { font-size:1.1rem; }
 .efm-page-hero.e-con { padding-block:25px 35px; }
 .efm-page-hero-grid.e-con { gap:25px; }
 .efm-page-hero .efm-page-title .elementor-heading-title { font-size:2.05rem; }
 .efm-page-hero-image img { height:190px; }
 .efm-page-lead { font-size:1rem; }
 .efm-reading .elementor-heading-title { font-size:1.8rem; }
 .efm-reading .elementor-widget-text-editor { font-size:1rem; }
 .efm-process-detail .elementor-heading-title { font-size:1.5rem; }
 .efm-related .elementor-heading-title,.efm-closing .elementor-heading-title { font-size:1.9rem; }
}
@media(max-width:359px) {
 .efm-hero .efm-hero-title .elementor-heading-title { font-size:1.7rem; }
 .efm-home-services .efm-domains-grid.e-con { grid-template-columns:1fr; }
}
@media(forced-colors:active) {
 .efm-hero:after { background:Canvas; }
 .efm-hero-copy { position:relative; z-index:2; }
 .efm-hero .elementor-heading-title,.efm-hero p { color:CanvasText!important; }
 .efm-review:first-child { border:1px solid CanvasText; }
}
