.elementor-kit-5{--e-global-color-primary:#B08D5B;--e-global-color-secondary:#1C1C1C;--e-global-color-text:#1A1A1A;--e-global-color-accent:#C9A46C;--e-global-color-mmsblk1:#141414;--e-global-color-mmsblk2:#161616;--e-global-color-mmsline:#262626;--e-global-color-mmssand:#F4F2EE;--e-global-color-mmssnd2:#EBE8E2;--e-global-color-mmscta0:#A67F56;--e-global-color-mmsbody:#4A4A4A;--e-global-color-mmsbod2:#3A3A3A;--e-global-color-mmsgrey:#5A5A5A;--e-global-color-mmsmute:#B5B5B5;--e-global-color-mmsmut2:#A9A9A9;--e-global-color-mmshero:#D0D0D0;--e-global-color-mmsfaq0:#DCD8D0;--e-global-color-mmsinpt:#DCDCDC;--e-global-color-mmsoutl:#6A6A6A;--e-global-color-mmsstar:#F5B400;--e-global-color-mmswhit:#FFFFFF;--e-global-typography-primary-font-family:"Figtree";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Figtree";--e-global-typography-secondary-font-size:11px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:2.4px;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:600;background-color:#FFFFFF;color:#4A4A4A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:15px;line-height:1.7em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#B08D5B;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:13px;font-weight:600;color:#141414;border-radius:2px 2px 2px 2px;padding:14px 22px 14px 22px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#C9A46C;color:#141414;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#B08D5B;}.elementor-kit-5 a:hover{color:#C9A46C;}.elementor-kit-5 h1{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:44px;font-weight:600;line-height:1.1em;letter-spacing:-0.88px;}.elementor-kit-5 h2{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:36px;font-weight:600;line-height:1.15em;letter-spacing:-0.72px;}.elementor-kit-5 h3{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:20px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h4{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:17px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h5{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:16px;font-weight:600;line-height:1.3em;}.elementor-kit-5 h6{color:#1A1A1A;font-family:"Figtree", Helvetica, Arial, sans-serif;font-size:14px;font-weight:600;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1100px;}.e-con{--container-max-width:1100px;}.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-kit-5 h1{font-size:38px;}.elementor-kit-5 h2{font-size:30px;}.elementor-kit-5 h3{font-size:20px;}.elementor-kit-5 h4{font-size:17px;}.elementor-kit-5 h5{font-size:16px;}.elementor-kit-5 h6{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h1{font-size:32px;}.elementor-kit-5 h2{font-size:28px;}.elementor-kit-5 h3{font-size:18px;}.elementor-kit-5 h4{font-size:17px;}.elementor-kit-5 h5{font-size:16px;}.elementor-kit-5 h6{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Matrix Outdoor Solutions – custom CSS for the Elementor build.
   Paste into Elementor > Site Settings > Custom CSS (or Appearance > Customise > Additional CSS). */

body { -webkit-font-smoothing: antialiased; }

/* Headings: balanced wrapping as in the design (text-wrap:pretty) */
.mms-pretty .elementor-heading-title { text-wrap: pretty; }

/* Text editor: no trailing paragraph gap (spacing comes from widget margins) */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Long-form service copy */
.mms-prose p { margin: 0 0 18px; }
.mms-prose--16 p { margin-bottom: 16px; }
.mms-prose p:last-child { margin-bottom: 0; }
.mms-prose h3 {
  margin: 32px 0 12px; font-family: 'Figtree', Helvetica, Arial, sans-serif;
  font-size: 20px; line-height: 1.3; font-weight: 600; color: #1a1a1a;
}
@media (max-width: 767px) { .mms-prose h3 { font-size: 18px; } }

/* Text link hover (design: a:hover { color:#c9a46c }) */
.elementor-widget-text-editor a:hover,
.elementor-heading-title a:hover { color: #c9a46c; }
.mms-inline-link { color: #b08d5b; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.mms-underline .elementor-heading-title a { text-underline-offset: 4px; }
.mms-link-hover-dark .elementor-heading-title a:hover { color: #ffffff; }
.mms-crumb a { color: inherit; }

/* Linked cards / rows: keep text colours on hover */
a.mms-card, a.mms-card:hover, a.mms-service-row, a.mms-service-row:hover { color: inherit; text-decoration: none; }
a.mms-card:hover .elementor-heading-title { color: #ffffff; }
a.mms-service-row:hover .elementor-heading-title { color: #1a1a1a; }
.mms-arrow p { margin: 0; }

/* Grid spans (Home featured projects + Projects page) */
@media (min-width: 1025px) {
  .mms-row-span-2 { grid-row: span 2; }
}
.mms-col-span-2 { grid-column: span 2; }
@media (max-width: 767px) {
  .mms-col-span-2 { grid-column: auto; }
}

/* Mobile reordering so the photo sits above the copy */
@media (max-width: 767px) {
  .mms-order-last-mobile { order: 2; }
}

/* Hero: darker full overlay on mobile so text stays legible over the photo */
@media (max-width: 767px) {
  .e-con.mms-hero::before {
    background-image: none !important;
    background-color: rgba(28, 28, 28, 0.72) !important;
    opacity: 1 !important;
  }
  .e-con.mms-hero { background-position: center center !important; }
}

/* Sidebar "Other outdoor solutions": arrow on the right, label on the left */
.mms-arrow-list .elementor-icon-list-item > a,
.mms-arrow-list .elementor-icon-list-item {
  display: flex; flex-direction: row-reverse; justify-content: space-between; width: 100%;
}

/* FAQ: top-border list style instead of boxed accordion */
.mms-faq .elementor-accordion-item { border: 0 !important; border-top: 1px solid #dcd8d0 !important; }
.mms-faq .elementor-accordion-item:last-child { border-bottom: 1px solid #dcd8d0 !important; }
.mms-faq .elementor-tab-content { border-top: 0 !important; }
.mms-faq .elementor-tab-title { outline: none; }

/* Forms: match design field padding */
.mms-form .elementor-field-textual { padding: 12px 14px; min-height: 0; font-size: 13px; }
.mms-form select.elementor-field-textual { color: #3a3a3a; }
.mms-form .elementor-field-group { margin-bottom: 0; }

/* Google reviews carousel */
.mms-reviews .swiper-slide { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); min-height: 200px; }
.mms-reviews .elementor-testimonial__header { border-bottom: 0 !important; padding-bottom: 10px; }
.mms-reviews .elementor-testimonial__text {
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.mms-reviews .elementor-swiper-button {
  width: 36px; height: 36px; border-radius: 50%; background: #ffffff; border: 1px solid #3a3a3a;
  display: flex; align-items: center; justify-content: center; color: #1a1a1a !important;
}
.mms-reviews .elementor-swiper-button svg { fill: #1a1a1a !important; }

/* Why-choose icon boxes: narrow centred descriptions */
.mms-narrow-desc .elementor-icon-box-description { max-width: 200px; margin-left: auto; margin-right: auto; }

/* Header: keep nav centred between logo and CTAs */
.mms-header .mms-nav { justify-self: center; }
@media (max-width: 1024px) { .mms-header .mms-nav { justify-self: end; } }


/* ===== MOS refine (Oct 2026): audit fixes + tighter layout ===== */
::selection{background:#b48a55;color:#161513}
:focus-visible{outline:2px solid #c99e66;outline-offset:3px}
.mos-facts .elementor-icon-list-icon i{color:#7a5a32}
.mos-facts .elementor-icon-list-icon svg{fill:#7a5a32}
.mos-facts .elementor-icon-list-item{padding-block:5px}
.mos-step-arrow,.mos-step-arrow p{color:#b48a55 !important}
/* Service cards: text sits over the photo */
.mms-card--stacked{position:relative;justify-content:flex-end !important;aspect-ratio:4/3.4;overflow:hidden;min-height:0 !important}
.mms-card--stacked>.mms-card-img{position:absolute !important;inset:0;height:100% !important;min-height:0 !important;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.mms-card--stacked:hover>.mms-card-img{transform:scale(1.05)}
.mms-card--stacked>.e-con:not(.mms-card-img){position:relative;z-index:1;background:linear-gradient(0deg,rgba(22,21,19,.95) 0%,rgba(22,21,19,.78) 55%,rgba(22,21,19,0) 100%) !important;padding-top:56px !important}
@media (prefers-reduced-motion:reduce){.mms-card--stacked>.mms-card-img{transition:none}}
/* Footer tap targets */
.elementor-location-footer .elementor-icon-list-items .elementor-icon-list-item{padding-block:5px !important}
.elementor-location-footer .elementor-social-icon{width:44px !important;height:44px !important;display:inline-flex;align-items:center;justify-content:center}
/* Mobile: shorter page */
@media (max-width:767px){
.mos-svc-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
.mos-svc-grid .mms-card--stacked{aspect-ratio:1/1.1}
.mos-svc-grid .mms-card--stacked .elementor-widget-text-editor{display:none}
.mos-svc-grid .mms-card--stacked>.e-con:not(.mms-card-img){padding:40px 14px 14px !important}
.mos-svc-grid .mms-card--stacked .elementor-heading-title{font-size:17px !important;line-height:1.2 !important}
.mms-home-projects{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px !important;scrollbar-width:none}
.mms-home-projects::-webkit-scrollbar{display:none}
.mms-home-projects>.mms-card{flex:0 0 78% !important;scroll-snap-align:start;min-height:420px !important}
}

/* mos-contrast-2 */
.mms-inline-link{color:#7a5a32 !important}
.mms-crumb .elementor-heading-title span{color:#c9bfae !important}
.mms-crumb .elementor-heading-title a{color:#c9a46c !important}

/* ===== MOS design v2 (Oct 2026): mockup styles, site-wide ===== */
.mms-pretty .elementor-heading-title{font-weight:600 !important;letter-spacing:-0.02em !important;line-height:1.1 !important;text-wrap:balance;font-size:clamp(32px,3.6vw,48px) !important}
.mms-pretty h1.elementor-heading-title{font-size:clamp(38px,4.8vw,60px) !important;line-height:1.04 !important;letter-spacing:-0.03em !important}
.mos-hero .mms-pretty .elementor-heading-title{font-size:clamp(40px,5.6vw,68px) !important;line-height:1.02 !important;max-width:12em}
.mos-hero .elementor-widget-text-editor p{color:#d9d3c8;max-width:46ch;font-size:clamp(17px,1.4vw,19px)}
.e-con.mms-hero.mos-hero::before{background-image:linear-gradient(90deg,rgba(22,21,19,.92) 0%,rgba(22,21,19,.78) 34%,rgba(22,21,19,.15) 68%,rgba(22,21,19,0) 100%),linear-gradient(0deg,rgba(22,21,19,.55),rgba(22,21,19,0) 35%) !important;background-color:transparent !important;opacity:1 !important}
@media (max-width:767px){.e-con.mms-hero.mos-hero::before{background-image:linear-gradient(0deg,rgba(22,21,19,.95) 0%,rgba(22,21,19,.8) 55%,rgba(22,21,19,.45) 100%) !important}}
/* Buttons */
.elementor-location-header .elementor-button,main .elementor-button{border-radius:2px !important;min-height:48px;padding:0 24px !important;display:inline-flex !important;align-items:center;justify-content:center;font-weight:600 !important;font-size:15px !important;transition:background-color .25s cubic-bezier(.16,1,.3,1),border-color .25s,color .25s}
.elementor-location-header .elementor-button{min-height:44px}
/* Proof bar */
.mos-proof{border-top:1px solid rgba(243,240,234,.14)}
@media (min-width:1025px){.mos-proof .elementor-widget-icon-box+.elementor-widget-icon-box{border-left:1px solid rgba(243,240,234,.12);padding-left:24px}}
.mos-proof .elementor-icon-box-title{font-weight:600 !important}
/* About */
.mos-about-media{position:relative}
.mos-about-media .elementor-widget-image img{width:100%;aspect-ratio:5/4;object-fit:cover}
.mos-caption{position:absolute !important;left:-1px;bottom:-1px;width:auto !important;max-width:78%;background:#161513;padding:18px 22px;z-index:2;margin:0 !important}
.mos-caption p{margin:0;font-size:15px;line-height:1.45;color:#f3f0ea !important}
.mos-caption strong{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#b48a55;font-weight:600}
.mos-facts .elementor-icon-list-items{border-top:1px solid #e8e3d9;margin-block:8px 12px}
.mos-facts .elementor-icon-list-item{padding-block:14px !important;border-bottom:1px solid #e8e3d9;margin:0 !important}
/* Service card arrows */
.mms-card--stacked .mms-arrow{width:44px !important;height:44px;flex:none !important;border:1px solid rgba(243,240,234,.35);border-radius:50%;display:grid !important;place-items:center;transition:background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s,transform .3s}
.mms-card--stacked .mms-arrow p{margin:0 !important;line-height:1;font-size:18px}
.mms-card--stacked:hover .mms-arrow{background:#b48a55;border-color:#b48a55;transform:translateX(2px)}
.mms-card--stacked:hover .mms-arrow p{color:#161513 !important}
/* Process */
.mos-steps{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:40px !important;position:relative}
.mos-steps::before{content:"";position:absolute;left:22px;right:calc(33.333% - 22px);top:22px;height:1px;background:linear-gradient(90deg,#b48a55,rgba(180,138,85,.25))}
.e-con.mos-step{align-items:flex-start !important;text-align:left !important;padding:0 !important;gap:0 !important;--align-items:flex-start}
.mos-step .elementor-heading-title,.mos-step p{text-align:left !important}
.mos-step-no{width:45px !important;flex:none;position:relative;z-index:1}
.mos-step-no .elementor-heading-title{width:45px;height:45px;border-radius:50%;background:#161513;border:1px solid #b48a55;display:grid !important;place-items:center;font-weight:600 !important;color:#b48a55 !important;font-size:16px !important;font-variant-numeric:tabular-nums}
.mos-step .elementor-widget-heading:not(.mos-step-no){margin-top:28px !important}
.mos-step .elementor-widget-heading:not(.mos-step-no) .elementor-heading-title{font-size:24px !important;font-weight:600 !important}
.mos-step .elementor-widget-text-editor{margin-top:10px !important}
.mos-step .elementor-widget-text-editor p{color:#b8b0a3 !important;max-width:32ch}
@media (max-width:1024px){.mos-steps{grid-template-columns:1fr !important;gap:32px !important}.mos-steps::before{right:auto;bottom:22px;width:1px;height:auto;background:linear-gradient(180deg,#b48a55,rgba(180,138,85,.25))}.e-con.mos-step{display:grid !important;grid-template-columns:45px 1fr;column-gap:20px}.mos-step-no{grid-row:1/span 2}.mos-step .elementor-widget-heading:not(.mos-step-no){margin-top:8px !important}.mos-step .elementor-widget-heading:not(.mos-step-no) .elementor-heading-title{font-size:21px !important}.mos-step .elementor-widget-text-editor{grid-column:2;margin-top:2px !important}}
/* Contact */
.mos-contact .elementor-icon-list-text{font-size:20px !important;font-weight:600 !important;font-variant-numeric:tabular-nums}
.mos-contact .elementor-icon-list-item{min-height:48px}
.mos-areas-title .elementor-heading-title{font-size:18px !important;font-weight:600 !important;color:#161513 !important;letter-spacing:-0.01em !important}
.mos-areas-title{margin-top:28px !important}
.mos-areas ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.mos-areas li{padding:8px 14px;border:1px solid rgba(22,21,19,.3);font-size:15px;font-weight:500;color:#161513;margin:0;line-height:1.3}
.mos-areas li:last-child{border-style:dashed}
.e-con.mos-form-card{background:#fff !important;padding:clamp(24px,3.5vw,40px) !important;box-shadow:0 30px 60px -30px rgba(22,21,19,.5)}
.mms-form .elementor-field-label{font-size:14px !important;font-weight:600 !important;color:#1b1a17 !important;margin-bottom:6px !important}
.mms-form .elementor-field-textual{background:#f3f0ea !important;border:1px solid #d6cfc2 !important;border-radius:2px !important;min-height:48px;font-size:16px !important;color:#1b1a17 !important}
.mms-form .elementor-field-textual:focus{border-color:#7a5a32 !important;background:#fff !important;box-shadow:0 0 0 3px rgba(180,138,85,.25) !important;outline:none}
.mms-form .elementor-button{background:#161513 !important;color:#f3f0ea !important;width:100%;min-height:54px;font-size:16px !important;border:0 !important}
.mms-form .elementor-button:hover{background:#000 !important}
.mms-form .elementor-button *{color:#f3f0ea !important}

/* v2 patch 1 */
.mos-hero>.e-con-inner>.e-con:first-child{width:min(620px,100%) !important;--width:min(620px,100%);max-width:620px}
.e-con.mos-about-media{padding:0 !important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.mos-steps::before{right:calc(33.333% - 48px)}
.mos-process .mos-steps{margin-top:24px}
.mos-contact .elementor-widget-text-editor:not(.mos-areas) p{font-size:17px;line-height:1.6;color:#161513 !important}
.mms-form .elementor-mark-required .elementor-field-label:after{color:#7a5a32}
@media (max-width:1024px){.mos-steps::before{right:auto}}

/* v2 patch 2 */
@media (max-width:1024px){.e-con.mos-step{column-gap:20px !important}}
.mos-hero .elementor-widget-text-editor{margin-bottom:20px !important}

/* v2 patch 3 */
.mms-hero>.e-con-inner>.e-con:first-child{width:min(620px,100%) !important;--width:min(620px,100%);max-width:620px}/* End custom CSS */