/* Restore the measured trust-label role. */
html body main#content.pl-home .pl-trust > p { font-size:14px!important; line-height:21px!important; }
/* Original imported Elementor heading widgets own their spacing. Generic
   heading margins were being added on top of widget/container gaps. */
html body main:is(.product-content,.stage5-content,.stage6,.cs-listing) :is(.elementor-widget-heading,.elementor-widget-theme-post-title) .elementor-heading-title {
 margin-block:0!important;
}
/* Source paragraph rhythm, scoped to article prose. Native tables, disclosures,
   metadata and the retained sidebar/control variants are not reset. */
html body main .stage7-prose p { margin-block:0 14.4px; }
/* Imported fixed-size descendants must fit their own responsive container.
   These constraints preserve the original composition without clipping text. */
html body main.service-content :is(p,h1,h2,h3,h4,li) { overflow-wrap:anywhere; }
html body main.service-content .e-con,
html body main.stage5-content .elementor-element-4dc833c { min-width:0; max-width:100%; }
html body main.service-content .elementor-widget-image img { max-width:100%!important; height:auto; }
/* The final decorative connector has no following step; its source position
   extends outside the last column at laptop widths. Keep it inside that column. */
html body main.service-content .elementor-element-bfc8435 { right:0!important; left:auto!important; max-width:100%; }
/* Three statistics need three bounded tracks on tablets; the imported tablet
   child widths were 100% each inside an unwrapped horizontal row. */
@media(min-width:601px) and (max-width:1024px) {
 html body main.service-content .elementor-element-567435b > .e-con-inner {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--card-gap);
 }
}
html body main.stage6 :is(h1,h2,h3,h4,p) { overflow-wrap:anywhere; }
/* Some retained study styles set a desktop inner width at the tablet boundary.
   Keep the inner wrapper within its existing outer section; no content hiding. */
@media(min-width:768px) and (max-width:1024px) {
 html body main.stage6 .e-con > .e-con-inner { width:100%!important; max-width:100%!important; min-width:0; }
}
@media(min-width:768px) and (max-width:1024px) {
 html body main.stage6 .e-con { min-width:0!important; max-width:100%!important; }
}
/* Several imported hero paragraphs were promoted to semantic H1s. Retain
   their paragraph spacing instead of losing the original gap during promotion. */
html body main.product-content .marketing-hero .elementor-widget-text-editor h1 { margin-block:0 14.4px; }
/* These two aliases share the same shifted hero-copy pattern without the
   marketing-hero class. Preserve native widths and remove the extra side margin. */
html body main.service-content :is(.elementor-element-cc5c605,.elementor-element-7cc0d13) { margin-inline:0!important; max-width:100%!important; }
/* Rich Blog bodies retained Elementor containers but lost their layout rules.
   Fresh original measurements: outer horizontal padding 10px, inner vertical
   padding 10px, and a 20px widget gap. Restore that spacing owner instead of
   stacking large generic heading margins on top of each section. */
html body main .stage7-prose .e-con-boxed.e-flex { padding-inline:10px; }
html body main .stage7-prose .e-con-boxed.e-flex > .e-con-inner {
 display:flex; flex-direction:column; gap:20px; padding-block:10px;
 min-width:0;
}
html body main .stage7-prose .e-con-inner > .elementor-widget { min-width:0; }
html body main .stage7-prose .e-con-boxed.e-flex .elementor-heading-title { margin-block:0!important; }
/* Original rich-post composition: 70/30 columns inside a 1400px container.
   The source uses 10px article padding and a wider desktop sidebar inset.
   Retain the RSS row, using the existing space above the article rather than
   adding its entire height to the original content offset. */
html body main.stage7-article:not(.stage7-plain) .stage7-columns {
 width:min(1400px,100%); max-width:1400px;
 grid-template-columns:minmax(0,7fr) minmax(0,3fr); gap:0;
 padding-top:10px;
}
html body main.stage7-article:not(.stage7-plain) .stage7-columns > article { padding:5px 10px 0; }
html body main.stage7-article:not(.stage7-plain) .stage7-sidebar { padding:0 5px 0 50px; }
html body main.stage7-article:not(.stage7-plain) .stage7-feature img { margin-bottom:20px; }
@media(max-width:1024px) {
 html body main.stage7-article:not(.stage7-plain) .stage7-sidebar { padding-inline:5px; }
}
@media(max-width:767px) {
 html body main.stage7-article:not(.stage7-plain) .stage7-columns { display:block; width:calc(100% - 20px); padding-top:10px; }
 html body main.stage7-article:not(.stage7-plain) .stage7-sidebar { padding:15px; }
}

/* Green Screen comparison: measured original widget roles, 2026-10-20.
   The paired heading uses the imported -14px widget margins; the generic
   pdf-service-rhythm reset must not flatten those intentional relationships. */
main#content .green-screen-comparison .elementor-element-05002fd h4 { font-size:24px!important; line-height:1.3!important; font-weight:500!important; }
main#content .green-screen-comparison .elementor-element-147a81b h2 { font-size:35px!important; line-height:1.2!important; }
main#content .green-screen-comparison .elementor-element-c2ed133 h2 { font-size:48px!important; line-height:1.2!important; }
main#content .green-screen-comparison .elementor-element-5922411 { gap:20px!important; }
main#content .green-screen-comparison .elementor-element-5922411 > .e-con > .elementor-widget-heading { width:100%!important; max-width:100%; align-self:center; }
main#content .green-screen-comparison .elementor-element-5922411 h2 { font-size:22px!important; line-height:1!important; font-weight:700!important; text-align:center; }
main#content .green-screen-comparison p { font-size:20px!important; line-height:1.5!important; margin-block:0 14.4px; }
main#content .green-screen-comparison .elementor-element-5922411 p { font-size:17px!important; }
main#content .green-screen-comparison .elementor-element-8e18f0b p { font-size:18px!important; font-weight:600!important; }
@media(max-width:1024px) {
 main#content .green-screen-comparison .elementor-element-05002fd h4 { font-size:23px!important; }
 main#content .green-screen-comparison :is(.elementor-element-147a81b,.elementor-element-c2ed133) h2 { font-size:32px!important; }
}
@media(max-width:767px) {
 main#content .green-screen-comparison .elementor-element-05002fd h4 { font-size:22px!important; }
 main#content .green-screen-comparison :is(.elementor-element-147a81b,.elementor-element-c2ed133) h2 { font-size:26px!important; }
 main#content .green-screen-comparison p { font-size:16px!important; }
}

/* Original Elementor heroes start at the top of the document and reserve their
   own header clearance. Use measured shared chrome height, not per-page offsets.
   A leading product-relationship notice stays below the header in normal flow. */
:root { --site-header-height:81px; }
.pl-header ~ main.product-content:has(> .elementor):not(:has(> .product-relationship)),
.pl-header ~ main.stage5-content:not(.stage5-prose):has(> .elementor) {
 margin-top:calc(-1 * var(--site-header-height));
}
@media(max-width:1100px) { :root { --site-header-height:74px; } }

/* Source defaults obscured by generic heading rules on imported templates. */
.product-coderflow .product-content .elementor h4.elementor-heading-title { line-height:1.3; }
main#content .green-screen-comparison .elementor-element-3f2455f p { font-size:18px!important; line-height:1.5!important; }

/* Local copies of the original homepage and navigation faces. */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;

  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
;src:url("../images/products/adf3f85ee4353156.woff2") format("woff2");font-display:swap;}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;

  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
;src:url("../images/products/adf3f85ee4353156.woff2") format("woff2");font-display:swap;}
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;

  unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
;src:url("../images/products/878ab63f567d9c8c.woff2") format("woff2");font-display:swap;}
/* Home uses the original component-specific scale and source breakpoints.
   Layout: section backgrounds are full bleed; every section's content sits in
   one centred .pl-container (1400px content, the width hero/Why already used)
   with 24/32/40px gutters. The shared footer joins it on home only, below 1920px. */
html body main#content.pl-home,
html body main#content.stage7-article:has([data-source-id="wp:post:32355"]),
html body main#content.pl-home ~ footer.pl-footer { --home-content:var(--hero-content-width); --home-gutter:40px; --home-section-y:80px; }
html body main#content.pl-home .pl-container,
html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero > .stage7-wrap,
html body main#content.pl-home ~ footer.pl-footer > .pl-footer-inner {
 box-sizing:border-box; width:100%; max-width:calc(var(--home-content) + 2 * var(--home-gutter));
 margin-inline:auto; padding-inline:var(--home-gutter);
}
@media(max-width:1024px) {
 html body main#content.pl-home,
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]),
html body main#content.pl-home ~ footer.pl-footer { --home-gutter:32px; --home-section-y:56px; }
}
@media(max-width:767px) {
 html body main#content.pl-home,
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]),
html body main#content.pl-home ~ footer.pl-footer { --home-gutter:24px; --home-section-y:40px; }
}
html body main#content.pl-home .hero { margin-top:calc(-1 * var(--site-header-height)); min-height:532px; display:flex; align-items:center; }
/* Hero content is centred in the area below the overlapping header: equal
   section-scale padding above and below, plus the header offset on top. */
html body main#content.pl-home .pl-hero-inner { --hero-measure:60%; padding-block:calc(var(--site-header-height) + var(--home-section-y)) var(--home-section-y); display:block; min-height:0; }
/* Wide desktop (1920px up, incl. 2560/3440): hero copy spans 80% of the container. */
@media(min-width:1920px) { html body main#content.pl-home .pl-hero-inner { --hero-measure:80%; } }
html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero h1,
html body main#content.pl-home .hero h1 { font:700 52px/56px proxima-nova,sans-serif!important; max-width:var(--hero-measure); margin:0 0 34.4px; }
html body main#content.pl-home .hero p { font:400 20px/30px proxima-nova,sans-serif!important; max-width:var(--hero-measure); margin:0 0 34.4px; }
html body main#content.pl-home .pl-trust { padding-block:25px 20px; min-height:150px; }
html body main#content.pl-home .pl-why { grid-template-columns:minmax(0,45.44fr) minmax(0,52.94fr); gap:20px; padding-block:0 var(--home-section-y); }
html body main#content.pl-home .pl-why > div:first-child { padding-right:28px; }
html body main#content.pl-home .pl-why h2 { font:700 52px/1 proxima-nova,sans-serif!important; margin:0 0 40px; }
html body main#content.pl-home .pl-why p { font:400 24px/1.5 Roboto,sans-serif!important; margin:0; }
html body main#content.pl-home .pl-why .pl-button { margin-top:40px; }
html body main#content.pl-home .pl-people { min-height:604px; align-self:start; }
html body main#content.pl-home .pl-people img:nth-child(1) { width:33.3333%; left:0; top:0; }
html body main#content.pl-home .pl-people img:nth-child(2) { width:calc(33.3333% + 40px); left:calc(33.3333% - 40px); top:200px; }
html body main#content.pl-home .pl-people img:nth-child(3) { width:calc(33.3333% + 30px); right:0; top:70px; }
html body main#content.pl-home :is(.pl-solutions,.pl-industries,.pl-lead-section,.pl-related.marketing-resources) { width:auto; max-width:none; margin:0; padding-block:var(--home-section-y); }
html body main#content.pl-home :is(.pl-solutions,.pl-industries,.pl-lead-section,.pl-related) h2 { font:700 52px/1 proxima-nova,sans-serif!important; margin:0 0 40px; max-width:none; text-align:center; }
html body main#content.pl-home .pl-related h2 { text-align:left; }
html body main#content.pl-home .pl-intro { font:400 24px/1.5 Roboto,sans-serif!important; margin:0 0 34.4px; max-width:none; }
html body main#content.pl-home .pl-solution-card h3 { font:700 24px/1 proxima-nova,sans-serif!important; margin-bottom:7px; }
html body main#content.pl-home .pl-solution-card p { font:400 14px/1.5 proxima-nova,sans-serif!important; margin-bottom:14.4px; }
html body main#content.pl-home .pl-benefit { font:400 12px/1 proxima-nova,sans-serif!important; }
html body main#content.pl-home .pl-industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:none; }
html body main#content.pl-home .pl-industry-copy p { font:400 16px/1.5 proxima-nova,sans-serif!important; margin:0 0 14.4px; }
html body main#content.pl-home .pl-industry-details > summary { padding-inline:10px; }
html body main#content.pl-home .pl-industry-details h3 { font:700 20px/1.3 proxima-nova,sans-serif!important; }
html body main#content.pl-home .pl-industry-copy { padding:10px; }
@media(max-width:1366px) and (min-width:1025px) {
 html body main#content.pl-home .pl-why h2 { font-size:49px!important; }
 html body main#content.pl-home .pl-why p { font-size:18px!important; }
 html body main#content.pl-home :is(.pl-solutions,.pl-industries,.pl-lead-section,.pl-related) h2 { font-size:60px!important; }
 html body main#content.pl-home .pl-intro { font-size:20px!important; }
}
@media(max-width:1024px) {
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero h1,
html body main#content.pl-home .hero h1 { font-size:48px!important; max-width:min(100%,492.797px); }
 html body main#content.pl-home .hero p { max-width:min(100%,484px); }
 html body main#content.pl-home .pl-why { grid-template-columns:minmax(0,1fr); }
 html body main#content.pl-home .pl-why p,html body main#content.pl-home .pl-intro { font-size:18px!important; }
 html body main#content.pl-home :is(.pl-why,.pl-solutions,.pl-industries,.pl-lead-section,.pl-related) h2 { font-size:32px!important; }
 html body main#content.pl-home .pl-industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 html body main#content.pl-home .hero { min-height:400px; }
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero h1,
html body main#content.pl-home .hero h1 { font-size:32px!important; line-height:1.4!important; max-width:100%; }
 html body main#content.pl-home .hero p { font-size:16px!important; line-height:24px!important; max-width:100%; }
 html body main#content.pl-home .pl-why > div:first-child { padding:0; }
 html body main#content.pl-home :is(.pl-why,.pl-solutions,.pl-industries,.pl-lead-section,.pl-related) h2 { line-height:1.3!important; }
 html body main#content.pl-home .pl-people { display:none; }
 html body main#content.pl-home .pl-industry-grid { grid-template-columns:minmax(0,1fr); }
 html body main#content.pl-home .pl-submit-row button { width:100%; }
}
/* Shared chrome uses the source logo, navigation scale and CTA face. Keyboard
   disclosure targets remain 44px and the accepted extra footer links remain. */
@media(min-width:1101px) {
 .pl-header .pl-header-inner { min-height:74px; padding:10px 25px; max-width:1440px; gap:30px; }
 .pl-header .pl-logo img { width:167px; height:55px; }
 .pl-header .pl-navigation { margin-left:0; gap:20px; }
 .pl-header .pl-navigation > ul { flex:1; justify-content:center; gap:0; }
 .pl-header .pl-nav-label > a { font:400 14px/20px proxima-nova,sans-serif; padding:13px 8px; }
 .pl-header .pl-nav-label button { padding:0 12px; }
 .pl-header .pl-nav-actions .pl-button, .pl-home :is(.hero,.pl-why) .pl-button { font:400 13px/22px Poppins,sans-serif!important; padding:11px 24px!important; }
}
/* Wide desktop (1920px up, incl. 2560/3440), sitewide: shared header and
   default footer content span 90% of the page (5% side margins). The home
   footer selector outranks the home .pl-container hook at these widths.
   CoderFlow's own header and newsletter-only footer variant are excluded. */
@media(min-width:1920px) {
 .pl-header .pl-header-inner,
 .pl-footer > .pl-footer-inner:has(> .pl-footer-contact),
 html body main#content.pl-home ~ footer.pl-footer > .pl-footer-inner { width:90%; max-width:none; padding-inline:0; }
}

/* The original prose default is 16/24. Captured per-element profiles continue
   to override this default for authored headings, callouts and inline variants. */
html body main#content .stage7-prose { font-size:16px; line-height:24px; color:#454545; }
html body main#content .stage7-prose :is(p,li) { font-size:inherit; line-height:inherit; }
html body main#content .stage7-prose p { margin:0 0 14.4px; }
html body main#content .stage7-prose li { margin-bottom:0; }
/* Semantic H1 promotions retain the source text widget's exact type metrics. */
main#content .marketing-hero .elementor-widget-text-editor h1 {
 font:inherit; color:inherit; letter-spacing:inherit; margin:0 0 14.4px;
}
/* Original tag, month, event and press archives use a simple vertical list. */
html body main#content.stage7-linear-archive .stage7-listing { padding-top:30px; padding-bottom:0; }
html body main#content.stage7-linear-archive .stage7-card { margin-bottom:16px; }
html body main#content.stage7-linear-archive .stage7-card h2 { font:700 32px/32px proxima-nova,sans-serif!important; color:#454545; margin:8px 0 16px; }
html body main#content.stage7-linear-archive .stage7-card h2 a { font:400 16px/24px proxima-nova,sans-serif!important; }
@media(max-width:767px) { html body main#content.stage7-linear-archive .stage7-card h2 { font-size:30px!important; line-height:30px!important; } }
html body main#content.stage7-linear-archive .stage7-card p { font:400 16px/24px proxima-nova,sans-serif!important; margin:0 0 14.4px; }
html body main#content.stage7-linear-archive .stage7-card img { max-height:500px; width:100%; object-fit:cover; margin:0; }
/* Word-generated articles frequently use one UL per item. Source lists have
   no block margins; adding a margin to each UL doubled the line spacing. */
html body main#content .stage7-prose .elementor-widget-text-editor :is(ul,ol) { margin:0; padding-left:40px; }
html body main#content .stage7-prose .elementor-widget-text-editor li { padding-left:0; }
/* Plain WordPress landing pages retain their distinct source typography. */
html body main#content:is(.stage5-prose,.product-content:has(#source-content)) { font-size:16px; line-height:1.5; }
html body main#content:is(.stage5-prose,.product-content:has(#source-content)) :is(p,li) { font-size:16px!important; line-height:24px!important; }
html body main#content:is(.stage5-prose,.product-content:has(#source-content)) h1 { font-size:55px!important; line-height:1.3!important; font-weight:400; letter-spacing:normal; margin-bottom:16px; }
@media(max-width:767px) {
 html body main#content:is(.stage5-prose,.product-content:has(#source-content)) :is(p,li) { font-size:14px!important; line-height:21px!important; }
 html body main#content:is(.stage5-prose,.product-content:has(#source-content)) h1 { font-size:44px!important; }
}
main#content .elementor-element-68cb0d2 h2 { font:inherit!important; color:inherit!important; letter-spacing:inherit; margin:0 0 14.4px; }
/* Archive hero includes the source header allowance; RSS occupies the original
   gap above the cards instead of adding another full row to that gap. */
.stage7-page main:has(.stage7-blog-hero) { margin-top:calc(-1 * var(--site-header-height)); }
.stage7-page main .stage7-blog-hero { min-height:430px; padding:120px 0 50px; }
.stage7-page main .stage7-blog-hero > .stage7-wrap { min-height:260px; width:min(1400px,calc(100% - 30px)); padding:0 10px; display:flex; flex-direction:column; justify-content:center; background:none; }
.stage7-page main .stage7-blog-hero h1 { margin:0 0 20px; max-width:none; }
.stage7-page main .stage7-blog-hero p { font-size:20px!important; line-height:30px!important; max-width:none; margin:0 0 14.4px; }
.stage7-page main .stage7-blog-background { object-position:right center; }
.stage7-page main:has(.stage7-blog-hero) .stage7-listing { padding-top:6px; }
@media(min-width:1367px) { .stage7-page main .stage7-blog-hero p { font-size:24px!important; line-height:36px!important; } }
@media(max-width:1024px) {
 .stage7-page main .stage7-blog-hero { min-height:410px; padding-top:100px; }
 .stage7-page main .stage7-blog-hero > .stage7-wrap { width:calc(100% - 20px); }
}
@media(max-width:767px) {
 .stage7-page main .stage7-blog-hero { padding:90px 0 60px; }
 .stage7-page main .stage7-blog-hero > .stage7-wrap { width:calc(100% - 10px); }
 .stage7-page main .stage7-blog-hero p { font-size:16px!important; line-height:24px!important; }
 .stage7-page main .stage7-blog-background { object-position:right top; }
}
@media(min-width:768px) {
 .stage7-page main.stage7-article:not(.stage7-plain) .stage7-hero {
  margin-top:calc(-1 * var(--site-header-height)); min-height:480px;
  padding-top:120px; --source-header-overlap:0px;
 }
 .stage7-page main.stage7-article:not(.stage7-plain) .stage7-hero .stage7-wrap { width:min(1400px,calc(100% - 30px)); padding-inline:10px; }
 .stage7-page main.stage7-article:not(.stage7-plain) .stage7-hero h1 { max-width:80%; }
 html body main.stage7-article:not(.stage7-plain) .stage7-columns > article { padding-top:3px; }
}
/* Metrics article: use Home's container, headline scale and balanced spacing.
   Keep the shorter article hero; its header overlaps only at tablet/desktop.
   Source identity scopes this correction without rewriting the editorial body. */
html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero {
 --hero-measure:60%; --source-header-overlap:0px;
 display:flex; align-items:center;
 padding-block:calc(var(--site-header-height) + var(--home-section-y)) var(--home-section-y);
}
html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero > .stage7-wrap { min-height:0; display:block; }
@media(min-width:1920px) {
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero { --hero-measure:80%; }
}
@media(max-width:767px) {
 html body main#content.stage7-article:has([data-source-id="wp:post:32355"]) .stage7-hero { padding-block:var(--home-section-y); }
}

/* Authored nonbreaking Word spans still need to fit a 320px reading column. */
html body main.stage5-content :is(p,li,h1,h2,h3,h4) { overflow-wrap:anywhere; }

html body main#content:is(.stage5-prose,.product-content:has(#source-content)) h2 { font-size:32px!important; line-height:1!important; letter-spacing:normal; }
@media(max-width:767px) { html body main#content:is(.stage5-prose,.product-content:has(#source-content)) h2 { font-size:30px!important; } }
/* These imported CoderFlow headings keep the source's 1.3 line-height. */
main#content.product-coderflow .elementor h4.elementor-heading-title { line-height:1.3; }
html body main.product-content .elementor-heading-title { letter-spacing:normal; }
/* Category archives use the original vertical image listing. The accepted
   single-link cards, tag labels and in-page filters remain available. */
.cs-listing:not(.cs-source-archive) .cs-grid { display:block; }
.cs-listing:not(.cs-source-archive) .cs-card { border:0; border-radius:0; margin-bottom:24px; }
.cs-listing:not(.cs-source-archive) .cs-card-copy { display:contents; }
.cs-listing:not(.cs-source-archive) .cs-card h2 { order:-1; font:400 16px/24px proxima-nova,sans-serif!important; color:var(--color-accent-orange); margin:0 0 14.4px; }
.cs-listing:not(.cs-source-archive) .cs-card img { aspect-ratio:auto; max-height:500px; object-fit:cover; border-radius:0; }
.cs-listing:not(.cs-source-archive) .cs-tags { margin-top:14.4px; }
/* Retained semantic Qodef tables use the original cell spacing and borders.
   Keep the keyboard-scroll wrapper, without adding extra outer margins. */
html body main#content .stage7-prose .qodef-qi-data-table .blog-table-scroll { margin:0; }
html body main#content .stage7-prose .qodef-qi-data-table :is(th,td) { padding:30px 40px; border-color:#ebebeb; background:transparent; }

/* Semantic headings replacing original text-editor divs retain that widget's
   measured type rather than inheriting the site's unrelated default H2. */
html body main.product-content .elementor-widget-text-editor > .elementor-widget-container > h2 { font:inherit; letter-spacing:inherit; color:inherit; margin:0 0 14.4px; }
html body main:is(.product-genie,.product-mobile) .elementor-heading-title { letter-spacing:normal!important; }
html body main.stage7-article .stage7-hero h1 { margin-bottom:0; }

/* Plain WordPress press/news bodies use the theme's own 16/24 text scale. */
html body main#content.stage7-plain .stage7-prose { font-size:16px; line-height:24px; }
html body main#content.stage7-plain .stage7-hero h1 { font:700 55px/1.3 proxima-nova,sans-serif!important; color:#454545; margin:8px 0 16px; }
@media(max-width:767px) {
 html body main#content.stage7-plain .stage7-prose { font-size:14px; line-height:21px; }
 html body main#content.stage7-plain .stage7-hero h1 { font-size:44px!important; }
}
/* All 26 imported study heroes already include the original fixed-header
   allowance. Measured laptop headings were uniformly 84px too low: the 76px
   shared header plus 8px of added category-chip padding. Keep the accepted
   publication label and readable category surface, removing only duplication. */
html body main.stage6:has(.cs-date) { margin-top:calc(-1 * var(--site-header-height)); }
html body main.stage6 .elementor-widget-text-editor:has(+ .elementor-widget-heading h1) span { padding-block:0; }

/* Source title links and their heading line boxes have different styles. */
html body main#content:not(.stage7-linear-archive) .stage7-grid .stage7-card h2 { font:500 16px/20.8px proxima-nova,sans-serif; margin:10px 0 0; text-align:left; }
/* Listing widgets have the original 20px inter-widget gap. Keep it separate
   from article hero styles and from the heading's zero native margin. */
html body main#content .stage7-blog-hero h1 { margin-bottom:0; }
html body main#content .stage7-blog-hero > .stage7-wrap { gap:20px; }
/* Rich article capability labels are centered at every captured breakpoint. */
html body main#content .stage7-prose :is(.elementor-element-1592c72,.elementor-element-0282e0b,.elementor-element-549d124,.elementor-element-930ed71,.elementor-element-3ae2d32) > .elementor-widget-container > p:first-child { text-align:center; }
/* Original case-study Word lists use a 40px indent and no block margins. */
html body main.stage6 .elementor-widget-text-editor :is(ul,ol) { margin:0; padding-left:40px; }
html body main.stage6 .elementor-widget-text-editor li { padding-left:0; }

/* Imported HubSpot landing pages retain their own source theme (Open Sans,
   Barlow, Arial or Helvetica), including native heading scale and margins. */
html body main.stage6[class*="hs-content-id-"] :is(h1,h2,h3,h4,h5,h6) { letter-spacing:normal; }
html body main.stage6[class*="hs-content-id-"] p { color:inherit; }
/* PLUS 2022's two source H1 callouts became semantic H2s during retention.
   Preserve their measured source role instead of the theme's unrelated H2. */
html body main.stage6.hs-content-id-86483143451 #hs_cos_wrapper_module_14369920103386252 h1 { color:#fff; }
html body main.stage6.hs-content-id-86483143451 :is(.main-content h2,#hs_cos_wrapper_widget_1665518235171_ h2) { font:400 20px/30px Arial,sans-serif; color:#767676; margin:13.4px 0; }
html body main.stage6.hs-content-id-86483143451 .content-text ul li { margin-bottom:25px; }
/* Retained semantic heading changes keep the original provider type role. */
html body main.stage6:is(.hs-content-id-187179130710,.hs-content-id-202104789662,.hs-content-id-193600423586) h2 { font-size:36px; font-weight:700; }
html body main.stage6.hs-content-id-22679732863 h1 { font-size:40px; font-weight:700; line-height:60px; color:#4a4a4a; margin-top:33.2px; }

/* Original authored press-release title uses the regular face. */
html body main#content.stage7-plain:has([data-source-id="wp:post:1393"]) .stage7-hero h1 { font-weight:400!important; }
/* Services' benefit captions are a separate source role from card titles. */
html body main.service-content :is(.elementor-element-8e6f0ef,.elementor-element-c77685d,.elementor-element-3059149,.elementor-element-3ad1f43,.elementor-element-9623690,.elementor-element-0c4bfb5,.elementor-element-1612609,.elementor-element-e73f7ad) h3 { font-size:12px!important; font-weight:500!important; line-height:1!important; color:#727586!important; }
html body main.service-content .elementor-element-f383327 h2 { line-height:1.3; }

/* Source testimonial component: WordPress computed styles checked 2026-10-21.
   Restore only the retained boxed variant, not every quote or heading. */
@font-face { font-family: "PL Quote Icon"; font-style: normal; font-weight:900; font-display:swap; src:url('/images/stage5/e8d9faa527c229711d19.woff') format('woff'); }
main.stage6 .qodef-qi-testimonials-list.qodef-item-layout--boxed .qodef-e-inner { position:relative; padding:55px 40px; background:#fff; text-align:center; }
main.stage6 .qodef-qi-testimonials-list.qodef-item-layout--boxed .qodef-e-quote { position:absolute; top:0; left:50%; transform:translateX(-50%); font-size:163px; line-height:0; color:rgba(0,0,0,.04); }
main.stage6 .qodef-e-quote .fa-quote-left { display:inline-block; font-family:"PL Quote Icon"; font-weight:900; font-style:normal; line-height:1; }
main.stage6 .qodef-e-quote .fa-quote-left::before { content:"\f10d"; }
main.stage6 .qodef-qi-testimonials-list.qodef-item-layout--boxed :is(.qodef-e-top,.qodef-e-content) { position:relative; }
html body main.stage6 .qodef-qi-testimonials-list.qodef-item-layout--boxed .qodef-e-text { text-align:center; margin:0 0 25px; }
main.stage6 .qodef-qi-testimonials-list.qodef-item-layout--boxed .qodef-e-author { display:flex; flex-direction:column; }
html body main.stage6 .qodef-e-author-name { margin:0; text-align:center; }
main.stage6 .qodef-e-author-job { margin-top:2.4px; color:#96989b; font-size:12px; line-height:18px; }
/* List markers need room without clipping. Nested headings retain their
   document hierarchy, and the contents list expands to fit all entries. */
.stage7-page .stage7-sidebar details > ol { padding-inline-start:3em; max-height:none; overflow:visible; }
.stage7-page .stage7-sidebar ol ol { padding-inline-start:2em; margin-block:8px 0; max-height:none; overflow:visible; }
@media(max-width:767px) {
 .stage7-page main .stage7-blog-hero::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.8); pointer-events:none; }
 html body main.service-content .elementor-element-f8798f7 p { overflow-wrap:normal; word-break:normal; }
}

/* Shared bottom-of-page layout. Authored selections and product brands remain
   intact; imported source typography excludes these component-owned regions. */
:root { --bottom-gutter: var(--container-gutter); }
.pl-footer-inner {
 position: relative;
 width: min(var(--max-width), calc(100% - 2 * var(--bottom-gutter)));
 max-width: none;
 margin-inline: auto;
 padding: var(--spacing-lg) 0 var(--spacing-md);
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 gap: var(--spacing-lg);
}
/* Default footer follows the live footer (Elementor 28001): full-width
   statement, outlined social marks, labelled contact columns, ruled link row. */
.pl-footer .pl-footer-statement { color: white; font-size: 30px; line-height: 1.4; margin: var(--spacing-lg) 0 0; }
.pl-social { display: flex; flex-wrap: wrap; gap: min(var(--spacing-sm), 3.5vw); margin: var(--spacing-md) 0 0; }
.pl-social a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: white; border: 2px solid white; border-radius: var(--radius-round); transition: color .3s, border-color .3s; }
.pl-social a:hover, .pl-social a:focus-visible { color: var(--color-accent-orange); border-color: var(--color-accent-orange); }
/* The full newsletter band remains for minimal and CoderFlow footers. */
section.pl-newsletter {
 grid-column: 1 / -1;
 display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
 gap: var(--spacing-md); padding-block: var(--spacing-md); margin: 0;
 border-block: 1px solid #888;
}
.pl-footer-contact { display: flex; flex-wrap: wrap; gap: var(--spacing-lg) var(--spacing-2xl); margin: 0; }
.pl-footer-contact > div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--spacing-sm); min-width: 0; margin: 0; }
.pl-footer-contact h2 { display: flex; align-items: center; gap: 10px; font: 400 16px/1.5 var(--font-marketing); color: white; margin: 0; }
.pl-footer-contact h2 svg { flex: none; }
.pl-footer-contact a,.pl-footer-contact p { display: block; color: white; font-size: 18px; line-height: 22px; margin: 0; overflow-wrap: anywhere; }
.pl-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-sm) var(--spacing-md); border-top: 1px solid #ccc; padding-top: var(--spacing-md); margin-bottom: var(--spacing-lg); font-size: 16px; line-height: 1.5; }
.pl-footer-bottom nav { display: flex; flex-wrap: wrap; gap: var(--spacing-xs) var(--spacing-sm); max-width: 100%; font-size: 18px; }
.pl-footer-bottom > span { color: #8b8b89; }

/* All existing Learn More resource sections share one container and card grid. */
html body main#content .marketing-resources {
 --content-width: var(--max-width);
 --padding-top: var(--spacing-lg); --padding-bottom: var(--spacing-lg);
 --padding-left: 0px; --padding-right: 0px;
 --min-height: 0px;
 padding: var(--spacing-lg) 0;
 margin-block: 0;
 min-height: 0;
}
/* Services Learn More: leave roughly 50px between the cards and footer. */
html body main#content .elementor-31937 > .marketing-resources {
 --padding-bottom: var(--spacing-xl);
 padding-bottom: var(--spacing-xl);
}
/* One image/title/category layout for every existing Learn More section. */
html body main#content .marketing-resources > .pl-resource-container {
 width: min(var(--max-width), calc(100% - 2 * var(--bottom-gutter)));
 margin-inline: auto;
}
html body main#content .marketing-resources .marketing-resources-title {
 font: 700 var(--font-size-h2)/1.2 var(--font-marketing);
 text-align: left; margin: 0 0 var(--spacing-md); letter-spacing: normal;
}
html body main#content .marketing-resources .pl-related-grid {
 display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
 grid-auto-rows: 1fr; gap: var(--card-gap); align-items: stretch;
 margin: 0; padding: 0;
}
html body main#content .marketing-resources .pl-resource-card {
 min-width: 0; margin: 0; display: flex;
 border: 1px solid var(--color-border); border-radius: var(--radius-md);
 background: var(--color-white);
}
html body main#content .marketing-resources .pl-resource-card:is(:hover,:focus-within) {
 border-color: var(--color-accent-orange);
}
html body main#content .marketing-resources .pl-resource-link {
 display: flex; flex-direction: column; width: 100%; min-width: 0;
 color: var(--color-black); text-decoration: none;
}
html body main#content .marketing-resources .pl-resource-link:hover h3 {
 color: var(--color-primary-blue); text-decoration: none;
}
html body main#content .marketing-resources .pl-resource-link > img {
 display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
 object-fit: cover; border-radius: var(--radius-md) var(--radius-md) 0 0;
}
html body main#content .marketing-resources .pl-resource-body {
 display: flex; flex: 1; flex-direction: column; gap: var(--spacing-xs);
 padding: var(--spacing-sm); min-block-size: 14rem;
}
html body main#content .marketing-resources .pl-resource-body h3 {
 font: 600 var(--font-size-h4)/1.3 var(--font-marketing);
 color: var(--color-black); margin: 0; overflow-wrap: anywhere;
}
html body main#content .marketing-resources .pl-resource-category {
 font: 400 var(--font-size-label)/1.5 var(--font-marketing);
 color: var(--color-text); margin: auto 0 0; overflow-wrap: anywhere;
}
/* CoderFlow keeps its own footer content and palette, with shared spacing. */
html body main#content :is(.marketing-brand-footer,.marketing-learn-callout) {
 --padding-top: var(--spacing-lg); --padding-bottom: var(--spacing-lg);
 --padding-left: 0px; --padding-right: 0px; --min-height: 0px;
 padding: var(--spacing-lg) 0; margin-block: 0;
}
html body main#content :is(.marketing-brand-footer,.marketing-learn-callout) > .e-con-inner,
html body main#content .marketing-learn-callout > .e-con {
 width: min(var(--max-width), calc(100% - 2 * var(--bottom-gutter)));
 max-width: none; margin-inline: auto; padding: 0; gap: var(--spacing-md);
}
@media (max-width: 1024px) {
 .pl-footer .pl-footer-statement { font-size: 26px; }
 .pl-footer-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-md); }
 .pl-footer-bottom nav { font-size: 16px; }
 html body main#content .marketing-resources .pl-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) { :root { --bottom-gutter: var(--spacing-md); } }
@media (max-width: 600px) {
 .pl-footer-contact { grid-template-columns: minmax(0, 1fr); }
 .pl-footer .pl-footer-statement { font-size: 24px; }
 html body main#content .marketing-resources .pl-related-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Hero-to-content separation: the user requested an exact 50px section gap.
   This owns the outer boundary only; hero/content padding and product variants
   remain authored by their templates. Do not add this gap to title-only pages.
   Imported product chrome precedes the CoderFlow hero inside its Elementor root. */
html body > .page-hero,
html body main#content > :is(.hero, .page-hero, .resources-hero),
html body main#content.cs-source-archive .cs-source-hero,
html body main#content > .elementor > :is(.e-parent, .elementor-top-section):first-child:not(.product-cf-header),
html body main#content > .elementor > .product-cf-header + :is(.e-parent, .elementor-top-section),
html body main#content.stage6 .body-container > .row-fluid-wrapper:has(> .row-fluid > .title-background),
html body main#content.stage6 .dnd-section:has(.hero-section),
html body main#content.hs-content-id-171521726476 .dnd-section:first-child,
html body main#content.hs-content-id-86483143451 .body-container > .row-fluid-wrapper.row-number-4 {
 --margin-bottom: var(--hero-content-gap);
 margin-bottom: var(--hero-content-gap);
}
html body > .page-hero + *,
html body main#content > :is(.hero, .page-hero, .resources-hero) + *,
html body main#content.cs-source-archive .cs-source-hero + *,
html body main#content > .elementor > :is(.e-parent, .elementor-top-section):first-child:not(.product-cf-header) + *,
html body main#content > .elementor > .product-cf-header + :is(.e-parent, .elementor-top-section) + *,
html body main#content.stage6 .body-container > .row-fluid-wrapper:has(> .row-fluid > .title-background) + *,
html body main#content.stage6 .dnd-section:has(.hero-section) + *,
html body main#content.hs-content-id-171521726476 .dnd-section:first-child + *,
html body main#content.hs-content-id-86483143451 .body-container > .row-fluid-wrapper.row-number-4 + * {
 --margin-top: 0px;
 margin-top: 0;
}

/* Standard marketing hero alignment: homepage reference, 2026-10-29.
   The centered 1400px content area has 40/32/24px responsive gutters.
   Equal padding centers the composition below shared chrome. Long content grows
   naturally; product media columns and editorial/CoderFlow variants stay authored. */
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6),
html body main#content > .resources-hero {
 --hero-gutter: 40px;
 --hero-section-y: 80px;
 --hero-header-offset: 0px;
 --hero-min-height: 456px;
 --padding-top: 0px;
 --padding-bottom: 0px;
 --padding-left: 0px;
 --padding-right: 0px;
 --margin-top: 0px;
 --min-height: 0px;
 box-sizing: border-box;
 width: 100%;
 height: auto;
 min-height: calc(var(--hero-min-height) + var(--hero-header-offset));
 margin-top: 0;
 padding: calc(var(--hero-section-y) + var(--hero-header-offset)) var(--hero-gutter) var(--hero-section-y);
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
}
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) > :is(.e-con-inner,.elementor-container),
html body main#content > .resources-hero > .resources-container {
 box-sizing: border-box;
 width: 100%;
 max-width: var(--hero-content-width);
 min-height: 0;
 height: auto;
 padding: 0;
 margin: 0 auto;
 flex-grow: 0;
}
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) > .e-con-inner > .e-con {
 margin-inline: 0;
 padding-inline: 0;
}
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap {
 padding-left: 0;
 margin-left: 0;
}
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) > .e-con-inner > .e-con > .elementor-widget > .elementor-widget-container {
 margin-left: 0;
 margin-right: 0;
}
/* These existing main wrappers overlap the header. Include that same allowance
   once, inside the hero, rather than inheriting old template-specific offsets. */
html body main#content:is(.product-content,.stage5-content):not(.stage5-prose):not(:has(> .product-relationship)) > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6):not(.elementor-element-44e394c, .elementor-element-1906a49, .elementor-element-e02529b) {
 --hero-header-offset: var(--site-header-height);
}
@media (max-width:1024px) {
 html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6),
 html body main#content > .resources-hero { --hero-gutter:32px; --hero-section-y:56px; }
}
@media (max-width:767px) {
 html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6),
 html body main#content > .resources-hero { --hero-gutter:24px; --hero-section-y:40px; --hero-min-height:326px; }
}
/* Retained centered copy wrappers must meet the same left edge. AppEvo keeps
   its two media columns; the AppDev/UI button row loses only its extra inset. */
html body main#content > .elementor > .elementor-element-3f3b2141 > .e-con-inner { justify-content:flex-start; }
html body main#content > .elementor > .elementor-element-e02529b > .e-con-inner > .e-con { align-self:flex-start; }
@media (max-width:767px) {
 html body main#content > .elementor > .elementor-element-3f3b2141 > .e-con-inner > .e-con { align-self:flex-start; }
}
html body main#content > .elementor > .elementor-element-a3233ea .elementor-element-c390772 { padding-inline:0; }

/* Desktop copy follows Home’s left alignment. Retained narrow-screen text
   treatments and media stacking remain owned by their product templates. */
@media (min-width:768px) {
 html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) :is(h1,h2,h3,h4,p,.elementor-button-wrapper) { text-align:left; }
}
html body main#content > .elementor > :is(.elementor-element-0989286, .elementor-element-0bc30b0, .elementor-element-0d0a9d8, .elementor-element-0f7c6bb, .elementor-element-12f213c, .elementor-element-187c07c, .elementor-element-1906a49, .elementor-element-2160c3e, .elementor-element-242568b, .elementor-element-30a2df6, .elementor-element-3646884, .elementor-element-3ba2490, .elementor-element-3f3b2141, .elementor-element-44e394c, .elementor-element-4bf8cf2, .elementor-element-51213e0, .elementor-element-57282a55, .elementor-element-5748f6c, .elementor-element-58c9252, .elementor-element-5e88919e, .elementor-element-6da5419, .elementor-element-6dc0a82, .elementor-element-727bbb0, .elementor-element-7633fe7e, .elementor-element-7cb73f7, .elementor-element-7f07f50, .elementor-element-7f3c6c1, .elementor-element-842f8d1, .elementor-element-85d6704, .elementor-element-924a010, .elementor-element-a3233ea, .elementor-element-a5827a7, .elementor-element-a5f45dc, .elementor-element-b357f46, .elementor-element-b894f8c, .elementor-element-be1a82f, .elementor-element-c972fc8, .elementor-element-cc0f0ff, .elementor-element-cfebf25, .elementor-element-d118be6, .elementor-element-dddff53, .elementor-element-df73b14, .elementor-element-e02529b, .elementor-element-e4761f1, .elementor-element-e74c263, .elementor-element-eb7ed44, .elementor-element-eba4153, .elementor-element-edfd5cd, .elementor-element-f213514, .elementor-element-f2187ad, .elementor-element-f5ffb76, .elementor-element-f68d8d9, .elementor-element-fae1ce6) .e-con:has(> .elementor-widget-button):not(:has(> :not(.elementor-widget-button))) { padding-inline:0; justify-content:flex-start; }
/* Desktop action layouts: reserve room for the complete label at the existing
   type size. Tablet/phone wrapping remains source-owned. The same two/three
   column progression serves Home, Products, Services and Solutions. */
@media (min-width:1025px) {
 html body main#content.pl-home .pl-solution-grid,
 .solutions-overview .elementor-2535 .elementor-element-4600699,
 .product-content .elementor-31953 .elementor-element-e1aaebc,
 .service-content .elementor .pdf-offerings > .e-con-inner {
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
 html body main#content.pl-home .pl-solution-grid,
 .product-content .elementor-31953 .elementor-element-e1aaebc { width:100%; }
 html body main#content.pl-home .pl-solution-card,
 .solutions-overview .elementor-element-4600699 > .e-con:nth-child(n) { grid-column:auto; }
 .pl-home .pl-solution-card .pl-button { min-height:48px; }
 /* The retained Services rows contain 3/3/2 cards. One continuous grid keeps
    all eight at the same width without leaving a gap after each old row. */
 .service-content .elementor .pdf-offerings > .e-con-inner { display:grid; align-items:stretch; gap:var(--card-gap); }
 .service-content .elementor .pdf-offerings > .e-con-inner > .elementor-widget { grid-column:1/-1; }
 .service-content .elementor .pdf-offerings .e-grid { display:contents; }
 .service-content .elementor .pdf-offerings .e-grid > .e-con { align-self:stretch; }
 .service-content .elementor .pdf-offerings .elementor-widget-button { margin-top:auto; }
 /* Adjacent actions may take separate rows; each action keeps its natural
    content width. These are existing dialog/destination widget variants. */
 .service-content .elementor :is(.elementor-element-2cbf4ab,.elementor-element-bfa3b1a) { flex-wrap:wrap; }
 .service-content .elementor :is(.elementor-element-bb96590,.elementor-element-a691ec3,.elementor-element-1d93c10,.elementor-element-996ee35,.elementor-element-3957db3,.elementor-element-8c78340,.elementor-element-fa55ec5) { width:max-content; flex:0 0 auto; }
 .wf-ai.service-content .elementor .elementor-element-dac26c3 { width:max-content; min-width:max-content; max-width:100%; }
 .wf-ai.service-content .elementor .elementor-element-dac26c3 .elementor-button,
 .wf-debt.service-content .elementor .elementor-element-fa55ec5 .elementor-button { min-width:max-content; }
 .wf-debt.service-content .elementor .elementor-element-6e7962d { min-width:max-content; }
 .stage5-content .elementor .elementor-element-1bf09df { min-width:470px; }
}
@media (min-width:1440px) {
 html body main#content.pl-home .pl-solution-grid,
 .solutions-overview .elementor-2535 .elementor-element-4600699,
 .product-content .elementor-31953 .elementor-element-e1aaebc,
 .service-content .elementor .pdf-offerings > .e-con-inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
