/* ml-footer-contrast122 */
/* Keep the sandy footer; increase contrast without losing the olive gradient. */
html body footer.ml-footer{--mlgu-gradient:linear-gradient(90deg,#535B3D 0%,#40472D 48%,#252B19 100%);--ml-heading-gradient:var(--mlgu-gradient)}
html body footer.ml-footer .ml-footer-invite p{color:#252B19!important}
html body footer.ml-footer .ml-footer-invite .eyebrow{color:#41482F!important;opacity:1!important}
html body footer.ml-footer .ml-footer-grid p,html body footer.ml-footer .ml-footer-grid a,html body footer.ml-footer .ml-footer-grid address,html body footer.ml-footer .ml-footer-grid h3,html body footer.ml-footer .ml-footer-grid .eyebrow,html body footer.ml-footer .ml-footer-bottom,html body footer.ml-footer .ml-footer-bottom a{color:#41482F!important;-webkit-text-fill-color:currentColor!important;opacity:1!important}
html body footer.ml-footer .ml-footer-brand p{font-weight:500!important}
html body footer.ml-footer .ml-footer-grid a:hover,html body footer.ml-footer .ml-footer-grid a:focus-visible,html body footer.ml-footer .ml-footer-bottom a:hover{color:#252B19!important;text-decoration:underline;text-underline-offset:4px}
html body footer.ml-footer .ml-footer-grid,html body footer.ml-footer .ml-footer-invite,html body footer.ml-footer .ml-footer-bottom{border-color:#aaa083!important}

/* ml-gallery128 */
html body .ml128-gallery{background:#e2d8c3;color:#353820;padding:clamp(48px,6vw,88px) 6vw}.ml128-shell{max-width:1240px;margin:auto}.ml128-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:34px}.ml128-head .eyebrow{display:block;font:500 11px/1.5 var(--title);letter-spacing:.25em;text-transform:uppercase;color:#535b3d}.ml128-head h2{font:300 clamp(42px,5.5vw,76px)/1.08 var(--title);text-transform:uppercase;margin:16px 0 0;background:linear-gradient(90deg,#858c68,#30351f);background-clip:text;-webkit-background-clip:text;color:transparent}.ml128-head>p{max-width:330px;font:500 15px/1.75 var(--body);margin:0;color:#50583b}.ml128-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;grid-auto-rows:210px}.ml128-tile{margin:0;position:relative;min-width:0;overflow:hidden;background:#cdc1a8}.ml128-tile[hidden]{display:none!important}.ml128-tile:first-child{grid-column:span 2;grid-row:span 2}.ml128-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;overflow:hidden}.ml128-open img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s ease}.ml128-open:hover img{transform:scale(1.035)}.ml128-open:focus-visible{outline:3px solid #353820;outline-offset:-4px}.ml128-expand{position:absolute;right:12px;bottom:12px;width:30px;height:30px;background:#eee6d6;color:#353820;display:grid;place-items:center;font:400 22px/1 Arial;pointer-events:none}.ml128-tile figcaption{position:absolute;bottom:0;left:0;right:0;background:#eee6d6;color:#353820;padding:10px 46px 10px 14px;font:500 12px/1.5 var(--body);pointer-events:none}.ml128-actions{display:flex;gap:24px;align-items:center;margin-top:28px}.ml128-more{border:1px solid #b5a888;background:#d0c4ab;color:#353820;padding:16px 22px;font:500 12px/1.4 var(--title);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.ml128-more span{margin-left:24px;font-size:20px;vertical-align:middle}.ml128-count{font:400 12px/1.4 var(--body);color:#535b3d}.ml128-dialog{box-sizing:border-box;border:1px solid #aaa083;background:#eee6d6;color:#353820;width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:52px 58px 36px;overflow:auto}.ml128-dialog::backdrop{background:rgba(25,29,18,.88)}.ml128-dialog figure{margin:0}.ml128-dialog figure img{display:block;width:100%;height:70dvh;object-fit:contain}.ml128-dialog figcaption{font:500 14px/1.6 var(--body);text-align:center;margin-top:12px}.ml128-dialog button{position:absolute;border:1px solid #aaa083;background:#e2d8c3;color:#353820;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;font:400 25px/1 Arial}.ml128-close{top:10px;right:12px}.ml128-prev{top:48%;left:10px}.ml128-next{top:48%;right:10px}.ml128-position{text-align:center;font:400 11px/1.4 var(--body);margin:10px 0 0}@media(max-width:900px){.ml128-grid{grid-auto-rows:160px}}@media(max-width:600px){html body .ml128-gallery{padding:44px 24px}.ml128-head{display:block;margin-bottom:24px}.ml128-head>p{margin-top:18px;max-width:100%;font-size:14px}.ml128-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:12px}.ml128-tile:first-child{grid-row:span 1;grid-column:span 1}.ml128-dialog{padding:50px 38px 24px}.ml128-dialog figure img{height:65dvh}.ml128-dialog button{width:30px;height:30px}.ml128-prev{left:4px}.ml128-next{right:4px}}@media(prefers-reduced-motion:reduce){.ml128-open img{transition:none}.ml128-open:hover img{transform:none}}

/* mlgt-gallery */
.mlgt-tabs{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 14px;margin:0 0 18px;scrollbar-width:thin}.mlgt-tabs [role=tab]{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid #b5a888;background:transparent;color:#353820;font:500 13px/1.4 var(--body);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.mlgt-tabs [role=tab] span{font-size:11px;opacity:.8}.mlgt-tabs [aria-selected=true]{background:#535b3d;border-color:#535b3d;color:#eee6d6}.mlgt-tabs [role=tab]:focus-visible{outline:2px solid #353820;outline-offset:2px}.mlgt-tabs [role=tab]:hover{border-color:#535b3d}.mlgt-gallery .ml128-tile:first-child{grid-column:auto;grid-row:auto}.mlgt-gallery .ml128-tile.mlgt-featured{grid-column:span 2;grid-row:span 2}.mlgt-gallery .ml128-expand{width:34px;height:34px;right:12px;bottom:12px;border:1px solid #b5a888;transition:background-color .2s,color .2s}.mlgt-gallery .ml128-expand svg{width:19px;height:19px;display:block}.mlgt-gallery .ml128-open:hover .ml128-expand{background:#535b3d;color:#eee6d6}.mlgt-gallery .mlgt-empty{font:400 15px/1.7 var(--body);padding:24px 0;color:#535b3d}.mlgt-gallery [hidden]{display:none!important}.mlgt-gallery .ml128-actions{min-height:20px}.mlgt-gallery .ml128-count{font-variant-numeric:tabular-nums}@media(max-width:600px){.mlgt-gallery .ml128-tile.mlgt-featured{grid-column:span 1;grid-row:span 1}.mlgt-tabs [role=tab]{padding:10px 14px;font-size:12px}.mlgt-gallery .ml128-expand{width:30px;height:30px}.mlgt-gallery .ml128-expand svg{width:17px;height:17px}}@media(prefers-reduced-motion:reduce){.mlgt-tabs [role=tab],.mlgt-gallery .ml128-expand{transition:none}}
.mlgt-gallery .ml128-grid.mlgt-small-set{grid-template-columns:repeat(var(--mlgt-small-columns,3),minmax(0,1fr));grid-auto-rows:clamp(220px,28vw,360px)}

/* ml-heading-spectrum */
/* First-paint colours match the measured renderer. Never make a new ancestor transparent. */
html body{
 --mlgu-gradient:linear-gradient(90deg,#a4a889 0%,#535b3d 100%)!important;
 --ml-heading-gradient:linear-gradient(90deg,#a4a889 0%,#535b3d 100%)!important;
}
html body main :is(.title h1,.title h2,.clean-title h1,.clean-title h2,.ml128-head h2,.ml-team-teaser h2,.ml-refined-title):not(.mlgu-title):not(:is(.hero,.inner-hero,.seller-hero,.project-detail-hero,.pd-hero,.pd-enquiry,[data-ml-contrast="sand"],dialog) *){
 background-image:var(--ml-heading-gradient)!important;
 background-clip:text!important;-webkit-background-clip:text!important;
}
html body main :is(.light,.dark) :is(h1,h2):not(.mlgu-title) .heading-content:not(:is(.hero,.inner-hero,.seller-hero,.project-detail-hero,.pd-hero,.pd-enquiry,[data-ml-contrast="sand"],dialog) *){
 background-image:var(--ml-heading-gradient)!important;
}
/* One evenly interpolated field across each visible heading line.
   Both endpoints already exist in the brand palette: pale olive and
   the footer's medium-dark olive. No pale sand tint or near-black endpoint. */
html body main .mlgu-title.mlgu-title,
html body footer.ml-footer .mlgu-title.mlgu-title{
 --mls-palette:linear-gradient(90deg,#a4a889 0%,#535b3d 100%);
}
html body main .mlgu-title.mlgu-title .mlgu-run.mls-run,
html body footer.ml-footer .mlgu-title.mlgu-title .mlgu-run.mls-run{
 background-image:var(--mls-palette)!important;
 background-size:var(--mls-size) 100%!important;
 background-position:var(--mls-offset) 0!important;
 background-repeat:no-repeat!important;
}
html body main .mlgu-title.mlgu-title .mlgu-run.mls-run.mls-vertical,
html body footer.ml-footer .mlgu-title.mlgu-title .mlgu-run.mls-run.mls-vertical{
 background-image:var(--mls-vertical-paint,var(--mls-palette))!important;
 background-size:100% var(--mls-size)!important;
 background-position:0 var(--mls-offset)!important;
}
@media(forced-colors:active){
 html body main .mlgu-title.mlgu-title .mlgu-run.mls-run,
 html body footer.ml-footer .mlgu-title.mlgu-title .mlgu-run.mls-run{background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important;}
}
@media print{
 html body main .mlgu-title.mlgu-title .mlgu-run.mls-run,
 html body footer.ml-footer .mlgu-title.mlgu-title .mlgu-run.mls-run{background:none!important;color:#6d7352!important;-webkit-text-fill-color:#6d7352!important;}
}
/* Keep the painted circle and icon identical in normal/hover/focus/active.
   The transparent rim must also win against the legacy :hover border rule. */
html body footer.ml-footer a.ml-footer-arrow,
html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active){
 box-sizing:border-box!important;
 width:64px!important;height:64px!important;min-width:64px!important;
 min-height:64px!important;max-width:64px!important;max-height:64px!important;
 padding:0!important;border:6px solid transparent!important;
 border-radius:50%!important;background-clip:padding-box!important;
 color:#eee8da!important;box-shadow:none!important;
 transform:none!important;scale:1!important;animation:none!important;
 transition:background-color 280ms ease-in-out,color 280ms ease-in-out!important;
}
html body footer.ml-footer a.ml-footer-arrow{background-color:#6d7352!important;background-image:none!important;}
html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active){
 background-color:#535b3d!important;background-image:none!important;
}
html body footer.ml-footer a.ml-footer-arrow:focus-visible{
 outline:2px solid #535b3d;outline-offset:3px;
}
html body footer.ml-footer a.ml-footer-arrow svg.ml-arrow-icon,
html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active) svg.ml-arrow-icon{
 width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;
 max-width:19px!important;max-height:19px!important;flex-shrink:0;
 transform:none!important;scale:1!important;animation:none!important;transition:none!important;
}
@media(max-width:767px){
 html body footer.ml-footer a.ml-footer-arrow,
 html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active){
 width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;
 max-width:52px!important;max-height:52px!important;border-width:4px!important;
 }
 html body footer.ml-footer a.ml-footer-arrow svg.ml-arrow-icon,
 html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active) svg.ml-arrow-icon{
 width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;
 max-width:17px!important;max-height:17px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 html body footer.ml-footer a.ml-footer-arrow,
 html body footer.ml-footer a.ml-footer-arrow:is(:hover,:focus-visible,:active){transition:none!important;}
}
