.elementor-kit-14{--e-global-color-primary:#1A1A1A;--e-global-color-secondary:#D4572A;--e-global-color-text:#333333;--e-global-color-accent:#D4572A;--e-global-color-1b95cf9:#0E172D;--e-global-color-1986afc:#FFFFFF00;--e-global-color-77052d8:#2957CB94;--e-global-color-6ffc17a:#5E6782;--e-global-color-628093b:#2957CB30;--e-global-color-bc22066:#0E172DCC;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:38px;--e-global-typography-primary-font-weight:200;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:50px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:28px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:14px;--e-global-typography-95e6f46-font-family:"Inter";--e-global-typography-95e6f46-font-size:68px;--e-global-typography-95e6f46-font-weight:200;--e-global-typography-95e6f46-text-transform:capitalize;--e-global-typography-95e6f46-font-style:normal;--e-global-typography-95e6f46-text-decoration:none;--e-global-typography-95e6f46-line-height:76px;--e-global-typography-10e4654-font-family:"Inter";--e-global-typography-10e4654-font-size:48px;--e-global-typography-10e4654-font-weight:200;--e-global-typography-10e4654-text-transform:none;--e-global-typography-10e4654-font-style:normal;--e-global-typography-10e4654-text-decoration:none;--e-global-typography-10e4654-line-height:60px;--e-global-typography-192b1e9-font-family:"Inter";--e-global-typography-192b1e9-font-size:18px;--e-global-typography-192b1e9-font-weight:400;--e-global-typography-192b1e9-text-transform:capitalize;--e-global-typography-192b1e9-font-style:normal;--e-global-typography-192b1e9-text-decoration:none;--e-global-typography-192b1e9-line-height:22px;--e-global-typography-9d4a250-font-family:"Inter";--e-global-typography-9d4a250-font-size:14px;--e-global-typography-9d4a250-font-weight:400;--e-global-typography-9d4a250-text-transform:capitalize;--e-global-typography-9d4a250-font-style:normal;--e-global-typography-9d4a250-text-decoration:none;--e-global-typography-20ed5ec-font-family:"Inter";--e-global-typography-20ed5ec-font-size:12px;--e-global-typography-20ed5ec-font-weight:400;--e-global-typography-20ed5ec-text-transform:capitalize;--e-global-typography-20ed5ec-font-style:normal;--e-global-typography-20ed5ec-text-decoration:none;--e-global-typography-20ed5ec-line-height:14px;--e-global-typography-413fab7-font-family:"Inter";--e-global-typography-413fab7-font-size:18px;--e-global-typography-413fab7-font-weight:300;--e-global-typography-413fab7-text-transform:none;--e-global-typography-413fab7-font-style:normal;--e-global-typography-413fab7-text-decoration:none;--e-global-typography-413fab7-line-height:2.2em;--e-global-typography-195417a-font-family:"Inter";--e-global-typography-195417a-font-size:12px;--e-global-typography-195417a-font-weight:300;--e-global-typography-195417a-text-transform:capitalize;--e-global-typography-195417a-font-style:normal;--e-global-typography-195417a-text-decoration:none;--e-global-typography-195417a-line-height:22px;--e-global-typography-195417a-letter-spacing:0px;background-color:var( --e-global-color-1b95cf9 );}.elementor-kit-14 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-14{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.4em;--e-global-typography-accent-font-size:14px;--e-global-typography-95e6f46-font-size:52px;--e-global-typography-95e6f46-line-height:1.2em;--e-global-typography-195417a-font-size:11px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-14{--e-global-typography-primary-font-size:28px;--e-global-typography-95e6f46-font-size:35px;--e-global-typography-95e6f46-line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   Innovative Construction — global custom CSS
   Prospeer. Rewritten clean after the Community rebuild.
   ============================================================ */

/* ---- Primary nav ---- */
.elementor-nav-menu > li > a.elementor-item{
  font-size:14px!important;font-weight:600!important;
  letter-spacing:.09em!important;text-transform:uppercase!important;
  padding:14px 18px!important;
}
@media(max-width:1200px){
  .elementor-nav-menu > li > a.elementor-item{padding:14px 12px!important;letter-spacing:.06em!important}
}

/* ---- Dropdown. Elementor marks sub-items .elementor-sub-item, not
   .elementor-item — both are needed or the default blue survives. ---- */
.elementor-nav-menu--dropdown{
  background-color:#14110D!important;
  border:1px solid rgba(247,244,238,.10)!important;
  border-radius:0!important;overflow:hidden;
}
.elementor-nav-menu--dropdown a.elementor-sub-item,
.elementor-nav-menu--dropdown a.elementor-item{
  font-size:13px!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;padding:13px 20px!important;
  background-color:transparent!important;color:rgba(247,244,238,.8)!important;
}
.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-nav-menu--dropdown a.elementor-item:focus{
  background-color:rgba(247,244,238,.06)!important;color:#E85A1C!important;
}

/* ---- Mobile: stretched nav container overshot the viewport ---- */
@media(max-width:767px){
  .elementor-nav-menu--stretch .elementor-nav-menu__container{max-width:100vw!important;left:0!important}
}
html,body{max-width:100%;overflow-x:hidden}

/* ---- Community page ---- */
.ici-ratio-43 img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}
/* explicit height, not max-height: with width:auto the img collapsed to 0x0,
   so the lazy-load observer never fired and the file never downloaded */
.ici-partner-logo img{height:52px!important;width:auto!important;max-width:100%;
  object-fit:contain;display:block}
.ici-partner-logo{margin-bottom:26px}
/* Gnome Surf mark is black-on-white with no transparency, so it needs a
   plate on the dark section rather than an invert */
.ici-logo-invert{background:#F7F4EE;padding:12px 18px;width:fit-content;border-radius:2px}
.ici-logo-invert img{filter:none!important}
.ici-pano img{width:100%!important;display:block;height:340px!important;
  aspect-ratio:auto!important;object-fit:cover!important;object-position:center 60%}
.ici-card{transition:border-color .2s ease}
.ici-card:hover{border-top-color:#E85A1C!important}
.ici-cta .elementor-widget{text-align:center}
.ici-cta .elementor-widget-text-editor p{margin-left:auto;margin-right:auto}
@media(max-width:767px){
  .ici-pano img{height:200px!important}
  .ici-partner-logo img{height:44px!important}
}

/* ============================================================
   SITEWIDE TYPE SYSTEM
   The Home page is the design reference: Manrope 500 headings,
   tight leading, negative tracking, with a DM Serif Display
   italic accent in orange used sparingly inside a heading.
   Every inner page had drifted to DM Serif Display for all
   headings, and About / Services / Projects / Contact were
   falling back to Georgia because that serif never loaded there.
   Audit found 13 H2, 6 H3 and 11 body treatments across 9 pages.
   This collapses them to one scale.

   Sizes apply to Elementor heading widgets only. Custom HTML
   components (project cards, news empty state) keep their own
   sizes so their layouts do not blow out, but still inherit
   family, weight and tracking.
   ============================================================ */

body:not(.home) [data-elementor-type="wp-page"] h1,
body:not(.home) [data-elementor-type="wp-page"] h2,
body:not(.home) [data-elementor-type="wp-page"] h3,
body:not(.home) [data-elementor-type="wp-page"] h4{
  font-family:'Manrope',-apple-system,'Helvetica Neue',Arial,sans-serif!important;
  font-weight:500!important;letter-spacing:-.02em!important;text-transform:none!important;}

/* the serif italic accent is the one exception */
[data-elementor-type="wp-page"] h1 em,[data-elementor-type="wp-page"] h1 i,
[data-elementor-type="wp-page"] h2 em,[data-elementor-type="wp-page"] h2 i,
[data-elementor-type="wp-page"] h3 em,[data-elementor-type="wp-page"] h3 i{
  font-family:'DM Serif Display',Georgia,serif!important;font-style:italic!important;
  font-weight:400!important;color:#E85A1C!important;letter-spacing:-.01em!important;}

body:not(.home) [data-elementor-type="wp-page"] h1{
  font-size:clamp(42px,5.4vw,76px)!important;line-height:1.02!important;color:#FFFFFF!important;}
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-heading h2{
  font-size:clamp(32px,3.6vw,52px)!important;line-height:1.08!important;}
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-heading h3{
  font-size:clamp(19px,1.5vw,22px)!important;line-height:1.35!important;}

/* body copy was Inter 14/16/17/18 at weights 300 and 400;
   300 is too thin for long-form on this palette */
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-text-editor p,
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-text-editor li{
  font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif!important;
  font-weight:400!important;font-size:17px!important;line-height:1.75!important;}

/* inner-page hero band */
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child{background-color:#14110D!important;}
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child h1{margin-bottom:22px!important;}
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor{max-width:64ch!important;}
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor p{
  color:rgba(247,244,238,.78)!important;font-size:18px!important;line-height:1.7!important;margin-top:0!important;}


/* ============================================================
   ACCENT, EYEBROW AND BUTTON SYSTEM
   Second audit pass found three oranges in use: #E85A1F on the
   Home hero, #E85A1C on Careers / Subcontractor Forms / Team /
   Community, and #D4572A on the header button, nav and the
   orange CTA bands. #D4572A wins because it is already the
   global button, nav and section-band colour, so it is the one
   value reachable everywhere. The shift on Home is a few points
   of blue and is not perceptible.

   Eyebrows had four treatments, two of them in DM Sans, which is
   not one of this site's fonts. Buttons had five, ranging from
   weight 400 to 700 and 12px to 16px of vertical padding. The
   header GET A BID button was falling back to Arial.
   ============================================================ */

:root{ --ici-orange:#D4572A; }

/* Serif italic accent inside a heading. Home loads Cormorant
   Garamond; inner pages load DM Serif Display, so the stack
   degrades to the nearest match rather than a system serif.
   The two never appear on the same page. */
[data-elementor-type] h1 .accent,[data-elementor-type] h2 .accent,
[data-elementor-type="wp-page"] h1 span[style*="color"],
[data-elementor-type="wp-page"] h2 span[style*="color"]{
  font-family:'Cormorant Garamond','DM Serif Display',Georgia,serif!important;
  font-style:italic!important;font-weight:400!important;
  color:var(--ici-orange)!important;letter-spacing:-.01em!important;}

/* Eyebrows: one treatment everywhere */
[data-elementor-type="wp-page"] .elementor-widget-heading h5,
[data-elementor-type="wp-page"] .elementor-widget-heading h6{
  font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif!important;
  font-size:13px!important;font-weight:700!important;
  letter-spacing:.23em!important;text-transform:uppercase!important;
  line-height:1.4!important;color:var(--ici-orange)!important;margin-bottom:14px!important;}

/* Buttons: typography and geometry only. Backgrounds are left
   alone so the solid / ghost pairs keep their intended contrast. */
.elementor-button,.elementor-button-link{
  font-family:'Manrope',-apple-system,'Helvetica Neue',Arial,sans-serif!important;
  font-size:14px!important;font-weight:600!important;
  letter-spacing:0!important;text-transform:none!important;
  border-radius:4px!important;padding:13px 22px!important;line-height:1.2!important;
  transition:background-color .18s ease,color .18s ease;}

/* header GET A BID was rendering in Arial */
[data-elementor-type="header"] .elementor-button{
  background-color:var(--ici-orange)!important;color:#FFFFFF!important;
  font-size:13px!important;font-weight:700!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;padding:12px 22px!important;}

/* the older #E85A1C accent, still baked into a few widgets */
.ici-card:hover{border-top-color:var(--ici-orange)!important}
.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-nav-menu--dropdown a.elementor-sub-item:focus,
.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-nav-menu--dropdown a.elementor-item:focus{color:var(--ici-orange)!important;}


/* ============================================================
   LAYOUT RHYTHM
   Home lays its content on a 1216px column centred in the
   viewport, with a wider 1560px column for the hero. Inner
   pages were each padded 40-60px off the raw viewport edge, so
   the left inset of the first word ranged from 50px on About
   and Services to 320px on Contact. Clicking between pages,
   nothing lined up. This puts every page on Home's column.
   ============================================================ */

body:not(.home) [data-elementor-type="wp-page"] > .e-con > .e-con-inner{
  max-width:1216px!important;margin-left:auto!important;margin-right:auto!important;}
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner{
  max-width:1560px!important;padding-left:72px!important;padding-right:72px!important;}
@media(max-width:900px){
  body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child > .e-con-inner{
    padding-left:0!important;padding-right:0!important;}
}

/* the kit sets widget spacing to 0, so headings sat flush against
   the paragraph beneath them on several pages */
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-heading h2{
  margin-bottom:14px!important;}

/* ---- Team: the only page whose hero was centred ---- */
.page-id-285 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading,
.page-id-285 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor,
.page-id-285 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-heading-title{
  text-align:left!important;}
/* its accent is a bare <span>, so the generic rule could not see it */
.page-id-285 [data-elementor-type="wp-page"] h2 > span{
  font-family:'Cormorant Garamond','DM Serif Display',Georgia,serif!important;
  font-style:italic!important;font-weight:400!important;color:var(--ici-orange)!important;}

/* ---- Community: partner names are sub-headings, not section
        headings, so they take a step down the scale ---- */
.page-id-250 [data-elementor-type="wp-page"] .elementor-widget-heading h2{
  font-size:clamp(26px,2.4vw,36px)!important;line-height:1.15!important;}
.page-id-250 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading h2{
  font-size:clamp(32px,3.6vw,52px)!important;}


/* ============================================================
   HERO COLUMN
   Most heroes are full-width containers with no .e-con-inner,
   so the column rule above could not reach them and their text
   still started at the raw 60px section padding. This lands
   them on the same 1560px hero column Home uses, whether or
   not Elementor gave them an inner wrapper.
   ============================================================ */

body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(:has(> .e-con-inner)){
  padding-left:max(24px, calc((100% - 1560px)/2 + 72px))!important;
  padding-right:max(24px, calc((100% - 1560px)/2 + 72px))!important;}
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:has(> .e-con-inner){
  padding-left:0!important;padding-right:0!important;}

/* Team's hero is a custom HTML block that centres itself, and it
   was the only hero on the site not aligned left */
.ici-team-hero,.ici-team-hero *{text-align:left!important}


/* ============================================================
   PAGE-SHAPE EXCEPTIONS
   Team is not built as a stack of sections: the whole page is a
   single container holding one HTML block. The hero rules above
   therefore treated the entire page as the hero and boxed it to
   the hero column. It opts out and keeps its own layout; it
   still inherits the type, colour and button system.

   Community's step-down for partner names lost on specificity
   to the sitewide H2 rule, so it is re-stated at equal weight.
   ============================================================ */

body:not(.home) [data-elementor-type="wp-page"] > .e-con.team-page-wrapper{
  padding-left:0!important;padding-right:0!important;
  background-color:transparent!important;}
.ici-team-hero{max-width:1416px;margin:0 auto;padding-left:72px;padding-right:72px}

body.page-id-250 [data-elementor-type="wp-page"] .elementor-widget-heading h2{
  font-size:clamp(26px,2.4vw,36px)!important;line-height:1.15!important;}
body.page-id-250 [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-heading h2{
  font-size:clamp(32px,3.6vw,52px)!important;}


/* Team opt-out, re-stated above the hero rule's specificity.
   The hero .elementor-kit-14 carries five class-level parts, so the
   exception has to carry six or it silently loses. */
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child.team-page-wrapper:not(:has(> .e-con-inner)){
  padding-left:0!important;padding-right:0!important;
  background-color:transparent!important;}
.ici-team-hero{max-width:none!important;
  padding-left:max(24px,calc((100vw - 1560px)/2 + 72px))!important;
  padding-right:max(24px,calc((100vw - 1560px)/2 + 72px))!important;}

/* its lead paragraph was centred with margin:0 auto, and its
   band was #1A1A1A while every other hero is #14110D */
.ici-team-hero{background:#14110D!important;padding-top:100px!important;padding-bottom:100px!important;}
.ici-team-hero p{margin-left:0!important;margin-right:0!important;max-width:64ch!important;
  color:rgba(247,244,238,.78)!important;}
.ici-team-hero h1{margin-bottom:22px!important;}

/* mobile: Community and Contact heroes kept a 40-56px section
   inset while everything else sat at 24px */
@media(max-width:767px){
  body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(:has(> .e-con-inner)):not(.pj-page-wrapper):not(.team-page-wrapper),
  body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(.pj-page-wrapper):not(.team-page-wrapper){
    padding-left:24px!important;padding-right:24px!important;}
  .ici-team-hero{padding-left:24px!important;padding-right:24px!important;}
}

/* Contact and News wrap their hero in a 1200px box with its own
   40px padding, and Community nests a 32px boxed child, so those
   three heroes sat 80-160px in while the rest sat at 24. The
   column now comes from the section alone. */
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child .e-con-inner,
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child > .e-con{
  max-width:none!important;padding-left:0!important;padding-right:0!important;}
.ici-contact-hero,.ici-news-hero{
  max-width:none!important;padding-left:0!important;padding-right:0!important;}

/* Project detail pages are a single wrapper container holding one
   HTML block, same shape as Team, so the hero rule would box the
   whole page. Six class-level parts to clear the hero .elementor-kit-14. */
body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child.pj-page-wrapper:not(:has(> .e-con-inner)){
  padding-left:0!important;padding-right:0!important;
  background-color:transparent!important;}

/* ============================================================
   SUBCONTRACTOR FORM
   Its sections are full-bleed containers with no inner wrapper,
   so the sitewide column never reached them and the form ran
   edge to edge at every viewport. Put the page on the same
   1216px column as everywhere else, then give the form itself
   visible grouping: the section headings were the only thing
   separating 58 fields.
   ============================================================ */

body.page-id-249 [data-elementor-type="wp-page"] > .e-con{
  padding-left:max(24px,calc((100% - 1216px)/2))!important;
  padding-right:max(24px,calc((100% - 1216px)/2))!important;}

/* section headings inside the form */
.page-id-249 .elementor-field-type-html h3{
  font-family:'Manrope',sans-serif!important;font-weight:500!important;
  font-size:22px!important;letter-spacing:-.01em!important;color:#14110D!important;
  margin:40px 0 4px!important;padding-bottom:12px!important;
  border-bottom:2px solid #D4572A!important;}
.page-id-249 .elementor-field-group:first-child .elementor-field-type-html h3,
.page-id-249 .elementor-field-type-html:first-child h3{margin-top:0!important}

/* fields */
.page-id-249 .elementor-field-group > label{
  font-family:'Inter',sans-serif!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:.02em!important;color:rgba(20,17,13,.7)!important;margin-bottom:6px!important;}
.page-id-249 .elementor-field-group .elementor-field{
  font-family:'Inter',sans-serif!important;font-size:15px!important;
  padding:12px 14px!important;border:1px solid rgba(20,17,13,.18)!important;
  border-radius:3px!important;background:#fff!important;}
.page-id-249 .elementor-field-group .elementor-field:focus{
  border-color:#D4572A!important;outline:none!important;box-shadow:0 0 0 3px rgba(212,87,42,.12)!important;}
.page-id-249 .elementor-field-required label:after{content:' *';color:#D4572A}

/* upload controls read as buttons, not bare file inputs */
.page-id-249 .elementor-field-type-upload input[type=file]{
  width:100%;padding:14px!important;background:#fff!important;
  border:1px dashed rgba(20,17,13,.28)!important;border-radius:3px!important;
  font-family:'Inter',sans-serif!important;font-size:14px!important;cursor:pointer}
.page-id-249 .elementor-field-type-upload input[type=file]:hover{border-color:#D4572A!important}

@media(max-width:767px){
  .page-id-249 .elementor-field-group{width:100%!important}
}
/* ============================================================
   HERO INSET, FINAL
   At 1440px the three hero families disagreed: Home sat at 72px
   from its own container padding, the CSS-driven inner heroes
   fell to the 24px floor, and the project pages sat at 136px
   because they used the narrower body column. Home is the
   reference, so all three now share its 72px floor.
   ============================================================ */

body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(:has(> .e-con-inner)):not(.pj-page-wrapper):not(.team-page-wrapper){
  padding-left:max(72px, calc((100% - 1560px)/2 + 72px))!important;
  padding-right:max(72px, calc((100% - 1560px)/2 + 72px))!important;}

.pj-hero .pj-wrap{max-width:1560px;padding-left:72px;padding-right:72px}
.ici-team-hero{padding-left:max(72px,calc((100vw - 1560px)/2 + 72px))!important;
  padding-right:max(72px,calc((100vw - 1560px)/2 + 72px))!important;}

@media(max-width:900px){
  body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(:has(> .e-con-inner)):not(.pj-page-wrapper):not(.team-page-wrapper){
    padding-left:24px!important;padding-right:24px!important;}
  body:not(.home) [data-elementor-type="wp-page"] > .e-con:first-child:not(.pj-page-wrapper):not(.team-page-wrapper){
    padding-left:24px!important;padding-right:24px!important;}
  .pj-hero .pj-wrap{padding-left:24px;padding-right:24px}
  .ici-team-hero{padding-left:24px!important;padding-right:24px!important;}
}
/* ============================================================
   SERVICES PAGE PHOTOS
   The four [ Project Photo ] placeholders are now real image
   widgets. Their containers keep a min-height and a fallback
   background colour from the placeholder era, which showed as a
   beige band above and below each photo. Neutralise both and pin
   every image to one 4:3 crop so the four sections match.
   ============================================================ */
.svc-photo{padding:0!important;overflow:hidden;min-height:0!important;
  background-color:transparent!important;background-image:none!important}
.svc-photo > .e-con-inner{padding:0!important}
.svc-photo .elementor-widget-image,
.svc-photo .elementor-widget-image > .elementor-widget-container,
.svc-photo figure,
.svc-photo .elementor-image{margin:0!important;line-height:0!important}
.svc-photo img{width:100%!important;height:auto!important;aspect-ratio:4/3;
  object-fit:cover!important;display:block;border-radius:0!important}
@media(max-width:860px){
  .svc-photo img{aspect-ratio:16/10}
}/* End custom CSS */