.elementor-kit-34{--e-global-color-primary:#1F3D2B;--e-global-color-secondary:#8B6B4A;--e-global-color-text:#2B2B2B;--e-global-color-accent:#B8653A;--e-global-color-644be1b:#F7F4EE;--e-global-color-012d49a:#6A8F4E;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;}.elementor-kit-34 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Homepage cream background */
body.home { background-color: #F7F4EE; }

/* Stop sideways scrolling */
html, body { overflow-x: clip; }

/* Hero + final CTA: equal side margins */
#hero,
.elementor-element-68cafc8a {
  margin-left: 20px !important;
  margin-right: 20px !important;
  width: auto !important;
  max-width: calc(100% - 40px) !important;
}
#hero { margin-top: 0 !important; }

@media (max-width: 767px) {
  #hero,
  .elementor-element-68cafc8a {
    margin-left: 12px !important;
    margin-right: 12px !important;
    max-width: calc(100% - 24px) !important;
  }
}
/* About Us – Our Facility: heading aligned to top */
.elementor-element-2724c808 {
  --align-items: flex-start !important;
  align-items: flex-start !important;
}
/* About Us – final CTA: more space on the right */
.elementor-element-107d42dd {
  padding-right: 96px !important;
}
.elementor-element-70758f0b { flex-shrink: 0; }
@media (max-width: 767px) {
  .elementor-element-107d42dd { padding-right: 24px !important; }
}
.elementor-element-81146c3 {
  background:
    url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 300'><g fill='none' stroke='%23A8D5B5' stroke-width='1'><path d='M600 40 C470 60 420 170 300 190 S120 230 60 300' stroke-opacity='0.14'/><path d='M600 80 C490 100 450 200 330 220 S160 260 110 300' stroke-opacity='0.08'/></g></svg>") no-repeat right bottom / 600px 300px,
    radial-gradient(ellipse 45% 90% at 0% 100%, rgba(46,107,71,0.55) 0%, rgba(46,107,71,0) 70%),
    radial-gradient(ellipse 40% 80% at 100% 0%, rgba(168,213,181,0.10) 0%, rgba(168,213,181,0) 70%),
    #1F3D2B !important;
}
@media (max-width: 767px) {
  .elementor-element-81146c3 { background-size: 300px 150px, auto, auto, auto !important; }
}
/* Products – How We Manufacture: cream cards */
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con {
  background-color: #F7F4EE !important;
  border: 1px solid #F7F4EE !important;
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease !important;
}
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con:hover {
  background-color: #EFE9DD !important;
  border-color: #EFE9DD !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con .elementor-widget-heading:first-child .elementor-heading-title {
  color: #1F3D2B !important;
  -webkit-text-stroke: 0 !important;
  line-height: 1 !important;
}
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con h3.elementor-heading-title {
  color: #1F3D2B !important;
}
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con .elementor-widget-text-editor,
body.elementor-page .elementor .elementor-element.elementor-element-40409096 > .e-con.e-con .elementor-widget-text-editor p {
  color: #5A5F5B !important;
}
/* Nearshoring hero: equal side margins */
#ns-hero {
  margin-left: 20px !important;
  margin-right: 20px !important;
  margin-top: 0 !important;
  width: auto !important;
  max-width: calc(100% - 40px) !important;
}
@media (max-width: 767px) {
  #ns-hero {
    margin-left: 12px !important;
    margin-right: 12px !important;
    max-width: calc(100% - 24px) !important;
  }
}
/* Cream behind the inset hero */
body.page-id-357 { background-color: #F7F4EE !important; }
/* Home: sector cards, tablet only */
@media (min-width:768px) and (max-width:1024px){
  .elementor-21 .e-con:has(> .e-con > .elementor-widget-image):has(> .e-con ~ .e-con ~ .e-con){
    flex-wrap:nowrap !important;
    gap:16px !important;
  }
  .elementor-21 .e-con:has(> .e-con > .elementor-widget-image):has(> .e-con ~ .e-con ~ .e-con) > .e-con{
    width:auto !important;
    flex:1 1 0 !important;
    min-width:0 !important;
  }
  .elementor-21 .e-con:has(> .e-con ~ .e-con ~ .e-con) > .e-con > .elementor-widget-image img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3;
    object-fit:cover !important;
  }
  .elementor-21 .e-con:has(> .e-con ~ .e-con ~ .e-con) > .e-con:has(> .elementor-widget-image) > .e-con{
    padding:18px 18px 22px !important;
  }
  .elementor-21 .e-con:has(> .e-con ~ .e-con ~ .e-con) > .e-con:has(> .elementor-widget-image) h3{
    font-size:18px !important;
  }
  .elementor-21 .e-con:has(> .e-con ~ .e-con ~ .e-con) > .e-con:has(> .elementor-widget-image) .elementor-widget-text-editor{
    font-size:14px !important;
    line-height:1.6 !important;
  }
}
/* Home: benefit cards, tablet only */
@media (min-width:768px) and (max-width:1024px){
  .benefit-cards,
  .benefit-cards > .e-con-inner{
    gap:16px !important;
  }
  .benefit-cards > .e-con,
  .benefit-cards > .e-con-inner > .e-con{
    width:calc((100% - 32px) / 3) !important;
    padding:20px !important;
  }
  .benefit-cards .elementor-icon{
    font-size:24px !important;
  }
  .benefit-cards .elementor-icon-box-icon{
    margin-bottom:12px !important;
  }
  .benefit-cards .elementor-icon-box-title{
    font-size:16px !important;
    margin-bottom:6px !important;
  }
  .benefit-cards .elementor-icon-box-description{
    font-size:14px !important;
    line-height:1.55 !important;
  }
}
/* All pages: heading and text sizes, mobile only (homepage hero excluded) */
@media (max-width:767px){
  [data-elementor-type="wp-page"] h1.elementor-heading-title:not(#hero *){ font-size:32px !important; }
  [data-elementor-type="wp-page"] h2.elementor-heading-title:not(#hero *){ font-size:26px !important; }
  [data-elementor-type="wp-page"] h3.elementor-heading-title:not(#hero *){ font-size:18px !important; }
  [data-elementor-type="wp-page"] .elementor-widget-text-editor:not(#hero *){ font-size:16px !important; }
}
/* All buttons: smaller on tablet and mobile */
@media (max-width:1024px){
  body:not(#_) .elementor-button{
    font-size:14px !important;
  }
  body:not(#_) .elementor-widget:not(.elementor-element-20910b1c,.elementor-element-4de290d6,.elementor-element-1bf97d64,.elementor-element-25880d8f,.elementor-element-42b6e317,.elementor-element-2d2c8b1f) .elementor-button{
    padding:12px 22px !important;
  }
}
/* Comparison table: mobile swipe hint + fixed first column */
@media (max-width:767px){
  .ns-tbl::before{
    content:"←  Swipe sideways to compare  →";
    display:block;
    position:sticky;
    left:0;
    width:100%;
    text-align:center;
    font:600 12px Inter,Arial,sans-serif;
    letter-spacing:.04em;
    color:#2E6B47;
    padding:0 0 10px;
  }
  .ns-tbl table{
    min-width:580px !important;
    overflow:visible !important;
  }
  .ns-tbl th,
  .ns-tbl td{
    padding:12px !important;
    font-size:13px !important;
  }
  .ns-tbl th:first-child,
  .ns-tbl td:first-child{
    position:sticky;
    left:0;
    z-index:2;
    width:100px !important;
    min-width:100px;
    box-shadow:1px 0 0 #E6E1D6;
  }
  .ns-tbl td:first-child{ background:#fff !important; }
  .ns-tbl tbody tr:nth-child(odd) td:first-child{ background:#EEEEEE !important; }
  .ns-tbl th:first-child{ border-top-left-radius:11px; }
  .ns-tbl th:last-child{ border-top-right-radius:11px; }
  .ns-tbl tr:last-child td:first-child{ border-bottom-left-radius:11px; }
  .ns-tbl tr:last-child td:last-child{ border-bottom-right-radius:11px; }
}
/* Phone numbers: stop the default red link colour on phones */
@media (hover:none){
  [data-elementor-type="footer"] a[href^="tel:"],
  [data-elementor-type="footer"] a[href^="tel:"] *{
    color:#2B2B2B !important;
  }
}
a[x-apple-data-detectors],
a[x-apple-data-detectors] *{
  color:inherit !important;
  text-decoration:none !important;
}/* End custom CSS */