.elementor-kit-4{--e-global-color-primary:#23232b;--e-global-color-secondary:#3a3943;--e-global-color-text:#64636e;--e-global-color-accent:#c8762a;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;color:#64636e;font-family:"Inter", Sans-serif;}.elementor-kit-4 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 *//* ============================================================ MCR global */
:root{
  --mcr-ink:#23232b; --mcr-jet:#15151b; --mcr-charcoal:#3a3943;
  --mcr-steel:#5b7e9b; --mcr-steel-lt:#8fb0c8; --mcr-amber:#c8762a;
  --mcr-concrete:#f4f3f1; --mcr-line:#dedcd8; --mcr-muted:#64636e;
  --mcr-wrap:1240px;
}
body{ -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body a{ transition:color .18s ease, background-color .18s ease,
         border-color .18s ease, opacity .18s ease; }
.mcr-i{ width:1em; height:1em; display:inline-block; vertical-align:-0.12em;
        flex:none; }
img{ max-width:100%; height:auto; }
/* stop centred headings orphaning their last word */
.elementor-widget-heading h1, .elementor-widget-heading h2,
.elementor-widget-heading h3, .elementor-widget-heading .elementor-heading-title{
  text-wrap:balance; }

/* ------------------------------------------------------- utility bar */
.mcr-util{ display:flex; align-items:center; justify-content:space-between;
  gap:16px 28px; flex-wrap:wrap; font-size:12.5px;
  color:rgba(255,255,255,.60); }
.mcr-util-l, .mcr-util-r{ display:flex; align-items:center; gap:10px 22px;
  flex-wrap:wrap; }
.mcr-util span, .mcr-util a{ display:inline-flex; align-items:center; gap:7px;
  color:inherit; white-space:nowrap; }
.mcr-util a:hover{ color:#fff; }
.mcr-util .mcr-i{ width:13px; height:13px; color:var(--mcr-amber); }
.mcr-util-r a[aria-label]{ color:rgba(255,255,255,.5); }
@media(max-width:1024px){
  .elementor-element-hdutil{ display:none!important; }
}

/* ------------------------------------------------------------- header */
.elementor-element-hdbar{ position:sticky; top:0; z-index:999;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 1px 0 rgba(0,0,0,.25); }
.admin-bar .elementor-element-hdbar{ top:32px; }
@media(max-width:782px){ .admin-bar .elementor-element-hdbar{ top:46px; } }
.mcr-logo{ display:block; padding:16px 0; }
.mcr-logo img{ height:38px; width:auto; display:block; }
.mcr-hdcta{ display:flex; align-items:center; gap:16px; justify-content:flex-end; }
.mcr-hdphone{ display:inline-flex; align-items:center; gap:7px;
  color:rgba(255,255,255,.80); font-family:'Inter',sans-serif;
  font-size:13.5px; font-weight:600; letter-spacing:.3px; white-space:nowrap; }
.mcr-hdphone:hover{ color:#fff; }
.mcr-hdphone .mcr-i{ color:var(--mcr-amber); width:14px; height:14px; }
.mcr-hdbtn{ display:inline-block; background:var(--mcr-amber); color:#fff;
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
  text-transform:uppercase; letter-spacing:1.2px; padding:13px 20px;
  border-radius:2px; white-space:nowrap; }
.mcr-hdbtn:hover{ background:#fff; color:var(--mcr-ink); }
@media(max-width:1200px){ .mcr-hdphone span{ display:none; } }
@media(max-width:1024px){
  .mcr-logo img{ height:31px; }
  /* the CTA column is full width below the desktop breakpoint, which would
     push the burger onto its own row and double the header height. */
  .elementor-element-hdcta{ display:none!important; }
}
/* the burger sits next to the phone on tablet and down */
.elementor-element-hdbar .elementor-menu-toggle{ color:#fff; }
.elementor-element-hdbar .elementor-nav-menu--dropdown{ background:var(--mcr-ink);
  border-top:1px solid rgba(255,255,255,.1); }
.elementor-element-hdbar .elementor-nav-menu--dropdown a{
  border-bottom:1px solid rgba(255,255,255,.06); }

/* ------------------------------------------------------------- heroes */
.elementor-element-hh, .elementor-element-abhero, .elementor-element-constrhero, .elementor-element-cthero, .elementor-element-demolihero, .elementor-element-develohero, .elementor-element-generahero, .elementor-element-mkhero, .elementor-element-pjhero, .elementor-element-preconhero, .elementor-element-svhero, .elementor-element-tshero, .elementor-element-abcta, .elementor-element-constrcta, .elementor-element-cta, .elementor-element-ctcta, .elementor-element-demolicta, .elementor-element-develocta, .elementor-element-generacta, .elementor-element-mkcta, .elementor-element-pjcta, .elementor-element-preconcta, .elementor-element-svcta, .elementor-element-tscta{ position:relative; isolation:isolate; }
.elementor-element-hh::before, .elementor-element-abhero::before, .elementor-element-constrhero::before, .elementor-element-cthero::before, .elementor-element-demolihero::before, .elementor-element-develohero::before, .elementor-element-generahero::before, .elementor-element-mkhero::before, .elementor-element-pjhero::before, .elementor-element-preconhero::before, .elementor-element-svhero::before, .elementor-element-tshero::before, .elementor-element-abcta::before, .elementor-element-constrcta::before, .elementor-element-cta::before, .elementor-element-ctcta::before, .elementor-element-demolicta::before, .elementor-element-develocta::before, .elementor-element-generacta::before, .elementor-element-mkcta::before, .elementor-element-pjcta::before, .elementor-element-preconcta::before, .elementor-element-svcta::before, .elementor-element-tscta::before{
  content:''; position:absolute; inset:0; z-index:0; }
.elementor-element-hh::before{ background:
  linear-gradient(104deg, rgba(21,21,27,.93) 0%, rgba(21,21,27,.80) 46%,
                  rgba(21,21,27,.38) 78%, rgba(21,21,27,.22) 100%); }
.elementor-element-abhero::before,
.elementor-element-constrhero::before,
.elementor-element-cthero::before,
.elementor-element-demolihero::before,
.elementor-element-develohero::before,
.elementor-element-generahero::before,
.elementor-element-mkhero::before,
.elementor-element-pjhero::before,
.elementor-element-preconhero::before,
.elementor-element-svhero::before,
.elementor-element-tshero::before{ background:
  linear-gradient(100deg, rgba(21,21,27,.92) 0%, rgba(21,21,27,.76) 52%,
                  rgba(21,21,27,.46) 100%); }
.elementor-element-abcta::before,
.elementor-element-constrcta::before,
.elementor-element-cta::before,
.elementor-element-ctcta::before,
.elementor-element-demolicta::before,
.elementor-element-develocta::before,
.elementor-element-generacta::before,
.elementor-element-mkcta::before,
.elementor-element-pjcta::before,
.elementor-element-preconcta::before,
.elementor-element-svcta::before,
.elementor-element-tscta::before{ background:rgba(21,21,27,.86); }
.elementor-element-hh > .e-con-inner, .elementor-element-abhero > .e-con-inner, .elementor-element-constrhero > .e-con-inner, .elementor-element-cthero > .e-con-inner, .elementor-element-demolihero > .e-con-inner, .elementor-element-develohero > .e-con-inner, .elementor-element-generahero > .e-con-inner, .elementor-element-mkhero > .e-con-inner, .elementor-element-pjhero > .e-con-inner, .elementor-element-preconhero > .e-con-inner, .elementor-element-svhero > .e-con-inner, .elementor-element-tshero > .e-con-inner, .elementor-element-abcta > .e-con-inner, .elementor-element-constrcta > .e-con-inner, .elementor-element-cta > .e-con-inner, .elementor-element-ctcta > .e-con-inner, .elementor-element-demolicta > .e-con-inner, .elementor-element-develocta > .e-con-inner, .elementor-element-generacta > .e-con-inner, .elementor-element-mkcta > .e-con-inner, .elementor-element-pjcta > .e-con-inner, .elementor-element-preconcta > .e-con-inner, .elementor-element-svcta > .e-con-inner, .elementor-element-tscta > .e-con-inner{
  position:relative; z-index:1; }
/* Elementor blanks container backgrounds past the 4th section, so restate
   the photo at higher specificity for any hero that lands deep in a page. */
body .elementor .e-con.elementor-element-hh, body .elementor .e-con.elementor-element-abhero, body .elementor .e-con.elementor-element-constrhero, body .elementor .e-con.elementor-element-cthero, body .elementor .e-con.elementor-element-demolihero, body .elementor .e-con.elementor-element-develohero, body .elementor .e-con.elementor-element-generahero, body .elementor .e-con.elementor-element-mkhero, body .elementor .e-con.elementor-element-pjhero, body .elementor .e-con.elementor-element-preconhero, body .elementor .e-con.elementor-element-svhero, body .elementor .e-con.elementor-element-tshero,
body .elementor .e-con.elementor-element-abcta,
body .elementor .e-con.elementor-element-constrcta,
body .elementor .e-con.elementor-element-cta,
body .elementor .e-con.elementor-element-ctcta,
body .elementor .e-con.elementor-element-demolicta,
body .elementor .e-con.elementor-element-develocta,
body .elementor .e-con.elementor-element-generacta,
body .elementor .e-con.elementor-element-mkcta,
body .elementor .e-con.elementor-element-pjcta,
body .elementor .e-con.elementor-element-preconcta,
body .elementor .e-con.elementor-element-svcta,
body .elementor .e-con.elementor-element-tscta{ background-size:cover;
  background-position:center center; background-repeat:no-repeat; }
.elementor-element-hh{ border-bottom:4px solid var(--mcr-amber); }

/* ------------------------------------------------------- capability strip */
.elementor-element-cap{ border-bottom:1px solid rgba(255,255,255,.08); }
.mcr-capicon{ width:40px; height:40px; display:flex; align-items:center;
  justify-content:center; border:1px solid rgba(255,255,255,.18);
  border-radius:2px; margin-bottom:16px; color:var(--mcr-steel-lt); }
.mcr-capicon .mcr-i{ width:19px; height:19px; }

/* -------------------------------------------------------------- cards */
/* Card columns stretch, but an Elementor widget inside one does not grow by
   itself, so each card would float vertically centred at its own height. */
.mcr-cardw{ flex:1 1 auto; align-self:stretch; width:100%; }
.mcr-cardw > .elementor-widget-container{ height:100%; }

/* ---------------------------------------------------------- image stacks */
.mcr-stack{ position:relative; padding-bottom:58px; padding-right:38px; }
.mcr-stack img{ display:block; width:100%; border-radius:3px;
  box-shadow:0 24px 60px -24px rgba(21,21,27,.5); }
.mcr-stack .mcr-stack-b{ position:absolute; right:0; bottom:0;
  width:52%; border:6px solid #fff; }
.mcr-stack-tag{ position:absolute; left:0; bottom:16px;
  background:var(--mcr-ink); color:#fff; padding:14px 20px; border-radius:2px;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:17px;
  letter-spacing:-.3px; line-height:1.2; max-width:44%;
  border-left:3px solid var(--mcr-amber); }
.mcr-stack-tag span{ display:block; font-family:'Inter',sans-serif;
  font-size:10.5px; font-weight:600; text-transform:uppercase;
  letter-spacing:2px; color:var(--mcr-steel-lt); margin-bottom:5px; }
@media(max-width:1024px){
  .mcr-stack{ padding-bottom:40px; padding-right:0; margin-top:34px; }
  .mcr-stack .mcr-stack-b{ width:44%; }
}
@media(max-width:600px){ .mcr-stack-tag{ max-width:58%; font-size:14px; } }

.mcr-frame{ position:relative; }
.mcr-frame img{ display:block; width:100%; border-radius:3px;
  box-shadow:0 22px 56px -26px rgba(21,21,27,.46); }
.mcr-frame::after{ content:''; position:absolute; left:-14px; bottom:-14px;
  width:92px; height:92px; border-left:3px solid var(--mcr-amber);
  border-bottom:3px solid var(--mcr-amber); pointer-events:none; }
@media(max-width:1024px){ .mcr-frame{ margin-top:34px; } }

/* ------------------------------------------------------------ service cards */
.mcr-svc{ display:flex; flex-direction:column; height:100%; background:#fff;
  border:1px solid var(--mcr-line); border-radius:3px; overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.mcr-svc:hover{ transform:translateY(-4px); border-color:transparent;
  box-shadow:0 26px 54px -26px rgba(21,21,27,.42); }
.mcr-svc-img{ display:block; aspect-ratio:16/10; overflow:hidden;
  background:var(--mcr-mist,#e9e8e6); }
.mcr-svc-img img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s ease; }
.mcr-svc:hover .mcr-svc-img img{ transform:scale(1.05); }
.mcr-svc-body{ display:flex; flex-direction:column; flex:1 1 auto;
  padding:28px 26px 26px; position:relative; }
.mcr-svc-icon{ position:absolute; top:-21px; left:26px; width:42px; height:42px;
  background:var(--mcr-ink); color:#fff; display:flex; align-items:center;
  justify-content:center; border-radius:2px; }
.mcr-svc-icon .mcr-i{ width:20px; height:20px; }
.mcr-svc:hover .mcr-svc-icon{ background:var(--mcr-amber); }
.mcr-svc-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:22px; letter-spacing:-.4px; color:var(--mcr-ink); margin:10px 0 10px; }
.mcr-svc-p{ display:block; font-size:15.5px; line-height:1.68;
  color:var(--mcr-muted); flex:1 1 auto; }
.mcr-svc-more{ display:inline-flex; align-items:center; gap:8px;
  margin-top:20px; font-size:11.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:1.6px; color:var(--mcr-steel); }
.mcr-svc-more .mcr-i{ width:14px; height:14px; transition:transform .2s ease; }
.mcr-svc:hover .mcr-svc-more{ color:var(--mcr-amber); }
.mcr-svc:hover .mcr-svc-more .mcr-i{ transform:translateX(4px); }

/* ---------------------------------------------------------- market tiles */
.mcr-mkt{ display:flex; flex-direction:column; height:100%;
  padding:30px 28px; background:#fff; border:1px solid var(--mcr-line);
  border-radius:3px; border-top:3px solid var(--mcr-ink);
  transition:border-top-color .2s ease, box-shadow .22s ease,
             transform .22s ease; }
.mcr-mkt:hover{ border-top-color:var(--mcr-amber); transform:translateY(-3px);
  box-shadow:0 22px 48px -26px rgba(21,21,27,.36); }
.mcr-mkt-icon{ color:var(--mcr-steel); margin-bottom:16px; }
.mcr-mkt-icon .mcr-i{ width:30px; height:30px; stroke-width:1.4; }
.mcr-mkt-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:20px; letter-spacing:-.3px; color:var(--mcr-ink); margin-bottom:10px; }
.mcr-mkt-p{ display:block; font-size:15.5px; line-height:1.68;
  color:var(--mcr-muted); }
.mcr-mkd-icon{ display:inline-flex; width:52px; height:52px;
  align-items:center; justify-content:center; border-radius:2px;
  background:var(--mcr-ink); color:#fff; margin-bottom:20px; }
.mcr-mkd-icon .mcr-i{ width:25px; height:25px; stroke-width:1.5; }

/* ------------------------------------------------------------ brand wall */
.mcr-brands{ list-style:none; margin:0; padding:0; display:flex;
  flex-wrap:wrap; align-items:center; justify-content:center;
  gap:18px 46px; }
.mcr-brands li{ font-family:'Archivo',sans-serif; font-weight:700;
  font-size:21px; letter-spacing:-.4px; color:rgba(255,255,255,.82);
  position:relative; }
.mcr-brands li + li::before{ content:''; position:absolute; left:-24px;
  top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%;
  background:var(--mcr-amber); opacity:.8; }
@media(max-width:700px){
  .mcr-brands{ gap:12px 0; flex-direction:column; }
  .mcr-brands li{ font-size:17px; }
  .mcr-brands li + li::before{ display:none; }
}

/* ------------------------------------------------------------ project cards */
.mcr-proj{ position:relative; display:block; height:100%; min-height:330px;
  border-radius:3px; overflow:hidden; }
.mcr-proj img{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform .6s ease; }
.mcr-proj:hover img{ transform:scale(1.045); }
.mcr-proj-veil{ position:absolute; inset:0;
  background:linear-gradient(to top, rgba(21,21,27,.90) 0%,
             rgba(21,21,27,.44) 46%, rgba(21,21,27,.06) 100%); }
.mcr-proj-body{ position:absolute; left:0; right:0; bottom:0;
  padding:28px 28px 26px; display:block; }
.mcr-proj-m{ display:block; font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:2.2px; color:var(--mcr-steel-lt);
  margin-bottom:9px; }
.mcr-proj-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:26px; letter-spacing:-.6px; color:#fff; line-height:1.18; }
.mcr-proj-p{ display:block; font-size:14.5px; line-height:1.62;
  color:rgba(255,255,255,.72); margin-top:10px; max-width:46ch;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .32s ease, opacity .32s ease, margin-top .32s ease; }
.mcr-proj:hover .mcr-proj-p{ max-height:120px; opacity:1; }
@media(max-width:1024px){
  .mcr-proj{ min-height:280px; }
  .mcr-proj-p{ max-height:120px; opacity:1; }
}

/* --------------------------------------------------------------- process */
.mcr-step{ position:relative; padding-top:22px;
  border-top:2px solid var(--mcr-line); }
.mcr-step::before{ content:''; position:absolute; top:-2px; left:0; width:44px;
  height:2px; background:var(--mcr-amber); }
.mcr-step-n{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:13px; letter-spacing:2px; color:var(--mcr-steel);
  margin-bottom:12px; }
.mcr-step-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:21px; letter-spacing:-.4px; color:var(--mcr-ink); margin-bottom:10px; }
.mcr-step-p{ display:block; font-size:15.5px; line-height:1.7;
  color:var(--mcr-muted); }

/* ----------------------------------------------------------- testimonials */
.mcr-quote{ display:flex; flex-direction:column; height:100%; margin:0;
  padding:34px 32px; background:#fff; border:1px solid var(--mcr-line);
  border-radius:3px; }
.mcr-quote-stars{ display:flex; gap:4px; color:var(--mcr-amber);
  margin-bottom:16px; }
.mcr-quote-stars .mcr-i{ width:16px; height:16px; fill:currentColor;
  stroke-width:1; }
.mcr-quote-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:19px; letter-spacing:-.3px; color:var(--mcr-ink); margin-bottom:14px; }
.mcr-quote blockquote{ margin:0; padding:0; border:0; flex:1 1 auto;
  font-size:15.5px; line-height:1.76; color:var(--mcr-muted); }
.mcr-quote blockquote::before{ content:'“'; }
.mcr-quote blockquote::after{ content:'”'; }
.mcr-quote figcaption{ margin-top:20px; padding-top:16px;
  border-top:1px solid var(--mcr-line); font-size:11.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:1.8px; color:var(--mcr-steel); }

/* ------------------------------------------------------------ team cards */
.mcr-team{ display:flex; flex-direction:column; height:100%; background:#fff;
  border:1px solid var(--mcr-line); border-radius:3px; overflow:hidden;
  transition:box-shadow .22s ease, transform .22s ease; }
.mcr-team:hover{ transform:translateY(-3px);
  box-shadow:0 24px 50px -28px rgba(21,21,27,.4); }
.mcr-team-img{ display:block; aspect-ratio:4/5; overflow:hidden;
  background:var(--mcr-concrete); }
.mcr-team-img img{ width:100%; height:100%; object-fit:cover;
  object-position:center 22%; display:block; }
.mcr-team-mono{ display:flex; align-items:center; justify-content:center;
  background:var(--mcr-ink); }
.mcr-team-mono span{ font-family:'Archivo',sans-serif; font-weight:700;
  font-size:52px; letter-spacing:1px; color:var(--mcr-steel-lt); }
.mcr-team-n{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:20px; letter-spacing:-.3px; color:var(--mcr-ink);
  padding:22px 24px 6px; }
.mcr-team-r{ display:block; font-size:13.5px; line-height:1.6;
  color:var(--mcr-steel); padding:0 24px 24px; font-weight:500; }

/* --------------------------------------------------------------- values */
.mcr-val{ display:flex; flex-direction:column; height:100%; padding:28px 26px;
  background:var(--mcr-concrete); border-radius:3px;
  border-left:3px solid var(--mcr-steel); }
.mcr-val-icon{ color:var(--mcr-steel); margin-bottom:14px; }
.mcr-val-icon .mcr-i{ width:26px; height:26px; stroke-width:1.5; }
.mcr-val-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:19px; letter-spacing:-.3px; color:var(--mcr-ink); margin-bottom:9px; }
.mcr-val-p{ display:block; font-size:15px; line-height:1.68;
  color:var(--mcr-muted); }

/* ------------------------------------------------------------- divisions */
.mcr-div{ display:flex; flex-direction:column; height:100%; padding:34px 30px;
  background:#fff; border:1px solid var(--mcr-line); border-radius:3px;
  border-top:3px solid var(--mcr-amber); }
.mcr-div-icon{ color:var(--mcr-ink); margin-bottom:16px; }
.mcr-div-icon .mcr-i{ width:30px; height:30px; stroke-width:1.4; }
.mcr-div-t{ display:block; font-family:'Archivo',sans-serif; font-weight:700;
  font-size:23px; letter-spacing:-.4px; color:var(--mcr-ink); margin-bottom:11px; }
.mcr-div-p{ display:block; font-size:15.5px; line-height:1.7;
  color:var(--mcr-muted); }

/* ------------------------------------------------------------- MS sponsor */
.mcr-ms{ display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:10px; padding:38px 32px; border-radius:3px;
  background:var(--mcr-concrete); border:1px dashed var(--mcr-line); }
.mcr-ms-eb{ font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:2.6px; color:var(--mcr-steel); }
.mcr-ms strong{ font-family:'Archivo',sans-serif; font-weight:700;
  font-size:25px; letter-spacing:-.5px; color:var(--mcr-ink); }
.mcr-ms span:last-child{ font-size:15.5px; color:var(--mcr-muted);
  max-width:46ch; }

/* ------------------------------------------------------------ contact */
.mcr-contact{ list-style:none; margin:0; padding:0; display:flex;
  flex-direction:column; gap:20px; }
.mcr-contact li{ display:flex; gap:15px; align-items:flex-start; }
.mcr-contact .mcr-i{ width:19px; height:19px; color:var(--mcr-amber);
  margin-top:3px; }
.mcr-contact span{ font-size:16px; line-height:1.6; color:var(--mcr-ink); }
.mcr-contact strong{ display:block; font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:2px; color:var(--mcr-steel);
  margin-bottom:3px; }
.mcr-contact a{ color:var(--mcr-ink); }
.mcr-contact a:hover{ color:var(--mcr-amber); }
/* an iframe falls back to its intrinsic 300px when the width attribute does
   not survive the editor, so size it here instead. */
.mcr-map{ border-radius:3px; overflow:hidden; border:1px solid var(--mcr-line);
  line-height:0; }
.mcr-map iframe{ display:block; width:100%; height:280px; border:0; }
.elementor-element-ctbcard{ box-shadow:0 26px 60px -34px rgba(21,21,27,.4); }
/* house standard: no CAPTCHA, an invisible honeypot instead */
.elementor-field-type-honeypot{ position:absolute!important; left:-9999px!important;
  height:0!important; width:0!important; overflow:hidden!important; }
.elementor-field-group > label{ margin-bottom:7px!important; }
.elementor-field-textual{ padding:13px 14px!important; }
.elementor-field-textual:focus{ border-color:var(--mcr-steel)!important;
  box-shadow:0 0 0 3px rgba(91,126,155,.16)!important; }

/* --------------------------------------------------------------- gallery */
.elementor-gallery__titles-container{ margin-bottom:30px!important;
  gap:4px; flex-wrap:wrap; }
.elementor-gallery-title{ padding:9px 16px!important;
  border:1px solid var(--mcr-line); border-radius:2px; }
.elementor-gallery-title--active{ background:var(--mcr-ink);
  border-color:var(--mcr-ink); color:#fff!important; }
.elementor-gallery-item__overlay{ backdrop-filter:saturate(1.1); }

/* ---------------------------------------------------------------- footer */
.elementor-element-ftmain h3{ font-family:'Archivo',sans-serif; font-weight:700;
  font-size:13px; text-transform:uppercase; letter-spacing:2.2px;
  color:#fff; margin:0 0 20px; padding-bottom:12px; position:relative; }
.elementor-element-ftmain h3::after{ content:''; position:absolute; left:0; bottom:0;
  width:30px; height:2px; background:var(--mcr-amber); }
.mcr-fbrand img{ width:188px; height:auto; display:block; margin-bottom:22px; }
.mcr-fbrand p{ font-size:14.5px; line-height:1.75;
  color:rgba(255,255,255,.62); max-width:38ch; margin:0 0 22px; }
.mcr-fsocial{ display:flex; gap:10px; }
.mcr-fsocial a{ width:38px; height:38px; display:flex; align-items:center;
  justify-content:center; border:1px solid rgba(255,255,255,.2);
  border-radius:2px; color:rgba(255,255,255,.8); }
.mcr-fsocial a:hover{ background:var(--mcr-amber); border-color:var(--mcr-amber);
  color:#fff; }
.mcr-fsocial .mcr-i{ width:17px; height:17px; }
.mcr-flinks, .mcr-fcontact{ list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:12px; }
.mcr-flinks a{ font-size:14.5px; color:rgba(255,255,255,.66); }
.mcr-flinks a:hover{ color:var(--mcr-amber); }
.mcr-fcontact li{ display:flex; gap:12px; align-items:flex-start;
  font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.66); }
.mcr-fcontact a{ color:rgba(255,255,255,.66); word-break:break-word; }
.mcr-fcontact a:hover{ color:var(--mcr-amber); }
.mcr-fcontact .mcr-i{ width:16px; height:16px; margin-top:3px;
  color:var(--mcr-amber); flex:none; }
.mcr-fbtn{ display:inline-block; margin-top:24px; background:var(--mcr-amber);
  color:#fff; font-size:11.5px; font-weight:600; text-transform:uppercase;
  letter-spacing:1.4px; padding:14px 22px; border-radius:2px; }
.mcr-fbtn:hover{ background:#fff; color:var(--mcr-ink); }
.mcr-fbar{ display:flex; flex-wrap:wrap; gap:10px 24px;
  align-items:center; justify-content:space-between;
  font-size:12.5px; color:rgba(255,255,255,.44); }
.mcr-fbar-r{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.mcr-fbar a{ color:rgba(255,255,255,.56); }
.mcr-fbar a:hover{ color:var(--mcr-amber); }
@media(max-width:768px){
  .mcr-fbar, .mcr-fbar-r{ justify-content:flex-start; }
}

/* --------------------------------------------------------------- motion */
@media(prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation:none!important;
    transition-duration:.01ms!important; }
}/* End custom CSS */