/* Man With A Van Newcastle — luxury editorial stylesheet.
   Shipped as the mu-plugin mwav-editorial-styles.php and as theme-custom.css.
   Every widget also carries its own Elementor styling; this file adds the
   editorial details, the mega menus, the gap-aware column system and the 18px floor. */

:root{
  --mw-ink:#151E26; --mw-navy:#0B4C72; --mw-navy-dark:#062A40; --mw-midnight:#041E2E;
  --mw-green:#38761A; --mw-green-deco:#55B027; --mw-green-dark:#8FD463; --mw-brass:#C8A96A;
  --mw-paper:#F7F4EE; --mw-stone:#EFE9DF; --mw-line:#DED8CE; --mw-muted:#5D6670; --mw-on-dark:#E8EEF2;
  --mw-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --mw-sans:"Lato","Helvetica Neue",Arial,sans-serif;
  --mw-shadow:0 30px 70px -30px rgba(4,30,46,.35);
  --mw-ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--mw-sans);font-size:18px;line-height:1.7;color:var(--mw-ink);background:#fff;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body p,body li,body td,body input,body select,body textarea,body button{font-size:18px}
.elementor-widget-heading .elementor-heading-title{text-wrap:balance}
.elementor-widget-heading .elementor-heading-title a{color:inherit;font-size:inherit;line-height:inherit;text-decoration:none}
.elementor-widget-heading .elementor-heading-title a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.elementor-widget-text-editor p{margin:0 0 1em}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
a{color:var(--mw-green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--mw-brass);outline-offset:3px}
::selection{background:var(--mw-navy);color:#fff}

/* ---------- editorial type */
.elementor-heading-title em{font-style:italic;font-weight:400;color:var(--mw-green)}
.mw-dark .elementor-heading-title em,.mw-hero .elementor-heading-title em{color:var(--mw-brass)}
.mw-kicker .elementor-heading-title{display:flex;align-items:center;gap:16px}
.mw-kicker .elementor-heading-title::before{content:"";width:40px;height:1px;background:currentColor;flex:0 0 40px}
.mw-kicker.mw-center .elementor-heading-title{justify-content:center}
.mw-kicker.mw-center .elementor-heading-title::after{content:"";width:40px;height:1px;background:currentColor;flex:0 0 40px}
.mw-measure{max-width:780px}
.mw-center-block{margin-left:auto!important;margin-right:auto!important;text-align:center}
.mw-lede{max-width:680px}
.mw-center-block .mw-lede{margin:0 auto}
.mw-muted,.mw-muted p{color:var(--mw-muted)}
.mw-sign .elementor-heading-title{font-size:24px!important}
.mw-pull .elementor-heading-title{border-left:1px solid var(--mw-brass);padding-left:28px}

/* ---------- gap-aware column system
   Each row: mw-c{n} = columns per row, mw-g{n} = gap in px (sets --mw-g).
   Change a row's gap in Elementor -> change its mw-g class to match. */
.mw-row{--mw-g:30px;flex-direction:row!important;flex-wrap:wrap!important;
  column-gap:var(--mw-g)!important;row-gap:var(--mw-g)!important}
.mw-g0{--mw-g:0px}.mw-g16{--mw-g:16px}.mw-g20{--mw-g:20px}.mw-g24{--mw-g:24px}.mw-g26{--mw-g:26px}.mw-g28{--mw-g:28px}
.mw-g30{--mw-g:30px}.mw-g36{--mw-g:36px}.mw-g40{--mw-g:40px}.mw-g48{--mw-g:48px}.mw-g60{--mw-g:60px}.mw-g64{--mw-g:64px}
.mw-g80{--mw-g:80px}.mw-g96{--mw-g:96px}
.mw-c2>.e-con,.mw-c2>.e-con-inner>.e-con{--width:calc(50% - var(--mw-g) / 2 - .5px)!important}
.mw-c3>.e-con,.mw-c3>.e-con-inner>.e-con{--width:calc(33.3333% - var(--mw-g) * 2 / 3 - .5px)!important}
.mw-c4>.e-con,.mw-c4>.e-con-inner>.e-con{--width:calc(25% - var(--mw-g) * 3 / 4 - .5px)!important}
/* asymmetric splits: 60/40 and 40/60 */
.mw-s64>.e-con:first-child{--width:calc(58% - var(--mw-g) / 2 - .5px)!important}
.mw-s64>.e-con:last-child{--width:calc(42% - var(--mw-g) / 2 - .5px)!important}
.mw-s46>.e-con:first-child{--width:calc(42% - var(--mw-g) / 2 - .5px)!important}
.mw-s46>.e-con:last-child{--width:calc(58% - var(--mw-g) / 2 - .5px)!important}
.mw-row>.e-con,.mw-row>.e-con-inner>.e-con{width:var(--width)!important;max-width:100%;flex-grow:0;flex-shrink:0}
@media (max-width:1024px){
  .mw-g60,.mw-g64{--mw-g:40px}.mw-g80,.mw-g96{--mw-g:56px}
  .mw-c4>.e-con,.mw-c4>.e-con-inner>.e-con{--width:calc(50% - var(--mw-g) / 2 - .5px)!important}
  .mw-stack-t>.e-con,.mw-stack-t>.e-con-inner>.e-con,.mw-stack-t.mw-s64>.e-con,.mw-stack-t.mw-s46>.e-con{--width:100%!important}
}
@media (max-width:767px){
  .mw-g40,.mw-g48,.mw-g60,.mw-g64,.mw-g80,.mw-g96{--mw-g:40px}
  .mw-row>.e-con,.mw-row>.e-con-inner>.e-con{--width:100%!important}
}

/* ---------- sections */
.mw-sec{position:relative}
.mw-paper{background-color:var(--mw-paper)}
.mw-dark{background-color:var(--mw-midnight);color:var(--mw-on-dark)}
.mw-dark .elementor-widget-text-editor,.mw-dark p{color:var(--mw-on-dark)}
.mw-dark a{color:var(--mw-on-dark)}
.mw-hero{position:relative;overflow:hidden}
.mw-hero .elementor-widget-text-editor p{color:#fff}
.mw-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--mw-brass),transparent);opacity:.6;pointer-events:none}
.mw-crumbs .elementor-heading-title a{color:var(--mw-brass);text-decoration:none}
.mw-crumbs .elementor-heading-title a:hover{text-decoration:underline}
.mw-hero-ticks .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:10px 28px}
.mw-hero-ticks .elementor-icon-list-item{margin:0!important}

/* glass quote card in the home hero */
.mw-glass{border:1px solid rgba(200,169,106,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--mw-shadow)}
.mw-glass .elementor-field-label{letter-spacing:.14em}

/* glance strip under inner heroes */
.mw-glance-strip{border-top:1px solid rgba(200,169,106,.35);padding-top:28px!important}
.mw-glance-strip>.e-con{border-left:1px solid rgba(255,255,255,.16);padding-left:24px!important}
.mw-glance-strip>.e-con:first-child{border-left:0;padding-left:0!important}
@media (max-width:1024px){.mw-glance-strip>.e-con:nth-child(3){border-left:0;padding-left:0!important}}
@media (max-width:767px){.mw-glance-strip>.e-con{border-left:0;padding-left:0!important}}

/* floating facts card */
.mw-float-wrap{background:linear-gradient(180deg,transparent 0,transparent 1px,#fff 1px)}
.mw-float{position:relative;z-index:5;box-shadow:var(--mw-shadow);border-top:2px solid var(--mw-brass)}
.mw-facts>.e-con{border-left:1px solid var(--mw-line);text-align:center;padding:4px 12px!important}
.mw-facts>.e-con:first-child{border-left:0}
@media (max-width:1024px){.mw-facts>.e-con:nth-child(3){border-left:0}.mw-facts{row-gap:28px!important}}
@media (max-width:767px){.mw-facts>.e-con{border-left:0;border-top:1px solid var(--mw-line);padding-top:22px!important}.mw-facts>.e-con:first-child{border-top:0;padding-top:0!important}}
.mw-counter .elementor-counter{display:flex;flex-direction:column;align-items:center;gap:8px}
.mw-counter .elementor-counter-number-wrapper{display:flex;justify-content:center}

/* ---------- photos */
.mw-photo{position:relative;overflow:visible!important}
.mw-photo::after{content:"";position:absolute;top:24px;left:24px;right:-24px;bottom:-24px;border:1px solid var(--mw-brass);z-index:-1;pointer-events:none}
.mw-photo-flat::after{display:none}
.mw-collage{position:relative;padding:0 48px 64px 0!important}
.mw-collage .mw-photo{z-index:1}
.mw-collage .mw-photo::after{z-index:-1}
.mw-collage-sm{position:absolute!important;right:0;bottom:0;width:48%!important;--width:48%!important;border:10px solid #fff;box-shadow:var(--mw-shadow);z-index:2}
.mw-paper .mw-collage-sm{border-color:var(--mw-paper)}
.mw-badge{position:absolute!important;left:-24px;top:32px;width:132px!important;--width:132px!important;height:132px;border-radius:50%;z-index:3;
  box-shadow:var(--mw-shadow);text-align:center}
.mw-badge .elementor-heading-title{text-align:center}
@media (max-width:767px){
  .mw-collage{padding:0 16px 48px 0!important}
  .mw-collage-sm{width:54%!important;--width:54%!important;border-width:6px}
  .mw-badge{left:8px;top:12px;width:104px!important;--width:104px!important;height:104px}
  .mw-photo::after{top:14px;left:14px;right:-12px;bottom:-14px}
}

/* ---------- Elementor Pro Call to Action cards */
.mw-cta .elementor-cta{position:relative;display:flex;overflow:hidden;text-decoration:none;background-color:var(--mw-midnight);isolation:isolate}
.mw-cta .elementor-cta__bg-wrapper{position:absolute;inset:0;z-index:0;overflow:hidden}
.mw-cta .elementor-cta__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.2s var(--mw-ease)!important}
.mw-cta .elementor-cta:hover .elementor-cta__bg{transform:scale(1.08)}
.mw-cta .elementor-cta__bg-overlay{position:absolute;inset:0;transition:background-color .6s ease}
.mw-cta .elementor-cta__bg-wrapper::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(4,30,46,.96) 0%,rgba(4,30,46,.72) 42%,rgba(4,30,46,.1) 78%)}
.mw-cta .elementor-cta__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;width:100%}
.mw-cta .elementor-cta__title{transition:transform .5s var(--mw-ease)}
.mw-cta .elementor-cta__button{background:none!important;border:0!important;border-bottom:1px solid var(--mw-brass)!important;border-radius:0!important;
  padding:0 0 6px!important;color:#fff!important;display:inline-block}
.mw-cta .elementor-cta:hover .elementor-cta__button{color:var(--mw-brass)!important}
.mw-cta .elementor-cta::before{content:"";position:absolute;inset:14px;border:1px solid rgba(200,169,106,0);z-index:3;pointer-events:none;transition:border-color .6s ease}
.mw-cta .elementor-cta:hover::before{border-color:rgba(200,169,106,.55)}
.mw-cta .elementor-ribbon{position:absolute!important;top:26px!important;left:30px!important;right:auto!important;width:auto!important;transform:none!important;z-index:4}
.mw-cta .elementor-ribbon-inner{transform:none!important;margin:0!important;width:auto!important;padding:5px 12px!important;
  font:700 13px/1.4 var(--mw-sans)!important;letter-spacing:.22em;text-align:left;text-transform:uppercase}

/* ---------- cards */
.mw-card{border:1px solid var(--mw-line);position:relative;transition:transform .5s var(--mw-ease),box-shadow .5s var(--mw-ease),border-color .5s ease}
.mw-card:hover{transform:translateY(-6px);box-shadow:var(--mw-shadow);border-color:#D5CAB6}
.mw-card-soft{border-color:transparent;box-shadow:0 1px 0 var(--mw-line)}
.mw-card-soft .elementor-icon{width:64px;height:64px;border-radius:50%;border:1px solid var(--mw-brass);justify-content:center;align-items:center;font-size:24px!important}
.mw-card-dark{background:rgba(255,255,255,.035);border-color:rgba(200,169,106,.22)}
.mw-card-dark:hover{border-color:rgba(200,169,106,.6);box-shadow:none}
.mw-stretch .elementor-heading-title a::after{content:"";position:absolute;inset:0}
.mw-region{overflow:hidden}
.mw-region-photo{position:relative}
.mw-photo-tag .elementor-heading-title{display:inline-block;background:var(--mw-midnight);padding:6px 12px}
.mw-region .mw-region-photo{transition:transform 1.2s var(--mw-ease)}
.mw-chips .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:8px}
.mw-chips .elementor-icon-list-item{margin:0!important}
.mw-chips .elementor-icon-list-item a{border:1px solid var(--mw-line);border-radius:40px;padding:6px 14px;transition:all .3s ease}
.mw-chips .elementor-icon-list-item a:hover{border-color:var(--mw-navy);background:var(--mw-navy)}
.mw-chips .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#fff!important;text-decoration:none!important}
.mw-chips .elementor-icon-list-icon{display:none!important}

/* menu-style price list (Elementor Pro Price List) */
.mw-menu-card{border:1px solid var(--mw-line);box-shadow:var(--mw-shadow);border-top:2px solid var(--mw-brass)}
.mw-plist .elementor-price-list{list-style:none;margin:0;padding:0}
.mw-plist .elementor-price-list-header{display:flex;align-items:baseline}
.mw-plist .elementor-price-list-separator{flex:1 1 auto;min-width:24px}
.mw-plist .elementor-price-list-price{white-space:nowrap;font-variant-numeric:tabular-nums}
.mw-plist .elementor-price-list-title a{color:inherit;text-decoration:none}
.mw-plist .elementor-price-list-title a:hover{text-decoration:underline;text-underline-offset:5px}
.mw-plist .elementor-price-list-description{margin:6px 0 0}
@media (max-width:767px){.mw-plist .elementor-price-list-header{flex-wrap:wrap}.mw-plist .elementor-price-list-separator{display:none}
  .mw-plist .elementor-price-list-price{width:100%}}

/* steps with brass numerals and a connecting rule */
.mw-steps{position:relative}
@media (min-width:1025px){.mw-steps::before{content:"";position:absolute;top:32px;left:32px;right:calc(25% - 32px);height:1px;
  background:linear-gradient(90deg,var(--mw-brass),rgba(200,169,106,.25))}}
.mw-num-circle .elementor-heading-title{width:64px;height:64px;border:1px solid var(--mw-brass);border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#fff;font-style:italic;position:relative;z-index:1}
.mw-dark .mw-num-circle .elementor-heading-title{background:var(--mw-midnight)}

/* lists */
.mw-list .elementor-icon-list-item a{text-decoration:none}
.mw-list .elementor-icon-list-item a:hover .elementor-icon-list-text{text-decoration:underline;text-underline-offset:4px}
.mw-list .elementor-icon-list-text{font-size:18px}

/* FAQ accordion */
.mw-faq .elementor-accordion-item{border-left:0!important;border-right:0!important}
.mw-faq .elementor-accordion-item+.elementor-accordion-item{border-top:0!important}
.mw-faq .elementor-tab-title{display:flex;align-items:flex-start;gap:18px;cursor:pointer}
.mw-faq .elementor-tab-title .elementor-accordion-title{color:inherit;text-decoration:none;flex:1}
.mw-faq .elementor-tab-content{border-top:0!important}
.mw-faq .elementor-tab-content p{font-size:18px}

/* review placeholder */
.mw-placeholder{border:1px dashed #8A939C;max-width:900px}

/* forms */
.mw-formcard{border-top:2px solid var(--mw-brass);box-shadow:var(--mw-shadow)}
.mw-form .elementor-field-group{margin-bottom:0}
.mw-form .elementor-field-group .elementor-field,.mw-form .elementor-field-textual,
.mw-form select,.mw-form textarea,.mw-form input{font-size:18px!important;min-height:54px;border-radius:2px}
.mw-form textarea{min-height:120px}
.mw-form .elementor-field-label{letter-spacing:.08em}
.mw-form .elementor-button{min-height:58px;font-size:18px!important;letter-spacing:.02em}
.mw-form .elementor-message{font-size:18px}

/* buttons */
.mw-btn .elementor-button{transition:background-color .35s ease,color .35s ease,border-color .35s ease;line-height:1.2}
.mw-btn .elementor-button-icon{transition:transform .35s ease}
.mw-btn .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
.mw-btns{flex-wrap:wrap!important}
.mw-btns-center{justify-content:center!important}

/* legal copy */
.mw-legal{text-align:left}
.mw-legal h2{font-family:var(--mw-serif);font-weight:700;color:var(--mw-navy);font-size:30px;line-height:1.2;margin:1.6em 0 .5em}
.mw-legal h2:first-child{margin-top:0}
@media (max-width:767px){.mw-legal h2{font-size:25px}}

/* parallax band: fixed backgrounds only where they are smooth */
@media (max-width:1024px),(hover:none){.mw-band{background-attachment:scroll!important}}

/* ---------- header */
.mw-topbar .elementor-heading-title a{color:inherit;text-decoration:none}
.mw-header{background:#fff;border-bottom:1px solid var(--mw-line);z-index:99}
.mw-header>.e-con-inner{position:relative}
.mw-logo .elementor-heading-title a{text-decoration:none;display:inline-flex;align-items:center;gap:14px;line-height:1;white-space:nowrap}
.mw-logo .mw-mono{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid var(--mw-brass);
  font-family:var(--mw-serif);font-style:italic;font-weight:400;font-size:24px;color:var(--mw-navy);letter-spacing:.02em}
.mw-logo .mw-logo-text{display:inline-flex;flex-direction:column}
.mw-logo .mw-logo-a{font-family:var(--mw-serif);font-weight:700;color:var(--mw-navy);font-size:28px;letter-spacing:-.005em}
.mw-logo .mw-logo-b{text-transform:uppercase;font-family:var(--mw-sans);font-weight:700;color:var(--mw-green);font-size:13px;letter-spacing:.46em;margin-top:6px}
@media (max-width:1024px){.mw-logo .mw-logo-a{font-size:25px}}
@media (max-width:767px){.mw-logo .mw-logo-a{font-size:21px}.mw-logo .mw-mono{width:42px;height:42px;font-size:19px}.mw-logo .elementor-heading-title a{gap:10px}}
.mw-footer .mw-logo .mw-logo-a,.mw-footer .mw-logo .mw-mono{color:#fff}
.mw-footer .mw-logo .mw-logo-b{color:var(--mw-brass)}
.mw-hphone{border-left:1px solid var(--mw-line);padding-left:22px!important;white-space:nowrap}
@media (max-width:1540px){.mw-hphone{display:none!important}}
.mw-logo{flex-shrink:0!important;min-width:max-content!important}
.mw-header .mw-nav{min-width:0}
.mw-header .mw-btn .elementor-button{white-space:nowrap}
.mw-hphone .elementor-heading-title a{color:inherit;text-decoration:none}
.mw-nav .elementor-nav-menu--main .elementor-item{font-size:18px}
.mw-nav .elementor-nav-menu--dropdown a{font-size:18px}
.mw-nav .elementor-sub-item{font-weight:400}
@media (max-width:767px){.mw-hide-m{display:none!important}}
@media (max-width:1024px){.mw-hide-t{display:none!important}}

/* ---------- mega menus (Elementor Pro Nav Menu + SmartMenus)
   The Services and Areas menu items carry the classes mw-mega / mw-mega-areas / mw-mega-svc
   (Appearance > Menus > Screen Options > CSS Classes). */
@media (min-width:1025px){
  .mw-header .mw-nav,.mw-header .mw-nav .elementor-widget-container,.mw-header .mw-nav nav,
  .mw-header .mw-nav .elementor-nav-menu,.mw-header .mw-nav .mw-mega{position:static!important}
  .mw-nav .mw-mega>.sub-menu{left:0!important;right:0!important;top:100%!important;width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:34px 40px!important;background:#fff!important;border-top:2px solid var(--mw-brass)!important;
    box-shadow:0 40px 80px -30px rgba(4,30,46,.35)!important}
  .mw-nav .mw-mega>.sub-menu[style*="display: block"],.mw-nav .mw-mega:hover>.sub-menu.mw-open{display:grid!important;gap:6px 34px}
  .mw-nav .mw-mega-areas>.sub-menu[style*="display: block"]{grid-template-columns:repeat(5,minmax(0,1fr))}
  .mw-nav .mw-mega-svc>.sub-menu[style*="display: block"]{grid-template-columns:repeat(2,minmax(0,1fr));left:auto!important;right:0!important;width:720px!important}
  .mw-nav .mw-mega .sub-menu .sub-menu{display:block!important;position:static!important;box-shadow:none!important;border:0!important;
    width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;left:auto!important;top:auto!important;
    opacity:1!important;visibility:visible!important;transform:none!important;padding:0!important;background:none!important}
  .mw-nav .mw-mega-col>a{font-size:13px!important;font-weight:700!important;letter-spacing:.2em;text-transform:uppercase;color:var(--mw-green)!important;
    background:none!important;border-bottom:1px solid var(--mw-line)!important;padding:8px 0 12px!important;margin-bottom:6px}
  .mw-nav .mw-mega-col>a .sub-arrow{display:none!important}
  .mw-nav .mw-mega .sub-menu a{padding:7px 0!important;background:none!important;color:var(--mw-ink)!important;border:0}
  .mw-nav .mw-mega .sub-menu a:hover{color:var(--mw-green)!important;text-decoration:underline;text-underline-offset:5px}
}

/* ---------- footer */
.mw-footer .elementor-widget-text-editor,.mw-footer p{color:var(--mw-on-dark)}
.mw-footer .mw-list .elementor-icon-list-text{color:var(--mw-on-dark)}
.mw-footer-cta{border-bottom:1px solid rgba(200,169,106,.25)}
.mw-footer-cta .elementor-heading-title em a{color:var(--mw-brass);text-decoration:none}
.mw-footer-bottom{border-top:1px solid rgba(255,255,255,.12)}
.mw-footer-bottom a{color:var(--mw-on-dark)}

/* skip link + sticky header wrapper (static preview) */
.mw-skip{position:absolute;left:-9999px;top:0;background:#041E2E;color:#fff;padding:12px 18px;z-index:1000}
.mw-skip:focus{left:12px;top:12px}
.mw-site-header{position:sticky;top:0;z-index:100}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
