/* Light bridge between native Elementor containers and the established site system. */
.pm-el-page { color:#273944; background:#fff; }
.pm-el-page .elementor-heading-title { color:#1d292d; }
.pm-el-page.pm-el-section--dark .elementor-heading-title { color:#f7faf9; }
.pm-el-page .elementor-button { background:#276e96; color:#fff; border-radius:2px; padding:14px 20px; font-size:14px; font-weight:700; }
.pm-el-page .elementor-button:hover,.pm-el-page .elementor-button:focus { background:#194e6d; color:#fff; }
.pm-el-page .e-con { --container-max-width:1200px; }
.pm-el-shell { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.pm-el-section { padding:82px max(32px,calc((100vw - 1200px)/2)); }
.pm-el-section--soft { background:#f4f6f6; }
.pm-el-section--dark { background:#142a3a; color:#fff; }
.pm-el-section--dark h1,.pm-el-section--dark h2,.pm-el-section--dark h3,.pm-el-section--dark p { color:inherit; }
.pm-el-hero { padding-block:88px; min-height:0; }
.pm-el-hero .pm-el-hero-grid,.pm-el-split { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:center; gap:clamp(32px,5vw,72px); }
.pm-el-hero .elementor-widget-heading h1 { max-width:760px; font-size:clamp(42px,4vw,62px); line-height:1.08; letter-spacing:-.045em; }
.pm-el-page .elementor-widget-heading h2 { font-size:clamp(30px,3vw,44px); line-height:1.15; letter-spacing:-.032em; }
.pm-el-page .elementor-widget-heading h3 { font-size:22px; line-height:1.3; letter-spacing:-.016em; }
.pm-el-page .elementor-widget-text-editor,.pm-el-page .elementor-widget-text-editor p { color:inherit; font-size:16px; line-height:1.7; }
.pm-el-page .pm-el-lead,.pm-el-page .pm-el-lead p { font-size:18px; line-height:1.65; }
.pm-el-eyebrow,.pm-el-page .pm-el-eyebrow .elementor-heading-title { color:#276e96; font-size:12px!important; font-weight:750; letter-spacing:.17em; text-transform:uppercase; }
.pm-el-section--dark .pm-el-eyebrow,.pm-el-section--dark .pm-el-eyebrow .elementor-heading-title { color:#91d0e9; }
.pm-el-hero .elementor-widget-image img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.pm-el-image-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pm-el-image-grid.pm-el-count-1 { grid-template-columns:minmax(0,1fr); }
.pm-el-image-grid.pm-el-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pm-el-image-grid.pm-el-count-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pm-el-image-grid.pm-el-count-5,.pm-el-image-grid.pm-el-count-6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pm-el-image-grid.pm-el-count-7,.pm-el-image-grid.pm-el-count-8 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pm-el-image-card { border:1px solid #dce5e8; background:#fff; overflow:hidden; }
.pm-el-image-card .elementor-widget-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.pm-el-image-card .elementor-widget-heading,.pm-el-image-card .elementor-widget-text-editor { margin:0 17px 12px; }
.pm-el-image-card .elementor-widget-heading { margin-top:17px; }
.pm-el-image-card .elementor-widget-heading h3 { font-size:17px; }
.pm-el-image-card .elementor-widget-text-editor,.pm-el-image-card .elementor-widget-text-editor p { font-size:13px; line-height:1.5; color:#61727b; }
.pm-el-steps { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.pm-el-step { padding:24px; border-top:2px solid #277e9e; background:#f2f6f7; }
.pm-el-step .elementor-widget-heading h3 { font-size:18px; }
.pm-el-technical { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pm-el-technical-card { border-top:1px solid #9cb4bf; padding-top:20px; }
.pm-el-dynamic { padding:80px 0; background:#f3f6f6; }
.pm-el-dynamic:nth-of-type(even) { background:#fff; }
.pm-el-section-head { margin-bottom:34px; }
.pm-el-section-head h2 { font-size:clamp(30px,3vw,44px); letter-spacing:-.03em; }
.pm-el-dynamic .pm-el-count-1 { display:block; }
.pm-el-dynamic .pm-el-count-1 .case-card,.pm-el-dynamic .pm-el-count-1 .article-card { display:grid; grid-template-columns:1.1fr .9fr; max-width:1100px; }
.pm-el-dynamic .pm-el-count-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pm-el-dynamic .pm-el-count-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pm-el-faq-item { border-top:1px solid #d3e0e5; padding:18px 0; }
.pm-el-cta { text-align:center; }
.pm-el-cta .e-con-inner { align-items:center; }
.pm-el-rfq { width:min(840px,100%); margin:auto; padding:38px; background:#f4f7f8; }
.pm-el-rfq .rfq-form { display:grid; gap:18px; }
.pm-el-rfq label { display:grid; gap:7px; }
.pm-el-rfq input,.pm-el-rfq select,.pm-el-rfq textarea { width:100%; border:1px solid #b9c9d0; background:#fff; padding:13px; }
.pm-el-rfq .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.pm-el-topic-nav { padding:26px 0; background:#f0f3f3; }
.pm-el-topic-nav .pm-el-shell { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.pm-el-topic-nav strong { color:#1d292d; }
.pm-el-topic-links { display:flex; flex-wrap:wrap; gap:9px; }
.pm-el-topic-links a { padding:8px 13px; border:1px solid #c2d1d7; background:#fff; color:#276e96; font-size:13px; }
.pm-el-topic-links a:hover,.pm-el-topic-links a:focus { background:#276e96; color:#fff; }
.pm-el-single-hero,.pm-el-article-hero { padding:84px 0; background:#f1f3f2; }
.pm-el-single-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:60px; align-items:center; }
.pm-el-single-hero h1,.pm-el-article-hero h1 { font-size:clamp(40px,4vw,60px); line-height:1.1; letter-spacing:-.04em; margin:15px 0 22px; }
.pm-el-single-hero p,.pm-el-article-hero p { max-width:650px; color:#4c626a; line-height:1.65; }
.pm-el-single-hero img { width:100%; max-height:500px; aspect-ratio:16/10; object-fit:cover; }
.pm-el-single-section { padding:78px 0; }
.pm-el-single-section:nth-of-type(even) { background:#f4f6f6; }
.pm-el-single-section h2 { font-size:clamp(30px,3vw,44px); letter-spacing:-.03em; margin:8px 0 30px; }
.pm-el-details-grid { display:grid; grid-template-columns:1.5fr .7fr; gap:70px; }
.pm-el-story { border-top:1px solid #d2dfe3; padding:20px 0; }
.pm-el-story h3 { font-size:20px; margin:0 0 8px; }
.pm-el-story p { margin:0; line-height:1.7; }
.pm-el-project-facts { margin:0; padding:22px 28px; background:#edf2f3; align-self:start; }
.pm-el-project-facts div { border-bottom:1px solid #cad9dd; padding:12px 0; }
.pm-el-project-facts dt { color:#56707c; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.pm-el-project-facts dd { margin:5px 0 0; font-weight:650; }
.pm-el-project-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.pm-el-project-gallery.pm-el-count-1 { grid-template-columns:1fr; }
.pm-el-project-gallery.pm-el-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pm-el-project-gallery.pm-el-count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pm-el-project-gallery figure { margin:0; }
.pm-el-project-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.pm-el-project-gallery figcaption { color:#63757d; font-size:13px; padding:8px 0; }
.pm-el-article-body { max-width:940px; }
.pm-el-article-photo img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.pm-el-article-body .editor-content { font-size:17px; line-height:1.8; }
@media(max-width:1024px){.pm-el-section{padding:64px 32px}.pm-el-image-grid.pm-el-count-4,.pm-el-image-grid.pm-el-count-7,.pm-el-image-grid.pm-el-count-8{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-el-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.pm-el-shell{width:calc(100% - 36px)}.pm-el-section{padding:52px 18px}.pm-el-hero .pm-el-hero-grid,.pm-el-split{display:flex!important;flex-direction:column}.pm-el-hero .elementor-widget-heading h1{font-size:40px}.pm-el-image-grid,.pm-el-image-grid.pm-el-count-2,.pm-el-image-grid.pm-el-count-4,.pm-el-image-grid.pm-el-count-5,.pm-el-image-grid.pm-el-count-6,.pm-el-image-grid.pm-el-count-7,.pm-el-image-grid.pm-el-count-8,.pm-el-technical,.pm-el-steps,.pm-el-dynamic .pm-el-count-2,.pm-el-dynamic .pm-el-count-3{grid-template-columns:1fr!important}.pm-el-dynamic .pm-el-count-1 .case-card,.pm-el-dynamic .pm-el-count-1 .article-card{display:block}.pm-el-dynamic{padding:54px 0}.pm-el-rfq{padding:20px}.pm-el-rfq .form-row,.pm-el-single-hero-grid,.pm-el-details-grid,.pm-el-project-gallery,.pm-el-project-gallery.pm-el-count-2,.pm-el-project-gallery.pm-el-count-3{grid-template-columns:1fr}}

/* Related summaries keep useful text without repeating archive/detail covers. */
.pm-el-dynamic .pm-el-count-1 .case-card.is-text-only,
.pm-el-dynamic .pm-el-count-1 .article-card.is-text-only { display:block; max-width:1100px; }
.pm-el-dynamic .is-text-only .case-card-copy,
.pm-el-dynamic .is-text-only .article-card-copy { width:100%; }

@media(min-width:768px){
 .pm-home-projects .case-grid.pm-el-count-3 { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
 .pm-home-projects .pm-el-count-3 .case-card:first-child { grid-row:span 2; }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) .case-card-image { height:100%; min-height:240px; }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) img { height:100%; object-fit:cover; }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) .case-card-copy { padding:20px; }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) h3 { font-size:20px; }
 .pm-home-projects .pm-el-count-3 .case-card:not(:first-child) .case-card-copy>p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
}

.pm-home-projects .case-card-image,.pm-home-projects .case-card-copy { min-width:0; width:100%; }
@media(min-width:768px){.pm-home-projects .pm-el-count-3 .case-card:not(:first-child) .case-card-image { aspect-ratio:auto; }}
