@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxieyp8kv8jhgfvrjjfecg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlgt9z1xlfq.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlej6z1xlfq.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlcz7z1xlfq.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Marble & Stone Polishing: independent responsive navigation, footer and photo restoration.
   Scope intentionally isolated from legacy Elementor / Astra / WP Rocket styles. */
:root {
  /* Shared brand tokens for every imported and native page. */
  --msp-font-family:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --msp-forest:#142a26;
  --msp-brass:#caa65f;
  --msp-ink:#1b2825;
  --msp-cream:#f9f8f4;
  --msp-line:#e8e6dd;
  --msp-footer-gold:#d1b273;
  --msp-font-body:16px;
  --msp-font-label:14px;
  --msp-space-1:4px;
  --msp-space-2:8px;
  --msp-space-3:12px;
  --msp-space-4:16px;
  --msp-space-5:24px;
  --msp-space-6:32px;
  --msp-space-7:48px;
  --msp-space-8:64px;
  --msp-space-9:80px;
  --msp-container-max:1180px;
  --msp-control-min:44px;
  --msp-cta-min:48px;
  --msp-radius-control:6px;
  --msp-radius-card:12px;
  /* CSS custom properties cannot be used inside @media conditions.
     Keep 970px/640px/350px media queries as literal breakpoints. */
}
/* Text shares one locally hosted family. Icon fonts and SVGs keep their own rules. */
body.msp-ui-ready,
body.msp-ui-ready :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,li,small,strong,em,figcaption),
body.msp-ui-ready :is(div,span):not([class*="icon"]):not([class^="eicon"]),
body.msp-ui-ready .elementor-heading-title,
body.msp-ui-ready .elementor-icon-list-text,
body.msp-ui-ready .msp-footer-contact-text,
body.msp-ui-ready .ti-widget :is(div,span) {
  font-family:var(--msp-font-family)!important;
}
body.msp-ui-ready {font-size:16px;line-height:1.6}
body.msp-ui-ready :is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid #a27a32;outline-offset:3px}
body.msp-ui-ready .elementor-button,
body.msp-ui-ready .ct-form-wrap #msp-enquiry-form button.msp-submit,
body.msp-ui-ready :is(.mp-hero-cta,.mp-primary-button,.btn-primary,.btn-secondary,.cv-btn) {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px!important;padding:12px 20px!important;border-radius:6px!important;
  font-size:14px!important;font-weight:600!important;line-height:1.5!important;
  max-width:100%;white-space:normal;text-align:center;text-decoration:none;
}
body.msp-ui-ready .elementor-button-content-wrapper {align-items:center;gap:8px}
body.msp-ui-ready .ct-form-wrap #msp-enquiry-form .msp-field :is(input,select,textarea) {font-size:16px!important}

/* Homepage layout: one content edge, readable headings, and content-sized rows. */
body.msp-ui-ready .elementor-39 {--container-max-width:1180px}
body.msp-ui-ready .elementor-39 > .msp-home-section:not(.msp-home-hero):not(.msp-home-metrics) {
  padding:64px 24px!important;gap:24px!important;min-height:0!important;
  --padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;
}
body.msp-ui-ready .msp-home-section > .e-con-inner {max-width:1180px;width:100%;padding:0;margin:0 auto;gap:24px}
body.msp-ui-ready .msp-home-section :is(h2,h3) {text-transform:none!important;letter-spacing:-.02em!important}
body.msp-ui-ready .msp-home-section h2 {font-size:clamp(26px,3vw,38px)!important;line-height:1.25!important;font-weight:600!important;margin:0 0 16px!important}
body.msp-ui-ready .msp-home-section h3 {font-size:20px!important;line-height:1.4!important;font-weight:600!important}
body.msp-ui-ready .msp-home-section :is(.elementor-widget-text-editor,.elementor-icon-box-description) {font-size:16px!important;line-height:1.65!important}
body.msp-ui-ready .msp-home-section p.elementor-heading-title {font-size:14px!important;line-height:1.6!important;font-weight:500!important;letter-spacing:.02em!important}
body.msp-ui-ready .msp-home-hero {padding:0 24px!important;min-height:0!important}
body.msp-ui-ready .msp-home-hero > .e-con-inner {max-width:1180px;padding:0!important}
body.msp-ui-ready .msp-home-hero .elementor-element-63e1814 {
  padding:64px 0!important;min-height:550px!important;gap:24px!important;
  background:transparent!important;border-radius:0!important;
}
body.msp-ui-ready .msp-home-hero .elementor-element-63e1814::before {display:none!important}
body.msp-ui-ready .msp-home-hero {position:relative;isolation:isolate}
body.msp-ui-ready .msp-home-hero::before {content:"";position:absolute;inset:0;z-index:0;background:#11241f!important;opacity:.58!important;pointer-events:none}
body.msp-ui-ready .msp-home-hero > .e-con-inner {position:relative;z-index:1}
body.msp-ui-ready .msp-home-hero h1 {font-size:clamp(32px,4.3vw,56px)!important;line-height:1.18!important;font-weight:600!important;letter-spacing:-.025em!important;text-transform:none!important;max-width:1000px;margin:0!important}
body.msp-ui-ready .msp-home-hero .elementor-element-76c6144 {max-width:850px;font-size:16px!important;line-height:1.7!important}
body.msp-ui-ready .msp-home-hero .elementor-element-497aedd {padding:0!important;gap:12px;flex-wrap:wrap}
body.msp-ui-ready .msp-home-hero .elementor-widget-button {width:auto!important;flex:0 1 auto}
body.msp-ui-ready .msp-home-metrics {padding:24px!important}
body.msp-ui-ready .msp-home-metrics .elementor-element-a10eaa9 {padding:0!important;gap:24px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.msp-ui-ready .msp-home-metrics .elementor-element-a10eaa9 > div {padding:12px!important;background:transparent!important}
body.msp-ui-ready .msp-home-metrics .elementor-element-a10eaa9 > div > div:first-child p {font-size:28px!important;font-weight:600!important}
body.msp-ui-ready .msp-home-projects,
body.msp-ui-ready .msp-home-reviews {display:flex!important;flex-direction:column!important;align-items:stretch!important}
body.msp-ui-ready .msp-home-projects > *,
body.msp-ui-ready .msp-home-reviews > * {width:100%!important;max-width:1180px!important;margin-inline:auto!important}
body.msp-ui-ready .msp-home-projects .elementor-loop-container {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
body.msp-ui-ready .msp-home-projects .elementor-loop-container > * {width:100%!important;min-width:0}
body.msp-ui-ready .msp-home-projects .elementor-loop-container .e-con {height:100%;border-radius:12px}
body.msp-ui-ready .msp-home-projects .elementor-widget-image img {width:100%;height:230px;object-fit:cover;border-radius:8px}
body.msp-ui-ready .msp-home-projects h3 {min-height:84px}
body.msp-ui-ready .msp-home-services .elementor-element-b43f0ca {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto!important;gap:24px!important;background:transparent!important;padding:0!important;
}
body.msp-ui-ready .msp-home-services .elementor-element-b43f0ca > div {padding:24px!important;border:1px solid #e8e6dd!important;border-radius:12px!important;gap:20px!important;min-width:0}
body.msp-ui-ready .msp-home-services .elementor-element-b43f0ca .elementor-widget-button {margin-top:auto!important}
body.msp-ui-ready .msp-home-services .elementor-icon {font-size:32px!important}
body.msp-ui-ready .msp-home-services .elementor-icon svg {width:32px;height:32px}
body.msp-ui-ready .msp-home-services .elementor-element-5fb4ac7 {gap:24px;flex-wrap:wrap}
body.msp-ui-ready .msp-home-services .elementor-element-92ab6aa {flex:1 1 65%}
body.msp-ui-ready .msp-home-services .elementor-element-6d3ba47 {flex:0 0 auto;width:auto}
body.msp-ui-ready .msp-home-gallery .msp-home-gallery-card h2 {font-size:18px!important;margin:0!important}
body.msp-ui-ready .msp-home-about :is(.elementor-element-e43bce9,.elementor-element-5fd4c90) {padding:0!important;background:transparent!important}
body.msp-ui-ready .msp-home-about .elementor-element-df4e6b0 {min-height:460px!important}
body.msp-ui-ready .msp-home-about .elementor-element-4e30e5e h2 {font-size:20px!important}
body.msp-ui-ready .msp-home-process .steps-box {max-width:none;padding:0}
body.msp-ui-ready .msp-home-process .steps-grid {gap:32px}
body.msp-ui-ready .msp-home-process .step p {font-size:15px!important;line-height:1.65!important}
body.msp-ui-ready .msp-home-enquiry > .e-con-inner {align-items:stretch!important}
body.msp-ui-ready .msp-home-enquiry .elementor-element-b3c30e9 {align-self:stretch!important}
body.msp-ui-ready .msp-home-enquiry .elementor-element-7d033e7 {min-height:360px!important;flex:1;height:100%}
@media(max-width:767px){
  body.msp-ui-ready .msp-home-enquiry .elementor-element-e740b6f {order:0!important}
  body.msp-ui-ready .msp-home-enquiry .elementor-element-b3c30e9 {order:1!important}
  body.msp-ui-ready .msp-home-enquiry .elementor-element-7d033e7 {height:360px;flex:auto}
}
body.msp-ui-ready .msp-home-enquiry .msp-native-form .msp-form-heading-title {font-size:18px!important}
body.msp-ui-ready .msp-home-coverage #cvInput {font-size:16px!important;min-height:48px}

body.msp-ui-ready .msp-home-projects .elementor-button {color:#806634!important}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-inner::after {display:none!important}
/* The saved reviews remain readable without a third-party slider bootstrap. */
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog,
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-widget-container,
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-reviews-container {
  position:relative!important;display:block!important;opacity:1!important;visibility:visible!important;
  width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-reviews-container-wrapper {
  position:relative!important;display:flex!important;gap:24px!important;width:100%!important;
  height:auto!important;transform:none!important;overflow-x:auto!important;overflow-y:hidden!important;
  padding:4px 0 16px!important;scroll-snap-type:x proximity;
}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-review-item {
  position:relative!important;display:flex!important;flex-direction:column!important;
  flex:0 0 calc((100% - 48px)/3)!important;width:auto!important;min-width:0!important;
  height:auto!important;margin:0!important;padding:24px!important;opacity:1!important;
  visibility:visible!important;transform:none!important;background:white!important;
  border:1px solid #e8e6dd!important;border-radius:12px!important;scroll-snap-align:start;
}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-inner {height:auto!important;min-height:200px!important;padding:0!important;box-shadow:none!important;background:transparent!important;border:0!important}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-review-text-container {height:auto!important;max-height:200px!important;overflow-y:auto!important;color:#33443b!important;font-size:15px!important;line-height:1.7!important;-webkit-line-clamp:unset!important}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-review-header {margin-top:20px!important;padding:0!important}
body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog :is(.ti-controls,.ti-read-more,.ti-footer,.ti-verified-review,.ti-platform-icon) {display:none!important}
@media(max-width:970px){
  body.msp-ui-ready .msp-home-services .elementor-element-b43f0ca {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-review-item {flex-basis:calc((100% - 24px)/2)!important}
}
@media(max-width:640px){
  body.msp-ui-ready .elementor-39 > .msp-home-section:not(.msp-home-hero):not(.msp-home-metrics) {padding:44px 20px!important}
  body.msp-ui-ready .msp-home-section > .e-con-inner {gap:24px}
  body.msp-ui-ready .msp-home-hero {padding-inline:20px!important}
  body.msp-ui-ready .msp-home-hero .elementor-element-63e1814 {padding:44px 0!important;min-height:0!important;gap:20px!important}
  body.msp-ui-ready .msp-home-hero h1 {font-size:32px!important}
  body.msp-ui-ready .msp-home-hero h1 br {display:none}
  body.msp-ui-ready .msp-home-hero h1 br::after {content:' '}
  body.msp-ui-ready .msp-home-hero .elementor-widget-button {width:100%!important}
  body.msp-ui-ready .msp-home-hero .elementor-button {width:100%}
  body.msp-ui-ready .msp-home-metrics .elementor-element-a10eaa9 {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  body.msp-ui-ready .msp-home-metrics p.elementor-heading-title {font-size:12px!important}
  body.msp-ui-ready .msp-home-projects .elementor-loop-container,
  body.msp-ui-ready .msp-home-services .elementor-element-b43f0ca {grid-template-columns:minmax(0,1fr)!important}
  body.msp-ui-ready .msp-home-projects h3 {min-height:0}
  body.msp-ui-ready .msp-home-about .elementor-element-df4e6b0 {min-height:320px!important}
  body.msp-ui-ready .msp-home-reviews .ti-widget.ti-goog .ti-review-item {flex-basis:90%!important}
  body.msp-ui-ready .msp-home-enquiry .ct-form-placeholder {padding:24px 16px!important}
}
/* Keep top-level shell widths inside the viewport on native static pages (no WordPress global reset). */
.msp-unified-header,.msp-unified-footer{box-sizing:border-box;max-width:100%}
.msp-unified-header *, .msp-unified-header *::before, .msp-unified-header *::after,
.msp-unified-footer *, .msp-unified-footer *::before, .msp-unified-footer *::after,
.msp-terrazzo-feature *, .msp-terrazzo-feature *::before, .msp-terrazzo-feature *::after {box-sizing:border-box}
header.elementor-location-header,footer.elementor-location-footer,
body.terrazzo-site > header.site-header,body.terrazzo-site > footer.site-footer,
.ms-header-wrap {display:none!important}
.elementor-invisible {visibility:visible!important;opacity:1!important}
/* The new navigation is native HTML details/summary and works without Elementor JS. */
.msp-unified-header {
  position:relative!important; z-index:100010!important;
  width:100%;color:var(--msp-ink);font-size:var(--msp-font-body);
  font-family:var(--msp-font-family)!important;
  background:#fff;box-shadow:0 2px 10px rgb(15 29 25 / 7%);isolation:isolate;
  text-align:left;line-height:1.45;
}
.msp-unified-header a,.msp-unified-header a:visited {text-decoration:none!important;color:inherit}
.msp-unified-header button,.msp-unified-header summary {font:inherit}
.msp-unified-header a:focus-visible,.msp-unified-header summary:focus-visible,
.msp-unified-footer a:focus-visible,.msp-terrazzo-feature a:focus-visible{
  outline:3px solid #b78b32!important;outline-offset:3px
}
.msp-unified-header .msp-topline {
  background:var(--msp-forest);color:#f5f1e6;
  min-height:34px;display:flex;align-items:center;
  padding:7px max(18px,calc((100vw - 1200px)/2));
  gap:16px;justify-content:space-between;font-size:12px;letter-spacing:.01em;
}
.msp-unified-header .msp-topline a {color:#faf5e8!important;font-weight:600}
.msp-unified-header .msp-topline .msp-top-service {opacity:.88}
.msp-unified-header .msp-topline .msp-top-phone {white-space:nowrap}
.msp-unified-header .msp-bar {
  max-width:1260px;margin:0 auto;padding:var(--msp-space-3) clamp(16px,3vw,36px);
  display:flex;align-items:center;gap:clamp(14px,2vw,24px);min-height:80px;
  position:relative;
}
.msp-unified-header .msp-brand {display:flex;gap:11px;align-items:center;min-width:0;flex:0 0 auto}
.msp-unified-header .msp-brand img {width:47px;height:47px;object-fit:contain;display:block}
.msp-unified-header .msp-brand-copy {display:flex;flex-direction:column;gap:2px}
.msp-unified-header .msp-brand-name {font-weight:700;letter-spacing:-.025em;font-size:16px;line-height:1.1;color:#182c27}
.msp-unified-header .msp-brand-sub {font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#806634;font-weight:600}
.msp-unified-header .msp-desktop-nav {display:flex;align-items:center;gap:1px;justify-content:center;flex:1 1 auto;min-width:0}
.msp-unified-header .msp-desktop-nav > a,
.msp-unified-header .msp-desktop-nav > details > summary {
  display:flex;align-items:center;justify-content:center;min-height:45px;padding:10px clamp(8px,1vw,13px);
  font-size:13px;line-height:1.2;font-weight:600;white-space:nowrap;
  border-radius:7px;cursor:pointer;color:#293d35!important;list-style:none;
}
.msp-unified-header .msp-desktop-nav a:hover,
.msp-unified-header .msp-desktop-nav summary:hover,
.msp-unified-header .msp-desktop-nav details[open] > summary {
  color:#162f29!important;background:#f3f1e9;
}
.msp-unified-header .msp-desktop-nav summary::-webkit-details-marker,
.msp-unified-header summary::-webkit-details-marker {display:none}
.msp-unified-header .msp-desktop-nav > details {position:relative}
.msp-unified-header .msp-desktop-nav summary::after {
  content:"";display:inline-block;width:6px;height:6px;margin-left:9px;
  border-right:1.5px solid #706f62;border-bottom:1.5px solid #706f62;
  transform:rotate(45deg) translateY(-2px);
}
.msp-unified-header .msp-desktop-nav details[open] > summary::after {transform:rotate(225deg) translateY(-1px)}
.msp-unified-header .msp-menu-panel {
  position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);
  min-width:260px;max-width:min(670px,96vw);background:#fff;
  border:1px solid #e5e4df;border-top:3px solid var(--msp-brass);
  box-shadow:0 18px 45px rgb(9 37 26 / 17%);border-radius:0 0 12px 12px;
  padding:15px;z-index:100020;display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:14px;
}
.msp-unified-header .msp-menu-panel.msp-menu-panel-small {
  min-width:285px;grid-template-columns:minmax(0,1fr)
}
.msp-unified-header .msp-menu-panel h3 {font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;color:#a27a32!important;margin:3px 10px 8px!important;font-weight:700!important}
.msp-unified-header .msp-menu-panel a {display:block;font-size:13px!important;padding:9px 11px;border-radius:7px;line-height:1.35;font-weight:500;color:#20362d!important}
.msp-unified-header .msp-menu-panel a:hover {background:#f4f2ec}
.msp-unified-header .msp-nav-cta {
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--msp-cta-min);padding:10px var(--msp-space-4);border-radius:var(--msp-radius-control);background:var(--msp-forest);
  color:#fff!important;text-decoration:none!important;
  font-size:var(--msp-font-label);font-weight:700!important;white-space:nowrap;
}
.msp-unified-header .msp-nav-cta:hover {background:#315046}
.msp-unified-header .msp-mobile-details {display:none;min-width:0}
.msp-unified-header .msp-mobile-details > summary {
  display:flex;align-items:center;gap:var(--msp-space-2);min-height:var(--msp-cta-min);
  border:1px solid #d6d8d2;border-radius:6px;
  padding:8px 12px;cursor:pointer;list-style:none;
  color:#173229;font-weight:600;font-size:13px;
}
.msp-unified-header .msp-menu-icon {
  width:20px;height:14px;display:inline-block;position:relative;
  border-top:2px solid #173229;border-bottom:2px solid #173229
}
.msp-unified-header .msp-menu-icon::after {
  content:"";position:absolute;top:5px;left:0;right:0;border-top:2px solid #173229
}
.msp-unified-header .msp-mobile-menu {background:#fff;border-top:1px solid #e5e4dd;padding:7px 0 14px}
.msp-unified-header .msp-mobile-menu > a,
.msp-unified-header .msp-mobile-menu > details > summary {
  display:flex;align-items:center;min-height:var(--msp-cta-min);padding:10px 20px;
  border-bottom:1px solid #eeece7;color:#1c352c!important;
  font-size:14px;font-weight:600;line-height:1.35;list-style:none
}
.msp-unified-header .msp-mobile-menu > details > summary {cursor:pointer;justify-content:space-between}
.msp-unified-header .msp-mobile-menu > details > summary::after {content:"+";color:#b08536;font-size:19px;font-weight:600}
.msp-unified-header .msp-mobile-menu > details[open] > summary::after {content:"−"}
.msp-unified-header .msp-mobile-menu .msp-mobile-submenu {display:grid;padding:4px 0 9px;background:#f7f6f1}
.msp-unified-header .msp-mobile-menu .msp-mobile-submenu a {
  display:flex;align-items:center;padding:10px 28px;min-height:var(--msp-cta-min);
  font-size:13.5px;color:#294237!important;text-decoration:none!important
}
.msp-unified-header .msp-mobile-menu a:hover,
.msp-unified-header .msp-mobile-menu summary:hover {background:#efeee8}
.msp-unified-header .msp-mobile-menu .msp-mobile-highlight {color:#72531b!important;font-weight:700}
.msp-unified-header .msp-mobile-menu .msp-mobile-cta {
  display:block;text-align:center;background:#142a26;color:#fff!important;
  margin:var(--msp-space-4) var(--msp-space-4) 0;border-radius:var(--msp-radius-control);
  font-weight:600;min-height:var(--msp-cta-min);padding:12px
}
/* Static homepage panels use the image element already emitted by
   build-global-ui.mjs. Do not recreate its former WP Rocket background layer. */
.msp-rescued-photo-panel{position:relative;isolation:isolate;overflow:hidden}
.msp-rescued-photo-panel > img.msp-rescued-background-photo{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:cover;display:block;pointer-events:none;z-index:0
}
.msp-rescued-photo-panel::before{z-index:1;pointer-events:none}
.msp-rescued-photo-panel > :not(.msp-rescued-background-photo){position:relative;z-index:2}

/* Reliable image elements replace WP Rocket's disconnected CSS custom backgrounds. */
.elementor .msp-home-gallery-card {
  position:relative!important;overflow:hidden!important;isolation:isolate!important;
  min-height:215px!important;background-color:#343c37!important;background-image:none!important;
  border-radius:18px!important;
}
.elementor .msp-home-gallery-card > img.msp-restored-card-image {
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;z-index:0!important;border-radius:inherit!important;
  opacity:1!important;transform:none!important;
}
.elementor .msp-home-gallery-card::before {
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,transparent 28%,rgba(8,16,16,.74) 100%)!important;
  opacity:1!important;z-index:1!important;pointer-events:none!important;border-radius:inherit!important
}
.elementor .msp-home-gallery-card > :not(img) {
  position:relative!important;z-index:2!important;
}
.elementor .msp-home-gallery-card h2,
.elementor .msp-home-gallery-card .elementor-heading-title {color:#fff!important;position:relative!important;z-index:3!important;text-shadow:0 1px 3px rgb(0 0 0 / 25%);font-weight:700!important}
/* Protect visible sections from old Elementor entrance animations in static exports. */
.e-con.elementor-invisible,.elementor-widget.elementor-invisible,
.animated-slow.elementor-invisible {opacity:1!important;visibility:visible!important;transform:none!important}
/* Distinct, high-visibility terrazzo service links on the home page. */
.msp-terrazzo-feature {
  background:#f6f5f0;color:#172923;
  padding:clamp(var(--msp-space-7),6vw,var(--msp-space-9)) 20px;
  font-family:var(--msp-font-family);
  isolation:isolate;position:relative;z-index:2
}
.msp-terrazzo-feature .msp-feature-container {max-width:var(--msp-container-max);margin:auto}
.msp-terrazzo-feature .msp-kicker {
  /* Existing brass-dark brand tone; 4.97:1 on #f6f5f0. */
  color:#806634;font-size:12px;letter-spacing:.16em;font-weight:700;text-transform:uppercase
}
.msp-terrazzo-feature h2 {color:#152b23!important;font-size:clamp(27px,3.5vw,42px)!important;line-height:1.12!important;margin:10px 0 14px!important;font-weight:700!important}
.msp-terrazzo-feature .msp-feature-lead {
  font-size:var(--msp-font-body);line-height:1.6;max-width:720px;
  margin:0 0 var(--msp-space-6)
}
.msp-terrazzo-feature .msp-feature-grid {
  display:grid;grid-template-columns:minmax(0,1fr);gap:var(--msp-space-5)
}
.msp-terrazzo-feature .msp-feature-card {display:block;background:#fff;box-shadow:0 4px 22px rgb(28 39 32 / 7%);text-decoration:none!important;color:#203229!important;border-radius:var(--msp-radius-card);overflow:hidden}
.msp-terrazzo-feature .msp-feature-card:hover {box-shadow:0 8px 24px rgb(28 39 32 / 14%)}
.msp-terrazzo-feature .msp-feature-card img {width:100%!important;max-width:none;height:210px!important;object-fit:cover;display:block}
.msp-terrazzo-feature .msp-feature-card-body {padding:var(--msp-space-5)}
.msp-terrazzo-feature .msp-feature-card h3 {font-size:18px!important;line-height:1.25!important;font-weight:600!important;color:#172e24!important;margin:0 0 9px!important}
.msp-terrazzo-feature .msp-feature-card p {
  font-size:var(--msp-font-body);line-height:1.6;color:#505e56;margin:0 0 var(--msp-space-4)
}
.msp-terrazzo-feature .msp-feature-card span {font-size:13px;font-weight:700;color:#926d2c}
.msp-terrazzo-feature .msp-feature-cta {display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--msp-cta-min);margin-top:var(--msp-space-5);padding:12px 20px;
  border-radius:var(--msp-radius-control);background:#18322b;
  color:white!important;text-decoration:none!important;font-size:var(--msp-font-label);
  line-height:1.5;font-weight:600}
/* New independent footer, preserved on WP import and native service pages. */
.msp-unified-footer {
  width:100%;background:#11241f;color:#e6e9e1;
  font-family:var(--msp-font-family)!important;
  font-size:var(--msp-font-body);line-height:1.6;text-align:left;
  padding:clamp(45px,5vw,66px) 20px 0;position:relative;z-index:2
}
.msp-unified-footer .msp-footer-inner {max-width:var(--msp-container-max);margin:0 auto}
.msp-unified-footer .msp-footer-columns {
  display:grid;grid-template-columns:1.1fr 1.5fr 1fr 1fr;
  gap:var(--msp-space-5)
}
.msp-unified-footer .msp-footer-column {min-width:0}
.msp-unified-footer .msp-footer-brand {display:flex;align-items:center;gap:12px;margin:0 0 18px}
.msp-unified-footer .msp-footer-brand img {width:47px;height:47px;object-fit:contain}
.msp-unified-footer .msp-footer-brand-name {display:block;font-weight:700;font-size:17px;line-height:1.2;color:#fff}
.msp-unified-footer .msp-footer-brand-sub {display:block;font-size:11px;color:var(--msp-footer-gold);letter-spacing:.1em;margin-top:3px}
.msp-unified-footer .msp-footer-column h2 {color:#fff!important;font-size:15px!important;line-height:1.3!important;font-weight:600!important;margin:0 0 18px!important}
.msp-unified-footer p {
  color:#c1ccc4;font-size:14px;line-height:1.6;margin:0 0 var(--msp-space-4)
}
.msp-unified-footer .msp-footer-links {display:grid;gap:2px}
.msp-unified-footer a,.msp-unified-footer a:visited {
  display:inline-flex;align-items:center;width:fit-content;max-width:100%;
  min-height:var(--msp-control-min);padding:6px 0;line-height:1.5;
  font-size:14px;color:#d6dfd7!important;text-decoration:none!important;
  overflow-wrap:anywhere;
}
.msp-unified-footer a:hover {color:var(--msp-footer-gold)!important;text-decoration:underline!important}
.msp-unified-footer .msp-footer-contact strong {color:#fff}
.msp-unified-footer .msp-footer-contact .msp-footer-tel {
  font-size:18px!important;color:#fff!important;font-weight:700;letter-spacing:.015em
}
.msp-unified-footer .msp-footer-action {
  margin-top:var(--msp-space-4);display:inline-flex!important;
  padding:12px var(--msp-space-4)!important;min-height:var(--msp-cta-min)!important;
  color:#162820!important;background:var(--msp-footer-gold);border-radius:6px;font-weight:700!important
}
.msp-unified-footer .msp-footer-bottom {
  border-top:1px solid #30433a;margin-top:48px;padding:17px 0 21px;
  display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  font-size:12px;color:#9bb2a7
}
.msp-unified-footer .msp-footer-bottom a {
  font-size:12px!important;color:#bbcec3!important;min-height:var(--msp-control-min)
}
.msp-unified-footer .msp-footer-bottom-links {display:flex;align-items:center;gap:var(--msp-space-4);flex-wrap:wrap}
/* Mobile-first grid breakpoints. Keep other legacy breakpoints unchanged
   until every inherited Elementor template is independently refactored. */
@media(min-width:641px) {
  .msp-terrazzo-feature .msp-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:971px) {
  .msp-terrazzo-feature .msp-feature-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1140px){
  .msp-unified-header .msp-desktop-nav > a,.msp-unified-header .msp-desktop-nav > details > summary {font-size:12px;padding:9px 7px}
  .msp-unified-header .msp-brand-name {font-size:14px}
  .msp-unified-header .msp-brand-sub {font-size:9px}
  .msp-unified-header .msp-bar {gap:12px}
}
@media(max-width:1199px){
  .msp-unified-header .msp-desktop-nav,.msp-unified-header .msp-nav-cta {display:none!important}
  .msp-unified-header .msp-mobile-details {display:block;position:relative;margin-left:auto;flex:0 0 auto}
  .msp-unified-header .msp-bar {padding:11px 17px;min-height:70px}
  .msp-unified-header .msp-mobile-menu {
    position:absolute;right:-17px;top:calc(100% + 11px);width:min(440px,100vw);
    max-height:min(70vh,680px);overflow-y:auto;
    border:1px solid #e5e4df;border-top:3px solid #caa65f;
    box-shadow:0 16px 40px rgb(15 26 22 / 18%);z-index:100030;
    -webkit-overflow-scrolling:touch
  }
  .msp-unified-footer .msp-footer-columns {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--msp-space-6)}
  .msp-terrazzo-feature .msp-feature-card img {height:190px!important}
}
@media(max-width:640px){
  .msp-unified-header .msp-brand {flex:1 1 auto;min-width:0}
  .msp-unified-header .msp-brand-copy {min-width:0}
  .msp-unified-header .msp-brand-name {overflow-wrap:anywhere;word-break:normal}
  .msp-unified-header .msp-mobile-details {flex:0 0 auto}

  .msp-unified-header .msp-topline {padding:7px 16px;font-size:10.5px}
  .msp-unified-header .msp-topline .msp-top-service {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .msp-unified-header .msp-bar {padding:9px 16px;min-height:66px}
  .msp-unified-header .msp-brand img {width:41px;height:41px}
  .msp-unified-header .msp-brand-name {font-size:13.5px}
  .msp-unified-header .msp-brand-sub {font-size:9px;letter-spacing:.09em}
  .msp-unified-header .msp-mobile-menu {
    right:0;top:calc(100% + 9px);width:calc(100vw - 32px)
  }
  .msp-unified-header .msp-mobile-details > summary {font-size:12px;padding:8px 10px}
  .msp-terrazzo-feature .msp-feature-card img {height:205px!important}
  .msp-terrazzo-feature .msp-feature-card-body {padding:var(--msp-space-4)}
  .msp-unified-footer {padding:42px 19px 0}
  .msp-unified-footer .msp-footer-columns {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
  .msp-unified-footer :is(.msp-footer-intro,.msp-footer-contact) {grid-column:1 / -1}
  .msp-unified-footer .msp-footer-column h2 {margin-bottom:9px!important}
  .msp-unified-footer .msp-footer-bottom {margin-top:32px;padding:18px 0}
}
@media(max-width:350px) {
  .msp-unified-header .msp-brand-sub {display:none}
  .msp-unified-header .msp-brand-name {font-size:11.5px;max-width:142px}
  .msp-unified-header .msp-brand img {width:35px;height:35px}
  .msp-unified-header .msp-brand {gap:6px}
  .msp-unified-header .msp-bar {gap:8px;padding-inline:12px}
  .msp-unified-header .msp-mobile-menu {right:-12px}
  .msp-unified-header .msp-topline {gap:6px}
}
@media(prefers-reduced-motion:reduce) {
  .msp-unified-header *, .msp-unified-footer *, .msp-terrazzo-feature * {scroll-behavior:auto!important;transition:none!important}
}


/* First-party enquiry form; one set of rules for home and contact pages. */

/* Specificity intentionally outranks inherited Elementor/Astra form styling. */
.ct-form-wrap {
  --msp-form-ink:#25251f; --msp-form-gold:#a98552; --msp-form-line:#dcd6cc;
  --msp-form-paper:#fff; --msp-form-muted:#77736c;
}
.ct-form-wrap .ct-form-title {
  font-family:var(--msp-font-family)!important;
  font-size:clamp(28px,3.1vw,39px)!important;
  line-height:1.2!important;letter-spacing:-.025em!important;
  margin:0 0 12px!important;color:var(--msp-form-ink)!important;
}
.ct-form-wrap .ct-form-sub {
  font-family:var(--msp-font-family)!important;
  font-size:15px!important;line-height:1.75!important;color:#706b63!important;
  margin:0 0 28px!important;max-width:65ch!important;
}
.ct-form-wrap .ct-form-placeholder {
  padding:clamp(22px,4.4vw,46px)!important;
  background:linear-gradient(140deg,#fff 65%,#fdfbf7 100%)!important;
  border:1px solid #e7e1d7!important;border-radius:18px!important;
  box-shadow:0 14px 44px rgba(33,31,25,.055)!important;
}
.ct-form-wrap form#msp-enquiry-form.msp-native-form {
  width:100%!important;max-width:none!important;margin:0!important;
  padding:0!important;background:transparent!important;border:0!important;
  font-family:var(--msp-font-family)!important;
}
.ct-form-wrap #msp-enquiry-form .msp-form-heading {
  display:flex;align-items:center;gap:13px;margin:0 0 28px;
  padding:0 0 19px;border-bottom:1px solid #ece7de;
}
.ct-form-wrap #msp-enquiry-form .msp-form-heading-number {
  display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;
  background:#292921;color:#dbc5a4;border-radius:50%;
  font:700 13px var(--msp-font-family);
}
.ct-form-wrap #msp-enquiry-form .msp-form-heading-title {
  margin:0!important;font:700 16px/1.3 var(--msp-font-family)!important;
  color:#26251f!important;
}
.ct-form-wrap #msp-enquiry-form .msp-form-heading-caption {
  margin:3px 0 0!important;font:400 13px/1.5 var(--msp-font-family)!important;
  color:#817b73!important;
}
.ct-form-wrap #msp-enquiry-form .msp-form-grid {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px 22px!important;margin:0!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field {
  display:block!important;width:100%!important;min-width:0!important;
  margin:0 0 22px!important;position:relative;
}
.ct-form-wrap #msp-enquiry-form .msp-field>label {
  display:block!important;padding:0!important;margin:0 0 10px!important;
  color:#35332d!important;font:700 14px/1.35 var(--msp-font-family)!important;
  letter-spacing:0!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field>label span {color:#aa804c!important}
.ct-form-wrap #msp-enquiry-form .msp-field input:not([type="hidden"]),
.ct-form-wrap #msp-enquiry-form .msp-field select,
.ct-form-wrap #msp-enquiry-form .msp-field textarea {
  box-sizing:border-box!important;display:block!important;width:100%!important;
  min-width:0!important;max-width:100%!important;
  padding:0 17px!important;margin:0!important;
  height:54px!important;min-height:54px!important;
  border:1px solid var(--msp-form-line)!important;border-radius:10px!important;
  background:#fff!important;color:var(--msp-form-ink)!important;
  font:500 15px/1.45 var(--msp-font-family)!important;
  letter-spacing:normal!important;text-indent:0!important;
  box-shadow:0 1px 2px rgba(25,22,18,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
  outline:none!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field select {
  padding-right:45px!important;appearance:none!important;-webkit-appearance:none!important;
  line-height:normal!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23907856' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-position:right 16px center!important;background-repeat:no-repeat!important;
  background-size:16px!important;text-overflow:ellipsis!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field textarea {
  height:auto!important;min-height:158px!important;padding:16px 17px!important;
  resize:vertical!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field :is(input,select,textarea):focus {
  border-color:#b18a56!important;box-shadow:0 0 0 3px rgba(169,133,82,.14)!important;
}
.ct-form-wrap #msp-enquiry-form .msp-field :is(input,textarea)::placeholder {
  color:#99948b!important;opacity:1!important;font-weight:400!important;
}
.ct-form-wrap #msp-enquiry-form .msp-captcha-slot {
  display:block!important;min-height:65px!important;margin:6px 0 17px!important;
}
.ct-form-wrap #msp-enquiry-form .msp-form-bottom {
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid #eee8df;
}
.ct-form-wrap #msp-enquiry-form .msp-form-privacy {
  margin:0!important;max-width:320px!important;
  color:#77716a!important;font:400 12px/1.6 var(--msp-font-family)!important;
}
.ct-form-wrap #msp-enquiry-form button.msp-submit {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:13px!important;width:auto!important;min-width:0!important;
  min-height:55px!important;height:auto!important;
  margin:0!important;padding:17px 23px!important;
  border:1px solid #292921!important;border-radius:9px!important;
  color:#fff!important;background:#292921!important;
  font:700 14px/1.2 var(--msp-font-family)!important;
  box-shadow:0 8px 20px rgba(26,26,22,.13)!important;
  cursor:pointer!important;transition:transform .15s ease,background .15s ease!important;
}
.ct-form-wrap #msp-enquiry-form button.msp-submit:hover {
  background:#4c4030!important;transform:translateY(-1px)!important;
}
.ct-form-wrap #msp-enquiry-form button.msp-submit:disabled {
  opacity:.65!important;cursor:wait!important;transform:none!important;
}
.ct-form-wrap #msp-enquiry-form .migration-form-result {
  width:100%!important;box-sizing:border-box!important;
  margin:20px 0 0!important;padding:14px 18px!important;
  border-radius:9px!important;font:600 14px/1.65 var(--msp-font-family)!important;
}
.ct-form-wrap #msp-enquiry-form .migration-form-result[hidden] {display:none!important}
.ct-form-wrap #msp-enquiry-form .msp-form-honeypot {position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:720px) {
  .ct-form-wrap .ct-form-placeholder {padding:22px 18px!important;border-radius:13px!important}
  .ct-form-wrap #msp-enquiry-form .msp-form-grid {grid-template-columns:1fr!important;gap:0!important}
  .ct-form-wrap #msp-enquiry-form .msp-field {margin-bottom:19px!important}
  .ct-form-wrap #msp-enquiry-form .msp-form-bottom {flex-direction:column;align-items:stretch!important;gap:18px}
  .ct-form-wrap #msp-enquiry-form .msp-form-privacy {max-width:none!important}
  .ct-form-wrap #msp-enquiry-form button.msp-submit {width:100%!important;min-width:0!important}
  .ct-form-wrap #msp-enquiry-form .msp-form-heading {margin-bottom:21px}
}



/* Contact rows use explicit tracks, so email wrapping cannot move the icons. */
.msp-unified-footer .msp-footer-contact-list {display:grid;gap:8px;margin:16px 0 0;min-width:0}
.msp-unified-footer .msp-footer-contact-list .msp-footer-contact-item {
  display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;
  width:100%;max-width:100%;min-width:0;min-height:44px;padding:0;margin:0;
}
.msp-unified-footer .msp-footer-contact-icon {
  display:grid;place-items:center;width:32px;height:32px;color:var(--msp-footer-gold);
  border:1px solid #52604b;border-radius:6px;
}
.msp-unified-footer .msp-footer-contact-icon svg {display:block;width:18px;height:18px}
.msp-unified-footer .msp-footer-contact-text {min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.6;font-weight:400}
.msp-unified-footer .msp-footer-tel .msp-footer-contact-text {font-size:17px;font-weight:600;color:#fff}
.msp-unified-footer .msp-footer-contact .msp-footer-email {font-size:13px}
.msp-unified-footer .msp-footer-hours {color:#c1ccc4}
.msp-unified-footer .msp-footer-action {font-size:14px!important;line-height:1.5!important;text-align:center;justify-content:center}
@media(max-width:640px){
  .msp-unified-footer .msp-footer-action {width:100%}
  .msp-unified-footer .msp-footer-contact {padding-bottom:28px;border-bottom:1px solid #30433a}
  .msp-unified-footer .msp-footer-bottom {gap:12px}
  .msp-unified-footer .msp-footer-bottom-links {gap:4px 20px}
}
