/* Mobile Home Avenue theme
   Brand: street-sign green, board-and-batten charcoal, cedar, porch-ceiling "haint" blue.
   Everything is prefixed mha- so it never fights Elementor or WooCommerce class names. */

:root{
  --mha-sign:#0D4A37;
  --mha-sign-deep:#093427;
  --mha-ink:#1D2421;
  --mha-ink-2:#4B5651;
  --mha-line:#D9DFDB;
  --mha-paper:#FFFFFF;
  --mha-mist:#F3F5F3;
  --mha-haint:#D6E9E4;
  --mha-cedar:#9A6634;
  --mha-road:#2B312E;
  --mha-focus:#E0A93B;

  --mha-ui:"Overpass",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mha-serif:"Source Serif 4",Georgia,serif;

  --mha-wrap:1280px;
  --mha-gutter:clamp(16px,4vw,48px);
  --mha-r-s:6px;
  --mha-r-m:12px;
  --mha-head-h:84px;
  --mha-admin:0px;
}
.admin-bar{--mha-admin:32px}
@media (max-width:782px){.admin-bar{--mha-admin:46px}}
/* On small phones the WordPress toolbar scrolls away, so the header sits at the top. */
@media (max-width:600px){.admin-bar{--mha-admin:0px}.admin-bar.mha-has-hero .mha-header{top:46px}.admin-bar.mha-has-hero .mha-header.is-solid{top:0}}

/* ---------------------------------------------------------------- Base (replaces Hello's reset) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--mha-head-h) + var(--mha-admin) + 12px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--mha-paper);color:var(--mha-ink);font:400 17px/1.6 var(--mha-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--mha-sign);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--mha-sign-deep)}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-family:var(--mha-serif);font-weight:600;line-height:1.2;color:var(--mha-ink)}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mha-focus);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.mha-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--mha-ink);color:#fff;padding:10px 16px;border-radius:6px;font-weight:700;text-decoration:none}
.mha-skip:focus{top:12px;color:#fff}
.mha-wrap{max-width:var(--mha-wrap);margin-left:auto;margin-right:auto;padding-left:var(--mha-gutter);padding-right:var(--mha-gutter)}
.mha-wrap--narrow{max-width:calc(760px + var(--mha-gutter) * 2)}
.mha-icon{width:24px;height:24px;flex:none}

/* Elementor: our widgets draw their own spacing. */
.elementor-widget[class*="elementor-widget-mha-"]{margin-bottom:0}
.elementor-widget[class*="elementor-widget-mha-"] > .elementor-widget-container{margin:0;padding:0}

/* ---------------------------------------------------------------- Type */
.mha-h2{font:600 clamp(32px,4.2vw,50px)/1.08 var(--mha-serif);letter-spacing:-.01em;font-variation-settings:"opsz" 60;margin:0;color:var(--mha-ink)}
.mha-h3{font:600 22px/1.25 var(--mha-serif);font-variation-settings:"opsz" 24;margin:0;color:var(--mha-ink)}
.mha-lede{font-size:19px;line-height:1.6;color:var(--mha-ink-2);max-width:60ch;margin:14px 0 0}
.mha-lede--gap{margin-top:16px}
.mha-kicker{font-size:14px;color:var(--mha-ink-2);font-weight:600;text-decoration:none}
.mha-fine{font-size:13px;line-height:1.5;color:var(--mha-ink-2);margin:0;max-width:78ch}

/* ---------------------------------------------------------------- Street-sign logo */
.mha-sign{display:inline-flex;align-items:baseline;gap:.28em;flex:none;background:var(--mha-sign);color:#fff;text-decoration:none;white-space:nowrap;
  font:700 19px/1 var(--mha-ui);letter-spacing:.01em;padding:10px 16px 7px;border-radius:7px;
  box-shadow:inset 0 0 0 3px var(--mha-sign),inset 0 0 0 5px #fff}
.mha-sign:hover{color:#fff}
.mha-sign small{font-size:.72em;font-weight:700}
.mha-sign--outline{background:transparent;box-shadow:inset 0 0 0 2px #fff}
.custom-logo-link img{max-height:56px;width:auto}

/* ---------------------------------------------------------------- Buttons */
.mha-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px 10px;border-radius:var(--mha-r-s);
  font:700 16px/1 var(--mha-ui);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background-color .15s,color .15s,border-color .15s}
.mha-btn .mha-icon{width:18px;height:18px}
.mha-btn--primary,.mha-btn--primary:visited{background:var(--mha-sign);color:#fff;border-color:var(--mha-sign)}
.mha-btn--primary:hover,.mha-btn--primary:focus{background:var(--mha-sign-deep);border-color:var(--mha-sign-deep);color:#fff}
.mha-btn--line,.mha-btn--line:visited{background:transparent;border-color:var(--mha-ink);color:var(--mha-ink)}
.mha-btn--line:hover,.mha-btn--line:focus{background:var(--mha-ink);border-color:var(--mha-ink);color:#fff}
.mha-btn--ghost,.mha-btn--ghost:visited{background:transparent;color:var(--mha-sign);padding-left:8px;padding-right:8px}
.mha-btn--ghost:hover,.mha-btn--ghost:focus{background:var(--mha-mist);color:var(--mha-sign-deep)}
.mha-btn--block{width:100%}
.mha-btn-row{display:flex;flex-wrap:wrap;gap:10px}

/* ---------------------------------------------------------------- Header */
.mha-header{position:sticky;top:var(--mha-admin);z-index:40;background:rgba(255,255,255,.97);color:var(--mha-ink);box-shadow:0 1px 0 var(--mha-line);
  backdrop-filter:saturate(1.4) blur(8px);transition:background-color .25s,color .25s,box-shadow .25s}
.mha-header-row{display:flex;align-items:center;gap:28px;min-height:var(--mha-head-h)}
.mha-nav{margin-left:auto}
.mha-menu{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.mha-menu a{display:block;color:inherit;text-decoration:none;font-weight:600;font-size:15.5px;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.mha-menu a:hover,.mha-menu .current-menu-item > a:not([href*="#"]){border-color:currentColor;color:inherit}
.mha-head-tools{display:flex;align-items:center;gap:16px}
.mha-head-phone{color:inherit;font-weight:700;text-decoration:none;white-space:nowrap}
.mha-head-phone:hover{color:inherit;text-decoration:underline}
.mha-lang{display:inline-flex;border:1.5px solid var(--mha-line);border-radius:999px;padding:3px}
.mha-lang a{padding:6px 11px 4px;border-radius:999px;font-weight:700;font-size:13.5px;line-height:1;color:inherit;text-decoration:none;opacity:.8}
.mha-lang a[aria-current="true"]{background:var(--mha-ink);color:#fff;opacity:1}
.mha-menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid currentColor;border-radius:var(--mha-r-s);width:46px;height:46px;padding:0;cursor:pointer;color:inherit}
.mha-menu-btn:hover,.mha-menu-btn:focus{background:none;color:inherit}
.mha-menu-btn span:not(.screen-reader-text){display:block;width:20px;height:2px;background:currentColor;margin:4px auto}

/* Floating over the hero until the page scrolls */
.mha-has-hero .mha-header{position:fixed;left:0;right:0;background:transparent;color:#fff;box-shadow:none;backdrop-filter:none}
.mha-has-hero .mha-header .mha-lang{border-color:rgba(255,255,255,.55)}
.mha-has-hero .mha-header .mha-lang a[aria-current="true"]{background:#fff;color:var(--mha-ink)}
.mha-has-hero .mha-header .mha-head-cta{background:#fff;border-color:#fff;color:var(--mha-sign)}
.mha-has-hero .mha-header .mha-head-cta:hover{background:var(--mha-haint);border-color:var(--mha-haint)}
.mha-has-hero .mha-header.is-solid{background:rgba(255,255,255,.97);color:var(--mha-ink);box-shadow:0 1px 0 var(--mha-line);backdrop-filter:saturate(1.4) blur(8px)}
.mha-has-hero .mha-header.is-solid .mha-lang{border-color:var(--mha-line)}
.mha-has-hero .mha-header.is-solid .mha-lang a[aria-current="true"]{background:var(--mha-ink);color:#fff}
.mha-has-hero .mha-header.is-solid .mha-head-cta{background:var(--mha-sign);border-color:var(--mha-sign);color:#fff}

/* ---------------------------------------------------------------- Hero slider */
.mha-hero{position:relative;height:100vh;height:100svh;min-height:680px;max-height:1080px;color:#fff;overflow:hidden;background:var(--mha-road)}
.mha-slides{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.mha-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.mha-slide.is-on{opacity:1}
.mha-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 9s linear}
.mha-slide.is-on img{transform:scale(1.08)}
.mha-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,20,16,.55) 0,rgba(10,20,16,0) 22%),
             linear-gradient(90deg,rgba(10,20,16,.55) 0,rgba(10,20,16,.12) 45%,rgba(10,20,16,0) 70%),
             linear-gradient(0deg,rgba(10,20,16,.55) 0,rgba(10,20,16,0) 30%)}
.mha-hero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  padding-top:calc(var(--mha-head-h) + var(--mha-admin) + 24px);padding-bottom:clamp(28px,5vh,56px)}
.mha-hero-sign{background:var(--mha-sign);color:#fff;border-radius:18px;max-width:640px;padding:clamp(28px,3.6vw,48px);
  box-shadow:inset 0 0 0 10px var(--mha-sign),inset 0 0 0 13px #fff,0 40px 80px -40px rgba(0,0,0,.7)}
.mha-hero-title{font:800 clamp(38px,4.4vw,64px)/1.02 var(--mha-ui);letter-spacing:-.02em;max-width:13ch;margin:0;color:#fff}
.mha-hero-lede{margin:18px 0 0;font-size:18.5px;line-height:1.55;color:#DDEBE6;max-width:46ch}
.mha-finder{margin-top:26px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;background:#fff;border-radius:var(--mha-r-m);padding:10px;color:var(--mha-ink)}
.mha-finder label{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:8px;margin:0}
.mha-finder label:hover{background:var(--mha-mist)}
.mha-finder span{font-size:13px;font-weight:600;color:var(--mha-ink-2)}
.mha-finder select{border:0;background:transparent;font-weight:700;font-size:16.5px;padding:2px 22px 2px 0;cursor:pointer;appearance:none;-webkit-appearance:none;width:100%;
  background-image:linear-gradient(45deg,transparent 50%,var(--mha-ink) 50%),linear-gradient(135deg,var(--mha-ink) 50%,transparent 50%);
  background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.mha-finder .mha-btn{height:100%;min-height:56px}
.mha-hero-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:22px}
.mha-slide-cap{font-weight:600;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.5);min-height:1.6em;margin:0}
.mha-slide-ctl{display:flex;align-items:center;gap:14px}
.mha-ticks{display:flex;gap:6px}
.mha-ticks button{width:34px;height:20px;border:0;background:none;cursor:pointer;padding:0;position:relative;border-radius:0}
.mha-ticks button:hover,.mha-ticks button:focus{background:none}
.mha-ticks button::before{content:"";position:absolute;left:0;right:0;top:9px;height:3px;border-radius:2px;background:rgba(255,255,255,.4)}
.mha-ticks button::after{content:"";position:absolute;left:0;top:9px;height:3px;border-radius:2px;background:#fff;width:0}
.mha-ticks button[aria-current="true"]::after{width:100%}
.mha-hero.is-playing .mha-ticks button[aria-current="true"]::after{width:0;animation:mha-tick var(--slide-ms,7000ms) linear forwards}
@keyframes mha-tick{to{width:100%}}
.mha-round{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(0,0,0,.15);color:#fff;cursor:pointer;display:grid;place-items:center;padding:0;backdrop-filter:blur(4px)}
.mha-round:hover,.mha-round:focus{background:#fff;color:var(--mha-ink);border-color:#fff}
.mha-round svg{width:18px;height:18px}

/* ---------------------------------------------------------------- Page header (inner pages) */
.mha-page-hero{position:relative;background:var(--mha-sign);color:#fff;padding:clamp(72px,10vw,128px) 0 clamp(48px,6vw,72px);overflow:hidden}
.mha-page-hero--photo{min-height:clamp(340px,46vh,480px);display:flex;align-items:flex-end;background:var(--mha-road)}
.mha-page-hero--photo .mha-wrap{width:100%}
.mha-page-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mha-page-hero--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,20,16,.78) 0,rgba(10,20,16,.3) 60%,rgba(10,20,16,.15) 100%)}
.mha-page-hero .mha-wrap{position:relative;z-index:1}
.mha-page-title{font:600 clamp(38px,5vw,64px)/1.05 var(--mha-serif);letter-spacing:-.015em;font-variation-settings:"opsz" 60;color:#fff;margin:0;max-width:18ch}
.mha-page-lede{margin:16px 0 0;font-size:19px;line-height:1.55;color:#E3EEEA;max-width:56ch}

/* ---------------------------------------------------------------- Section rhythm */
.mha-block{padding:clamp(72px,9vw,120px) 0}
.mha-block--tight{padding-top:0}
.mha-block--after-hero{padding-top:clamp(48px,6vw,80px)}
.mha-block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:36px}

/* ---------------------------------------------------------------- Facts bar */
.mha-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:44px;padding-bottom:8px}
.mha-fact{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.mha-fact .mha-icon{width:28px;height:28px;color:var(--mha-sign)}
.mha-fact b{display:block;font-weight:700;font-size:16.5px;line-height:1.3}
.mha-fact span{font-size:14.5px;color:var(--mha-ink-2);line-height:1.45}

/* ---------------------------------------------------------------- Filter blades */
.mha-blades{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 4px}
.mha-blade{display:inline-block;border:0;cursor:pointer;background:var(--mha-mist);color:var(--mha-ink);font:700 15px/1 var(--mha-ui);padding:11px 16px 9px;border-radius:6px;text-decoration:none;
  box-shadow:inset 0 0 0 2px var(--mha-mist),inset 0 0 0 3.5px var(--mha-line)}
.mha-blade:hover,.mha-blade:focus{background:var(--mha-mist);color:var(--mha-ink);box-shadow:inset 0 0 0 2px var(--mha-mist),inset 0 0 0 3.5px var(--mha-ink-2)}
.mha-blade[aria-pressed="true"],.mha-blade[aria-current="page"]{background:var(--mha-sign);color:#fff;box-shadow:inset 0 0 0 2px var(--mha-sign),inset 0 0 0 3.5px #fff}

/* ---------------------------------------------------------------- Homes on the avenue */
.mha-avenue{position:relative;margin-top:28px}
.mha-lots{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(270px,24vw,310px);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:4px var(--mha-gutter) 34px;margin:0 calc(var(--mha-gutter) * -1);scrollbar-width:none;scroll-padding:0 var(--mha-gutter)}
.mha-lots::-webkit-scrollbar{display:none}
.mha-road{height:26px;background:var(--mha-road);border-radius:4px;margin-top:-22px;position:relative;
  background-image:linear-gradient(90deg,#fff 0 34px,transparent 34px 70px);background-size:70px 2px;background-repeat:repeat-x;background-position:0 50%}
.mha-avenue-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}
.mha-arrows{display:flex;gap:8px}
.mha-arrows button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--mha-ink);background:#fff;color:var(--mha-ink);cursor:pointer;display:grid;place-items:center;padding:0}
.mha-arrows button:hover,.mha-arrows button:focus{background:var(--mha-ink);color:#fff}
.mha-arrows svg{width:20px;height:20px}
.mha-filter-empty{margin:8px 0 0;color:var(--mha-ink-2)}
.mha-empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--mha-haint);border-radius:var(--mha-r-m);padding:28px 30px}
.mha-empty p{margin:0;font-size:18px;max-width:56ch}
.mha-dev-note{margin:18px 0 0;border:1.5px dashed #C7B48E;background:#FFFBF1;border-radius:10px;padding:12px 16px;font-size:14px;color:#6B5320}

/* Home card */
.mha-lot{scroll-snap-align:start;background:#fff;border:1px solid var(--mha-line);border-radius:var(--mha-r-m);overflow:hidden;display:flex;flex-direction:column;position:relative;height:100%;transition:border-color .15s,box-shadow .15s}
.mha-lot:hover{border-color:#B9C4BF;box-shadow:0 18px 40px -28px rgba(0,0,0,.35)}
.mha-lot-photo{position:relative;aspect-ratio:4/3;background:var(--mha-haint);overflow:hidden;display:grid;place-items:center;color:var(--mha-sign)}
.mha-lot-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mha-lot-photo .mha-house-drawing{width:62%;height:auto}
.mha-lot-photo em{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-style:normal;font-size:13px;font-weight:600;color:var(--mha-sign);opacity:.8}
.mha-badge{position:absolute;top:12px;left:12px;z-index:1;background:#fff;color:var(--mha-ink);font-size:12.5px;font-weight:700;line-height:1.2;padding:5px 9px 3px;border-radius:5px}
.mha-badge--used{background:var(--mha-ink);color:#fff}
.mha-lot-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.mha-lot-title{font:600 22px/1.25 var(--mha-serif);margin:0;color:var(--mha-ink)}
.mha-lot-title a{color:inherit;text-decoration:none}
.mha-lot-title a::after{content:"";position:absolute;inset:0;z-index:2}
.mha-lot:hover .mha-lot-title a{text-decoration:underline}
.mha-specs{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:14.5px;color:var(--mha-ink-2);margin:0;padding:0;list-style:none}
/* WooCommerce styles every ul inside .products; keep the spec line clean. */
.mha-lot ul.mha-specs{margin:0;padding:0;clear:none}
.mha-lot ul.mha-specs::before,.mha-lot ul.mha-specs::after{content:none;display:none}
.mha-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--mha-line)}
.mha-price{font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--mha-ink)}
.mha-price--call{font-size:17px}
.mha-mo{font-weight:700;font-size:15px;color:var(--mha-sign)}
.mha-lot--placeholder .mha-lot-title,.mha-lot--placeholder .mha-specs,.mha-lot--placeholder .mha-price,.mha-lot--placeholder .mha-mo{color:#9AA6A1}

/* ---------------------------------------------------------------- Home sizes */
.mha-sizes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mha-size{display:flex;flex-direction:column;border:1px solid var(--mha-line);border-radius:var(--mha-r-m);padding:26px 24px 22px;text-decoration:none;color:var(--mha-ink);background:#fff;transition:border-color .15s}
.mha-size:hover{border-color:var(--mha-sign);color:var(--mha-ink)}
.mha-size svg{height:92px;width:100%;color:var(--mha-sign);margin-bottom:22px}
.mha-size dl{margin:14px 0 18px;display:grid;gap:4px;font-size:15px}
.mha-size dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--mha-line);padding:5px 0 3px}
.mha-size dt{color:var(--mha-ink-2)}
.mha-size dd{margin:0;font-weight:700;text-align:right}
.mha-go{margin-top:auto;font-weight:700;color:var(--mha-sign)}
.mha-size:hover .mha-go{text-decoration:underline}

/* ---------------------------------------------------------------- Steps (route markers: a real sequence) */
.mha-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:8px 0 0;padding:0;list-style:none}
.mha-step{display:grid;gap:12px;align-content:start}
.mha-step p{color:var(--mha-ink-2);font-size:16px;margin:0}
.mha-shield{width:46px;height:50px;color:var(--mha-sign)}
.mha-shield text{font-family:var(--mha-ui)}

/* ---------------------------------------------------------------- Financing and calculator */
.mha-finance{background:var(--mha-haint)}
.mha-finance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.mha-loans{margin:28px 0 32px;padding:0;list-style:none;display:grid;border-top:1px solid rgba(29,36,33,.18)}
.mha-loans li{padding:14px 0 12px;border-bottom:1px solid rgba(29,36,33,.18);display:grid;grid-template-columns:200px 1fr;gap:16px}
.mha-loans b{font-weight:700}
.mha-loans span{color:var(--mha-ink-2);font-size:15.5px}
.mha-calc{background:#fff;border-radius:16px;padding:clamp(24px,3vw,36px);box-shadow:0 30px 60px -40px rgba(9,52,39,.5)}
.mha-calc .mha-h3{margin-bottom:22px}
.mha-field{display:grid;gap:8px;margin-bottom:20px}
.mha-field-top{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.mha-field-top label,.mha-lbl{font-weight:600;margin:0}
.mha-field-top output{font-weight:800}
.mha-calc input[type=range]{width:100%;accent-color:var(--mha-sign);height:28px;margin:0;padding:0;border:0;background:none}
.mha-terms{display:flex;gap:8px}
.mha-terms button{flex:1;min-height:44px;border:1.5px solid var(--mha-line);background:#fff;color:var(--mha-ink);border-radius:var(--mha-r-s);font-weight:700;cursor:pointer;padding:8px 6px}
.mha-terms button:hover,.mha-terms button:focus{background:var(--mha-mist);color:var(--mha-ink);border-color:var(--mha-ink-2)}
.mha-terms button[aria-pressed="true"]{border-color:var(--mha-sign);background:var(--mha-sign);color:#fff}
.mha-result{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 0 18px;margin:6px 0 18px;border-top:1px solid var(--mha-line);border-bottom:1px solid var(--mha-line)}
.mha-result > span{font-weight:600}
.mha-result strong{font:800 44px/1 var(--mha-ui);letter-spacing:-.02em;color:var(--mha-sign)}
.mha-result small{font-size:17px;font-weight:700}
.mha-calc .mha-fine{margin-top:14px;font-size:12.5px}

/* ---------------------------------------------------------------- Services */
.mha-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,6vw,90px);margin-top:12px}
.mha-service{display:grid;grid-template-columns:36px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--mha-line)}
.mha-service .mha-icon{width:32px;height:32px;color:var(--mha-cedar)}
.mha-service p{color:var(--mha-ink-2);font-size:16px;margin:6px 0 0}

/* ---------------------------------------------------------------- Photo + checklist */
.mha-feature--dark{background:var(--mha-ink);color:#fff}
.mha-feature--haint{background:var(--mha-haint)}
.mha-feature--dark .mha-h2{color:#fff}
.mha-feature--dark .mha-lede{color:#C9D3CF}
.mha-feature-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.mha-feature--right .mha-feature-photo{order:2}
.mha-feature--right .mha-feature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.mha-feature-photo{border-radius:16px;overflow:hidden;aspect-ratio:5/4;background:var(--mha-road)}
.mha-feature-photo img{width:100%;height:100%;object-fit:cover}
.mha-checks{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:16px}
.mha-checks li{display:grid;grid-template-columns:26px 1fr;gap:12px}
.mha-checks .mha-icon{width:22px;height:22px;color:var(--mha-sign);margin-top:2px;stroke-width:2.4}
.mha-feature--dark .mha-checks li{color:#E4EAE7}
.mha-feature--dark .mha-checks .mha-icon{color:#8FD1B8}

/* ---------------------------------------------------------------- Guides */
.mha-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.mha-guide{text-decoration:none;color:var(--mha-ink);display:grid;gap:12px;align-content:start}
.mha-guide:hover{color:var(--mha-ink)}
.mha-guide figure{margin:0 0 2px;border-radius:var(--mha-r-m);overflow:hidden;aspect-ratio:3/2;background:var(--mha-mist)}
.mha-guide img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mha-guide:hover img{transform:scale(1.03)}
.mha-guide:hover .mha-h3{text-decoration:underline}
.mha-guide-excerpt{color:var(--mha-ink-2);font-size:16px;margin:0}
.mha-pagination{margin-top:48px}
.mha-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.mha-pagination .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:0 12px;border:1.5px solid var(--mha-line);border-radius:6px;text-decoration:none;color:var(--mha-ink);font-weight:700}
.mha-pagination .page-numbers.current{background:var(--mha-sign);border-color:var(--mha-sign);color:#fff}

/* ---------------------------------------------------------------- FAQ */
.mha-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(32px,6vw,90px);align-items:start}
.mha-faq details{border-top:1px solid var(--mha-line)}
.mha-faq details:last-child{border-bottom:1px solid var(--mha-line)}
.mha-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 18px;font-weight:700;font-size:18px}
.mha-faq summary::-webkit-details-marker{display:none}
.mha-faq summary::after{content:"";flex:none;width:12px;height:12px;border-right:2.5px solid var(--mha-sign);border-bottom:2.5px solid var(--mha-sign);transform:rotate(45deg) translateY(-4px);transition:transform .2s}
.mha-faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.mha-faq details p{padding:0 0 22px;margin:0;color:var(--mha-ink-2);max-width:66ch}

/* ---------------------------------------------------------------- Contact and lead form */
.mha-contact{background:var(--mha-mist)}
.mha-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,6vw,90px);align-items:start}
.mha-reach{margin:30px 0 0;display:grid;border-top:1px solid var(--mha-line)}
.mha-reach div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0 14px;border-bottom:1px solid var(--mha-line)}
.mha-reach dt{font-weight:600;color:var(--mha-ink-2)}
.mha-reach dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.mha-reach a{color:var(--mha-ink);text-decoration:none}
.mha-reach a:hover{text-decoration:underline}
.mha-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 18px;background:#fff;border-radius:16px;padding:clamp(22px,3vw,36px);box-shadow:0 30px 60px -45px rgba(0,0,0,.35)}
.mha-lead .mha-full{grid-column:1/-1}
.mha-lead label{display:grid;gap:6px;font-weight:600;font-size:15px;margin:0}
.mha-lead input:not([type=radio]),.mha-lead select,.mha-lead textarea{width:100%;min-height:50px;border:1.5px solid var(--mha-line);border-radius:var(--mha-r-s);padding:12px 14px 10px;background:#fff;font-size:16.5px;line-height:1.3;color:var(--mha-ink)}
.mha-lead textarea{min-height:96px;resize:vertical}
.mha-lead input:focus,.mha-lead select:focus,.mha-lead textarea:focus{border-color:var(--mha-sign);outline:none;box-shadow:0 0 0 3px rgba(13,74,55,.2)}
.mha-lead fieldset{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}
.mha-lead legend{font-weight:600;font-size:15px;margin-bottom:6px;padding:0}
.mha-pills{display:flex;flex-wrap:wrap;gap:8px}
.mha-pills label{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px 8px;background:#fff;border:1.5px solid var(--mha-line);border-radius:999px;cursor:pointer;font-weight:600}
.mha-pills input{accent-color:var(--mha-sign);margin:0}
.mha-pills label:has(input:checked){border-color:var(--mha-sign);background:#EAF3F0}
.mha-lead .mha-btn{justify-self:start}
.mha-form-note{font-size:13px;color:var(--mha-ink-2);align-self:center;margin:0}
.mha-lead-msg{grid-column:1/-1;margin:0;background:#EAF3F0;border-left:4px solid var(--mha-sign);padding:14px 16px;border-radius:6px;font-weight:600}
.mha-lead-msg--error{background:#FBEDEA;border-color:#C2412D}
.mha-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------------------------------------------------------------- Footer */
.mha-footer{background:var(--mha-sign-deep);color:#D4E3DD;padding:70px 0 40px;font-size:15px}
.mha-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.mha-foot-title{margin:0 0 14px;color:#fff;font:700 15px/1.3 var(--mha-ui)}
.mha-foot-menu,.mha-foot-contact{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mha-foot-contact{margin-top:16px}
.mha-footer a{color:#D4E3DD;text-decoration:none}
.mha-footer a:hover{color:#fff;text-decoration:underline}
.mha-footer .mha-sign{color:#fff}
.mha-footer .mha-sign:hover{text-decoration:none}
.mha-foot-about p{margin:18px 0 0;max-width:34ch;line-height:1.55}
.mha-legal{margin-top:54px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font-size:13.5px;color:#A9C2B8}
.mha-eho{display:inline-flex;align-items:center;gap:8px}
.mha-eho svg{width:26px;height:26px}

/* Phone action bar */
.mha-action-bar{display:none}

/* ---------------------------------------------------------------- Blog posts and plain pages */
.mha-article{padding:clamp(48px,7vw,88px) 0 clamp(64px,8vw,110px)}
.mha-article-head{margin-bottom:32px}
.mha-article-head .mha-kicker{display:inline-block;margin-bottom:12px;color:var(--mha-sign)}
.mha-article-title{font:600 clamp(34px,4.6vw,56px)/1.08 var(--mha-serif);letter-spacing:-.015em;font-variation-settings:"opsz" 60;margin:0}
.mha-article-meta{margin:14px 0 0;color:var(--mha-ink-2);font-size:15px}
.mha-article-photo{margin:0 auto 40px;max-width:calc(1080px + var(--mha-gutter) * 2)}
.mha-article-photo img{width:100%;border-radius:16px;aspect-ratio:16/9;object-fit:cover}
.mha-article-body{font-size:18.5px;line-height:1.7}
.mha-article-body h2{font-size:clamp(26px,3vw,32px);margin:1.6em 0 .5em}
.mha-article-body h3{font-size:22px;margin:1.4em 0 .4em}
.mha-article-body ul,.mha-article-body ol{padding-left:1.3em;margin:0 0 1em}
.mha-article-body li{margin-bottom:.4em}
.mha-article-body img{border-radius:10px}
.mha-article-body blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--mha-sign);color:var(--mha-ink-2)}
.mha-article-cta{margin-top:56px}
.mha-article-cta > *{max-width:760px}
.mha-article-cta{border-top:1px solid var(--mha-line);padding-top:36px}
.mha-article-cta p{color:var(--mha-ink-2);margin:10px 0 20px}

/* Hello Elementor's own templates (search, 404) */
.site-main{max-width:calc(760px + var(--mha-gutter) * 2);margin:0 auto;padding:clamp(48px,7vw,88px) var(--mha-gutter)}
.site-main .page-header .entry-title{font-size:clamp(32px,4vw,48px)}

/* ---------------------------------------------------------------- WooCommerce */
.mha-shop{padding:clamp(28px,4vw,44px) 0 clamp(72px,9vw,120px)}
.mha-shop .woocommerce-breadcrumb{font-size:14px;color:var(--mha-ink-2);margin:0 0 24px}
.mha-shop .woocommerce-breadcrumb a{color:var(--mha-ink-2);text-decoration:none}
.mha-shop .woocommerce-breadcrumb a:hover{color:var(--mha-sign);text-decoration:underline}
.mha-crumb-sep{margin:0 8px;color:#A4AEA9}
.mha-shop-head{margin-bottom:28px}
.mha-shop-head .mha-lede p{margin:0}
.mha-shop .mha-blades{margin-bottom:24px}
.woocommerce .mha-shop .woocommerce-result-count{color:var(--mha-ink-2);font-size:15px;margin:10px 0 20px}
.woocommerce .mha-shop .woocommerce-ordering select{min-height:44px;border:1.5px solid var(--mha-line);border-radius:6px;padding:8px 12px;background:#fff}
.woocommerce .mha-shop ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 28px;padding:0;clear:both}
.woocommerce .mha-shop ul.products::before,.woocommerce .mha-shop ul.products::after{display:none}
.woocommerce .mha-shop ul.products[class*=columns-] li.product,.woocommerce ul.products[class*=columns-] li.mha-lot-item{width:auto;float:none;margin:0;padding:0;clear:none;list-style:none}
.woocommerce .mha-shop ul.products li.product .mha-lot{scroll-snap-align:none}
.mha-shop-fine{margin-top:8px}
.woocommerce .mha-shop nav.woocommerce-pagination ul{border:0;display:flex;gap:8px}
.woocommerce .mha-shop nav.woocommerce-pagination ul li{border:0}
.woocommerce .mha-shop nav.woocommerce-pagination ul li a,.woocommerce .mha-shop nav.woocommerce-pagination ul li span{min-width:44px;min-height:44px;display:grid;place-items:center;border:1.5px solid var(--mha-line);border-radius:6px;font-weight:700;color:var(--mha-ink)}
.woocommerce .mha-shop nav.woocommerce-pagination ul li span.current{background:var(--mha-sign);border-color:var(--mha-sign);color:#fff}
.woocommerce .mha-shop .woocommerce-info,.woocommerce .mha-shop .woocommerce-no-products-found .woocommerce-info{border:0;background:var(--mha-haint);color:var(--mha-ink);border-radius:var(--mha-r-m);padding:22px 24px}
.woocommerce .mha-shop .woocommerce-info::before{display:none}

/* Single home */
.woocommerce .mha-shop--single div.product{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.woocommerce .mha-shop--single div.product div.images,.woocommerce .mha-shop--single div.product div.summary{width:auto;float:none;margin:0}
.woocommerce .mha-shop--single div.product div.images img{border-radius:var(--mha-r-m)}
.woocommerce .mha-shop--single div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.woocommerce .mha-shop--single div.product div.images .flex-control-thumbs li{width:auto;float:none}
.woocommerce .mha-shop--single div.product div.images .flex-control-thumbs img{border-radius:6px}
.woocommerce .mha-shop--single div.product .woocommerce-tabs,.woocommerce .mha-shop--single .related,.woocommerce .mha-shop--single .upsells{grid-column:1/-1}
.woocommerce .mha-shop--single div.product .product_title{font:600 clamp(34px,4vw,48px)/1.08 var(--mha-serif);letter-spacing:-.01em;margin:0 0 10px}
.woocommerce .mha-shop--single div.product p.price{font:800 30px/1.1 var(--mha-ui);color:var(--mha-ink);margin:0 0 6px}
.woocommerce .mha-shop--single div.product p.price del{color:var(--mha-ink-2);font-weight:600;font-size:.7em}
.woocommerce .mha-shop--single div.product p.price ins{text-decoration:none}
.mha-single-mo{margin:0 0 20px;color:var(--mha-ink-2)}
.mha-single-mo strong{color:var(--mha-sign);font-size:19px}
.woocommerce .mha-shop--single .woocommerce-product-details__short-description{color:var(--mha-ink-2);font-size:17px}
.mha-details{margin:20px 0 26px;display:grid;border-top:1px solid var(--mha-line)}
.mha-details div{display:flex;justify-content:space-between;gap:16px;padding:11px 0 9px;border-bottom:1px solid var(--mha-line)}
.mha-details dt{color:var(--mha-ink-2)}
.mha-details dd{margin:0;font-weight:700;text-align:right}
.mha-single-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.woocommerce .mha-shop--single span.onsale{background:var(--mha-cedar);border-radius:5px;min-width:0;min-height:0;line-height:1.2;padding:6px 10px 4px;font-weight:700;top:12px;left:12px;margin:0}
.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs{padding:0;margin:40px 0 0;border-bottom:1px solid var(--mha-line)}
.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs li::before,.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce .mha-shop--single div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-weight:700;color:var(--mha-ink);border-bottom:3px solid var(--mha-sign)}
.woocommerce .mha-shop--single div.product .woocommerce-tabs .panel{padding-top:24px;max-width:760px;font-size:17.5px}
.woocommerce .mha-shop--single div.product .woocommerce-tabs .panel > h2:first-child{display:none}
.woocommerce .mha-shop--single .related > h2{font:600 clamp(28px,3vw,36px)/1.1 var(--mha-serif);margin:56px 0 24px}

/* ---------------------------------------------------------------- Drop-down menus */
.mha-menu > li{position:relative}
.mha-menu .menu-item-has-children > a{display:flex;align-items:center;gap:7px}
.mha-menu .menu-item-has-children > a::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);opacity:.75}
.mha-menu .sub-menu{position:absolute;top:calc(100% + 10px);left:-16px;min-width:250px;list-style:none;margin:0;padding:8px;background:#fff;color:var(--mha-ink);
  border-radius:10px;box-shadow:0 22px 44px -20px rgba(0,0,0,.35),0 0 0 1px var(--mha-line);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s,transform .15s,visibility .15s;z-index:10}
.mha-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mha-menu li:hover > .sub-menu,.mha-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.mha-menu .sub-menu a{padding:10px 12px 8px;border:0;border-radius:6px;font-weight:600;color:var(--mha-ink)}
.mha-menu .sub-menu a:hover,.mha-menu .sub-menu a:focus{background:var(--mha-mist);color:var(--mha-sign)}

/* ---------------------------------------------------------------- Page header breadcrumbs */
.mha-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:#D6E6E0;margin:0 0 14px}
.mha-crumbs a{color:#fff;text-decoration:none}
.mha-crumbs a:hover{color:#fff;text-decoration:underline}

/* ---------------------------------------------------------------- Category tiles */
.mha-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mha-cat{display:flex;flex-direction:column;border-radius:var(--mha-r-m);overflow:hidden;background:#fff;border:1px solid var(--mha-line);text-decoration:none;color:var(--mha-ink);transition:border-color .15s,box-shadow .15s}
.mha-cat:hover{border-color:#B9C4BF;box-shadow:0 18px 40px -28px rgba(0,0,0,.35);color:var(--mha-ink)}
.mha-cat figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mha-mist)}
.mha-cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mha-cat:hover img{transform:scale(1.03)}
.mha-cat-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.mha-cat-body p{margin:0;color:var(--mha-ink-2);font-size:15.5px;line-height:1.5}
.mha-cat .mha-go{margin-top:auto;padding-top:6px}
.mha-cat:hover .mha-go{text-decoration:underline}

/* ---------------------------------------------------------------- Reasons */
.mha-values--mist{background:var(--mha-mist)}
.mha-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mha-value{background:#fff;border-radius:var(--mha-r-m);padding:26px 24px 24px}
.mha-values--light .mha-value{background:var(--mha-mist)}
.mha-value .mha-icon{width:30px;height:30px;color:var(--mha-sign);margin-bottom:16px}
.mha-value p{margin:8px 0 0;color:var(--mha-ink-2);font-size:16px}

/* ---------------------------------------------------------------- Text sections */
.mha-prose-section--mist{background:var(--mha-mist)}
.mha-prose-section--haint{background:var(--mha-haint)}
.mha-prose-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.mha-prose-section.has-photo .mha-prose-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.mha-prose-section--left.has-photo .mha-prose-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.mha-prose-section--left .mha-prose-photo{order:-1}
.mha-prose{max-width:760px}
.mha-prose-body{margin-top:18px;font-size:17.5px;line-height:1.7;color:var(--mha-ink)}
.mha-prose-body > :last-child{margin-bottom:0}
.mha-prose-body p{margin:0 0 1em}
.mha-prose-body h3{font:600 22px/1.3 var(--mha-serif);margin:1.4em 0 .5em}
.mha-prose-body ul,.mha-prose-body ol{margin:0 0 1em;padding-left:1.25em}
.mha-prose-body li{margin-bottom:.45em}
.mha-prose-body li::marker{color:var(--mha-sign)}
.mha-prose-body a{color:var(--mha-sign);font-weight:600}
.mha-prose-photo{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--mha-mist)}
.mha-prose-photo img{width:100%;height:100%;object-fit:cover}
.mha-prose-cta{margin:26px 0 0}
.mha-prose-body ul.mha-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.4em}
.mha-prose-body ul.mha-chips li{margin:0;background:var(--mha-mist);border-radius:999px;padding:7px 14px 5px;font-size:15px;font-weight:600;line-height:1.3}
.mha-prose-section--mist ul.mha-chips li{background:#fff}

/* ---------------------------------------------------------------- Call-to-action band */
.mha-cta{padding:clamp(56px,7vw,88px) 0}
.mha-cta--green{background:var(--mha-sign);color:#fff}
.mha-cta--green .mha-h2{color:#fff}
.mha-cta--green .mha-lede{color:#D6E6E0}
.mha-cta--haint{background:var(--mha-haint)}
.mha-cta .mha-h2{font-size:clamp(28px,3.4vw,40px)}
.mha-cta-row{display:flex;align-items:center;justify-content:space-between;gap:28px 48px;flex-wrap:wrap}
.mha-cta-row .mha-lede{margin-top:10px}
.mha-cta--green .mha-btn--primary{background:#fff;border-color:#fff;color:var(--mha-sign)}
.mha-cta--green .mha-btn--primary:hover,.mha-cta--green .mha-btn--primary:focus{background:var(--mha-haint);border-color:var(--mha-haint);color:var(--mha-sign)}
.mha-cta--green .mha-btn--line{border-color:#fff;color:#fff}
.mha-cta--green .mha-btn--line:hover,.mha-cta--green .mha-btn--line:focus{background:#fff;border-color:#fff;color:var(--mha-sign)}

/* ---------------------------------------------------------------- Misc */
.mha-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mha-faq-group{font:700 15px/1.3 var(--mha-ui);color:var(--mha-sign);margin:34px 0 6px}
.mha-faq-group:first-child{margin-top:0}
.mha-shop-about{margin-top:56px;padding-top:36px;border-top:1px solid var(--mha-line);max-width:760px}
.mha-shop-about p{color:var(--mha-ink-2);margin:12px 0 0}

/* ---------------------------------------------------------------- Responsive */
@media (max-width:1320px){
  .mha-head-phone{display:none}
}
@media (max-width:1120px){
  .mha-menu{gap:20px}
  .mha-facts,.mha-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mha-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce .mha-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  :root{--mha-head-h:70px}
  .mha-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--mha-ink);padding:8px var(--mha-gutter) 18px;border-bottom:1px solid var(--mha-line);box-shadow:0 20px 30px -20px rgba(0,0,0,.25)}
  .mha-nav.is-open{display:block;max-height:calc(100vh - var(--mha-head-h) - var(--mha-admin));overflow-y:auto}
  .mha-menu{flex-direction:column;gap:0}
  .mha-menu a{padding:14px 0;border-bottom:1px solid var(--mha-line)}
  .mha-menu a:hover{border-color:var(--mha-line);text-decoration:underline}
  .mha-menu-btn{display:block}
  .mha-head-tools{margin-left:auto}
  .mha-head-cta{display:none}
  .mha-hero{min-height:760px;max-height:none}
  .mha-hero-sign{max-width:none}
  .mha-hero-bar{margin-top:14px}
  .mha-hero-inner{padding-bottom:104px}
  .mha-slide-cap{display:none}
  .mha-round--step{display:none}
  .mha-finance-grid,.mha-feature-grid,.mha-feature--right .mha-feature-grid,.mha-contact-grid,.mha-faq-grid,.mha-services{grid-template-columns:minmax(0,1fr)}
  .mha-feature--right .mha-feature-photo{order:0}
  .mha-guides{grid-template-columns:minmax(0,1fr);gap:34px}
  .mha-foot-grid{grid-template-columns:1fr 1fr}
  .woocommerce .mha-shop--single div.product{grid-template-columns:minmax(0,1fr)}
  .mha-action-bar{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--mha-line);box-shadow:0 -10px 30px -18px rgba(0,0,0,.35)}
  .mha-action-bar--solo{grid-template-columns:1fr}
  .mha-action-bar .mha-btn{min-height:50px;padding:12px 10px 10px;font-size:15.5px}
  body{padding-bottom:76px}
}
@media (max-width:560px){
  body{font-size:16.5px}
  .mha-header-row{gap:10px}
  .mha-sign{font-size:16px;padding:9px 12px 6px}
  .mha-hero{min-height:720px}
  .mha-hero-sign{padding:26px 22px;border-radius:14px;box-shadow:inset 0 0 0 8px var(--mha-sign),inset 0 0 0 10.5px #fff,0 40px 80px -40px rgba(0,0,0,.7)}
  .mha-hero-title{font-size:32px}
  .mha-hero-lede{display:none}
  .mha-finder{margin-top:20px;grid-template-columns:1fr 1fr}
  .mha-finder .mha-btn{grid-column:1/-1}
  .mha-facts,.mha-sizes,.mha-steps{grid-template-columns:minmax(0,1fr)}
  .mha-facts{gap:20px}
  .mha-loans li{grid-template-columns:1fr;gap:2px}
  .mha-lead{grid-template-columns:minmax(0,1fr)}
  .mha-foot-grid{grid-template-columns:1fr}
  .mha-result strong{font-size:38px}
  .mha-arrows{display:none}
  .woocommerce .mha-shop ul.products{grid-template-columns:minmax(0,1fr)}
  .mha-empty{padding:22px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .mha-slide.is-on img{transform:none}
}

/* ---------------------------------------------------------------- Responsive: new sections */
@media (max-width:1120px){
  .mha-cats,.mha-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .mha-menu .menu-item-has-children > a::after{display:none}
  .mha-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;min-width:0;padding:0 0 6px 14px;background:transparent}
  .mha-menu .sub-menu::before{display:none}
  .mha-menu .sub-menu a{padding:11px 0;border-radius:0;border-bottom:1px solid var(--mha-line);font-weight:500}
  .mha-prose-section.has-photo .mha-prose-grid,.mha-prose-section--left.has-photo .mha-prose-grid{grid-template-columns:minmax(0,1fr)}
  .mha-prose-section--left .mha-prose-photo{order:0}
  .mha-steps--3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .mha-cats,.mha-value-grid{grid-template-columns:minmax(0,1fr)}
  .mha-cta-row .mha-btn-row{width:100%}
  .mha-cta-row .mha-btn{flex:1 1 auto}
}

/* ---------------------------------------------------------------- Still banner photos
   The photo stays put while the page scrolls over it. The section clips a fixed frame
   (clip-path works on phones, where background-attachment: fixed does not). */
.mha-fixed{clip-path:inset(0)}
.mha-fixed-frame{position:fixed;left:0;right:0;top:0;height:100vh;height:100lvh;margin:0;padding:0;pointer-events:none}
.mha-fixed[data-mha-fix="top"] > .mha-fixed-frame{height:var(--fix-h,100vh)}
.mha-fixed-frame > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Call-to-action band with a photo */
.mha-cta--photo{position:relative;background:var(--mha-road);color:#fff;padding:clamp(96px,13vw,168px) 0}
.mha-cta--photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,20,16,.8) 0,rgba(10,20,16,.5) 55%,rgba(10,20,16,.3) 100%)}
.mha-cta--photo .mha-cta-row{position:relative;z-index:1}
.mha-cta--photo .mha-h2{color:#fff;font-size:clamp(32px,4vw,52px)}
.mha-cta--photo .mha-lede{color:#E3EEEA}
.mha-cta--photo .mha-btn--primary{background:#fff;border-color:#fff;color:var(--mha-sign)}
.mha-cta--photo .mha-btn--primary:hover,.mha-cta--photo .mha-btn--primary:focus{background:var(--mha-haint);border-color:var(--mha-haint);color:var(--mha-sign)}
.mha-cta--photo .mha-btn--line{border-color:#fff;color:#fff}
.mha-cta--photo .mha-btn--line:hover,.mha-cta--photo .mha-btn--line:focus{background:#fff;border-color:#fff;color:var(--mha-sign)}

/* ---------------------------------------------------------------- Help pop-up */
html.mha-pop-open{overflow:hidden}
.mha-pop{padding:0;border:0;background:transparent;color:var(--mha-ink);width:calc(100vw - 32px);max-width:880px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:visible}
.mha-pop::backdrop{background:rgba(9,22,17,.6);opacity:0;transition:opacity .6s ease}
.mha-pop.is-open::backdrop{opacity:1}
.mha-pop-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.6);opacity:0;transform:translate3d(0,40px,0);
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,.84,.32,1)}
.mha-pop.is-open .mha-pop-card{opacity:1;transform:none}
.mha-pop-photo{margin:0;position:relative;min-height:100%;background:var(--mha-sign)}
.mha-pop-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mha-pop-body{position:relative;padding:clamp(26px,3.4vw,40px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}
.mha-pop-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:var(--mha-mist);color:var(--mha-ink);display:grid;place-items:center;cursor:pointer;padding:0}
.mha-pop-x:hover,.mha-pop-x:focus{background:var(--mha-haint);color:var(--mha-ink)}
.mha-pop-x svg{width:18px;height:18px}
.mha-pop-title{font:600 clamp(26px,2.8vw,32px)/1.12 var(--mha-serif);letter-spacing:-.01em;margin:0 48px 10px 0;color:var(--mha-ink)}
.mha-pop-text{color:var(--mha-ink-2);margin:0 0 20px;font-size:16.5px;line-height:1.55}
.mha-pop-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px}
.mha-pop-form .mha-full{grid-column:1/-1}
.mha-pop-form label{display:grid;gap:5px;font-weight:600;font-size:14.5px;margin:0}
.mha-pop-form input:not([type=hidden]),.mha-pop-form select{width:100%;min-height:48px;border:1.5px solid var(--mha-line);border-radius:var(--mha-r-s);padding:11px 12px 9px;background-color:#fff;font-size:16px;line-height:1.3;color:var(--mha-ink)}
.mha-pop-form select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--mha-ink) 50%),linear-gradient(135deg,var(--mha-ink) 50%,transparent 50%);
  background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.mha-pop-form input:focus,.mha-pop-form select:focus{border-color:var(--mha-sign);outline:none;box-shadow:0 0 0 3px rgba(13,74,55,.2)}
.mha-pop-form .mha-btn{margin-top:4px}
.mha-pop-form .mha-form-note{margin:0}
.mha-pop-error{margin:0;background:#FBEDEA;border-left:4px solid #C2412D;padding:10px 12px;border-radius:6px;font-weight:600;font-size:14.5px}
.mha-pop-done{padding-top:8px}
.mha-pop-done p{margin:0 0 12px}

/* ---------------------------------------------------------------- Cookie notice */
.mha-cookie{position:fixed;left:16px;bottom:16px;z-index:60;width:min(430px,calc(100vw - 32px));background:#fff;color:var(--mha-ink);border-radius:14px;padding:20px 20px 18px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.45),0 0 0 1px var(--mha-line);opacity:0;transform:translate3d(0,24px,0);
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,.84,.32,1)}
.mha-cookie.is-open{opacity:1;transform:none}
.mha-cookie-title{font:700 17px/1.3 var(--mha-ui);margin:0 0 6px;color:var(--mha-ink)}
.mha-cookie p{font-size:14.5px;line-height:1.5;color:var(--mha-ink-2);margin:0 0 14px}
.mha-cookie-btns{display:flex;gap:8px}
.mha-cookie-btns .mha-btn{flex:1 1 0;min-height:46px;padding:11px 12px 9px;font-size:15px}
.mha-link-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.mha-footer .mha-link-btn{color:#D4E3DD}
.mha-footer .mha-link-btn:hover,.mha-footer .mha-link-btn:focus{color:#fff;background:none;text-decoration:underline}

@media (max-width:900px){
  .mha-cookie{bottom:calc(86px + env(safe-area-inset-bottom))}
}
@media (max-width:760px){
  .mha-pop{margin:auto 0 0;width:100vw;max-width:100vw;max-height:92vh;max-height:92dvh}
  .mha-pop-card{grid-template-columns:minmax(0,1fr);border-radius:18px 18px 0 0;transform:translate3d(0,80px,0)}
  .mha-pop-photo{display:none}
  .mha-pop-body{max-height:92vh;max-height:92dvh;padding:24px 20px calc(22px + env(safe-area-inset-bottom))}
}
@media (max-width:420px){
  .mha-pop-form{grid-template-columns:minmax(0,1fr)}
}

/* ---------------------------------------------------------------- Contact details with icons */
.mha-reach div{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:14px 0 13px}
.mha-reach .mha-icon{grid-row:1 / 3;width:44px;height:44px;padding:11px;border-radius:50%;background:var(--mha-haint);color:var(--mha-sign)}
.mha-contact .mha-reach .mha-icon{background:#fff}
.mha-reach dt{font-size:13.5px;line-height:1.3}
.mha-reach dd{font-size:17px;line-height:1.35}
.mha-reach-soon{color:var(--mha-ink-2);font-weight:600}

/* ---------------------------------------------------------------- Map */
.mha-map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:clamp(24px,4vw,56px);align-items:start}
.mha-map-card .mha-reach{margin-top:0}
.mha-map-go{margin:24px 0 0}
.mha-map{position:relative;min-height:440px;height:100%;border-radius:16px;overflow:hidden;background-color:var(--mha-haint);
  background-image:linear-gradient(32deg,transparent calc(50% - 5px),rgba(255,255,255,.95) calc(50% - 5px),rgba(255,255,255,.95) calc(50% + 5px),transparent calc(50% + 5px)),
    repeating-linear-gradient(0deg,transparent 0 84px,rgba(255,255,255,.85) 84px 90px),
    repeating-linear-gradient(90deg,transparent 0 116px,rgba(255,255,255,.85) 116px 122px)}
.mha-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mha-map-cover{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:12px;text-align:center;padding:24px;
  background:radial-gradient(closest-side,rgba(214,233,228,.97) 55%,rgba(214,233,228,0) 100%)}
.mha-map-pin{width:54px;height:54px;color:var(--mha-sign);fill:#fff;stroke-width:1.6}
.mha-map-where{font:600 24px/1.25 var(--mha-serif);margin:0;color:var(--mha-ink)}
.mha-map-note{font-size:13px;line-height:1.45;color:var(--mha-ink-2);margin:0;max-width:32ch}
.mha-map.is-live .mha-map-cover{display:none}
@media (max-width:900px){
  .mha-map-grid{grid-template-columns:minmax(0,1fr)}
  .mha-map{min-height:360px}
}

/* ---------------------------------------------------------------- Motion
   Only with html.mha-motion, which is set in <head> unless the visitor's device asks for less motion.
   Slow and soft on purpose: things settle into place rather than pop. */
:root{--mha-ease:cubic-bezier(.16,.84,.32,1)}
@keyframes mha-rise{from{opacity:0;transform:translate3d(0,44px,0)}to{opacity:1;transform:none}}
@keyframes mha-fade{from{opacity:0}to{opacity:1}}
@keyframes mha-settle{from{transform:scale(1.14)}to{transform:scale(1)}}

/* On page load: the header, the home page sign and each page banner */
.mha-motion .mha-header{animation:mha-fade 1.1s ease both}
.mha-motion .mha-hero-sign{animation:mha-rise 1.6s var(--mha-ease) .2s both}
.mha-motion .mha-hero-title{animation:mha-rise 1.4s var(--mha-ease) .5s both}
.mha-motion .mha-hero-lede{animation:mha-rise 1.4s var(--mha-ease) .7s both}
.mha-motion .mha-finder{animation:mha-rise 1.4s var(--mha-ease) .9s both}
.mha-motion .mha-hero-bar{animation:mha-fade 1.8s ease 1.4s both}
.mha-motion .mha-page-hero-img{animation:mha-settle 4.5s var(--mha-ease) both}
.mha-motion .mha-page-hero .mha-crumbs{animation:mha-rise 1.3s var(--mha-ease) .2s both}
.mha-motion .mha-page-title{animation:mha-rise 1.4s var(--mha-ease) .35s both}
.mha-motion .mha-page-lede{animation:mha-rise 1.4s var(--mha-ease) .6s both}

/* On scroll: sections and cards rise into place as they come into view (site.js adds .mha-in) */
.mha-motion :where(.mha-block-head,.mha-fact,.mha-cat,.mha-value,.mha-size,.mha-step,.mha-service,.mha-guide,.mha-avenue,.mha-empty,
  .mha-prose,.mha-prose-photo,.mha-feature-photo,.mha-feature-grid > div:not(.mha-feature-photo),.mha-finance-grid > *,
  .mha-faq-grid > div:first-child,.mha-faq-group,.mha-faq details,.mha-contact-grid > *,.mha-cta-row > *,
  .mha-shop-head,.mha-shop ul.products > li,.mha-shop-about,.mha-article-head,.mha-article-photo,.mha-map-card,.mha-map){
  opacity:0;transform:translate3d(0,40px,0);
  transition:opacity 1.2s ease,transform 1.4s var(--mha-ease),border-color .2s,box-shadow .2s,background-color .2s;
  transition-delay:calc(var(--rv-i,0) * 140ms)}
.mha-motion .mha-in{opacity:1;transform:none}
/* Photos also ease out of a slight zoom inside their frame */
.mha-motion :where(.mha-prose-photo,.mha-feature-photo,.mha-article-photo) img{transform:scale(1.12);transition:transform 2.6s var(--mha-ease)}
.mha-motion :where(.mha-prose-photo,.mha-feature-photo,.mha-article-photo).mha-in img{transform:none}

@media (prefers-reduced-motion:reduce){
  .mha-fixed{clip-path:none}
  .mha-fixed-frame,.mha-fixed[data-mha-fix="top"] > .mha-fixed-frame{position:absolute;inset:0;height:auto}
  .mha-pop-card,.mha-cookie{transform:none}
}
