/* 2.3.1 — explicit sizing, intrinsic overflow prevention and clear search controls. */
html body.mzd .mz-header__inner{min-width:0}
html body.mzd .mz-header__brand{min-width:0;max-width:100%}
html body.mzd .mz-header__brand .custom-logo-link{display:inline-flex;align-items:center;max-width:210px}
html body.mzd .mz-header__brand .custom-logo{display:block;width:auto;max-width:100%;height:52px;object-fit:contain}
html body.mzd .mz-header__logo{max-width:100%;flex-shrink:0}
html body.mzd .mz-header__logo span{display:inline;white-space:nowrap}
html body.mzd .mzd-header__tools{min-width:0;flex-shrink:0}
html body.mzd .mzx-search-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;background:#17150f;color:#fffdf6;border:2px solid #17150f;box-shadow:0 2px 0 #ffc93c;font-size:14px;font-weight:800;white-space:nowrap;line-height:1.2}
html body.mzd .mzx-search-open:hover{background:#3a362b;color:#fffdf6}
html body.mzd .mzx-search-open svg{width:18px;height:18px;flex:none}
html body.mzd .mzx-search-open kbd{font:600 10px/1.2 inherit;padding:3px 5px;background:#ffffff24;border-radius:5px;color:#fffdf6}
@media(min-width:901px){
 html body.mzd .mz-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;padding-top:12px;padding-bottom:8px}
 html body.mzd .mz-header__brand{grid-column:1;grid-row:1;justify-self:start}
 html body.mzd .mzd-header__tools{grid-column:2;grid-row:1;order:initial;justify-self:end}
 html body.mzd .mz-nav{grid-column:1/-1;grid-row:2;order:initial;width:100%;margin:8px 0 0;min-width:0;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ece6d3;padding-top:8px}
 html body.mzd .mz-nav__list.mzm-list{flex:1;min-width:0;justify-content:space-between;gap:2px;flex-wrap:nowrap}
 html body.mzd .mzm-trigger{padding:0 10px;font-size:14px}
 html body.mzd .mz-nav__cta{white-space:nowrap;flex-shrink:0;font-size:13px;padding:12px 17px;min-height:44px}
 html body.mzd .mzm-panel{max-width:100%;top:100%}
}
@media(min-width:901px) and (max-width:1100px){
 html body.mzd .mzm-trigger{padding:0 5px;font-size:12px;gap:2px}
 html body.mzd .mz-nav__cta{font-size:12px;padding-inline:12px}
 html body.mzd .mz-nav{gap:8px}
}
html body.mzd .mzx-hero__grid>*,html body.mzd .mzx-model-panel>*,html body.mzd .mzd-services>*,html body.mzd .mzd-projects>*{min-width:0}
html body.mzd .mzx-expert__photo{aspect-ratio:1/1;background:radial-gradient(ellipse at 50% 70%,#ffe7a1 0,#fff4d5 48%,#fffdf6 80%);height:auto;padding:0}
html body.mzd .mzx-expert__photo img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:1/1;object-fit:contain;object-position:center bottom}
html body.mzd .mzx-expert{display:block}
html body.mzd .mzx-expert__body{min-width:0}
html body.mzd .mzx-hero h1,html body.mzd .mzx-about h1{overflow-wrap:anywhere}
html body.mzd .mzd-actions{max-width:100%;flex-wrap:wrap}
html body.mzd .mzd-actions>a{max-width:100%;white-space:normal;text-align:center}
html body.mzd .mzx-search-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);padding:28px;border:2px solid #d9cfb5;border-top:6px solid #ffc93c}
html body.mzd .mzx-search-dialog h2{padding-right:35px;font-size:28px;line-height:1.15}
html body.mzd .mzx-search-dialog .mz-global-search__inner{display:block}
html body.mzd .mzx-search-dialog .mz-global-search__copy{display:block;margin:12px 0 20px;color:#514c40}
html body.mzd .mzx-search-dialog .mz-global-search__copy strong{display:block;color:#17150f;font-size:16px;line-height:1.5}
html body.mzd .mzx-search-dialog .mz-global-search__copy small{display:block;margin-top:8px;color:#625c4f}
html body.mzd .mzx-search-dialog form{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-width:0}
html body.mzd .mzx-search-dialog form label{width:100%;color:#17150f;font-weight:800;font-size:14px}
html body.mzd .mzx-search-dialog input[type=search],html body.mzd .mzx-search-dialog input[name=s]{display:block;flex:1 1 230px;min-width:0;width:100%;max-width:100%;min-height:54px;border:2px solid #8a7751;background:#fff;color:#17150f;border-radius:12px;padding:13px 15px;box-sizing:border-box;font:inherit}
html body.mzd .mzx-search-dialog input::placeholder{color:#716b5d;opacity:1}
html body.mzd .mzx-search-dialog form button{min-height:54px;border:2px solid #17150f;background:#ffc93c;color:#17150f;border-radius:12px;padding:12px 22px;font:inherit;font-weight:800;flex-shrink:0}
html body.mzd .mzx-search-dialog input:focus{outline:3px solid #ffc93c;outline-offset:3px}
html body.mzd .mzx-search-dialog .search-form{max-width:100%;width:100%}
html body.mzd .mzx-about{padding:56px 0;background:#fffdf6}
.mzx-about__intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:44px;align-items:center}
.mzx-about h1{font-size:clamp(36px,4.5vw,64px);line-height:1.05;letter-spacing:-1.5px;margin:18px 0 24px}
.mzx-about p{line-height:1.85;color:#514c40}
.mzx-about__portrait{border:1px solid #ece6d3;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#ffe7a1,#fffdf6 80%);margin:0}
.mzx-about__portrait img{display:block;width:100%;height:auto;object-fit:contain}
.mzx-about__portrait figcaption{padding:18px 24px;background:#fff8e1;font-weight:800}
.mzx-about__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:38px 0;padding:22px 0;border-block:1px solid #ece6d3}
.mzx-about__facts strong{display:block;font-size:23px;color:#17150f}.mzx-about__facts span{font-size:13px;color:#625c4f}
.mzx-about__section{padding:36px 0}.mzx-about__section h2{font-size:clamp(28px,3vw,42px);line-height:1.2;margin:0 0 20px}.mzx-about__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mzx-about__cards article{min-width:0;padding:28px;border:1px solid #ece6d3;border-radius:22px;background:#fff8e1}.mzx-about__cards h3{font-size:23px;margin:0 0 14px}.mzx-about__cards ul{padding-left:20px;line-height:1.9;color:#514c40}.mzx-about__closing{background:#17150f;color:#fffdf6;padding:32px;border-radius:24px}.mzx-about__closing p{color:#e5dfcf}
@media(max-width:900px){
 html body.mzd .mz-header__inner{gap:10px;justify-content:space-between;min-height:76px}
 html body.mzd .mz-header__brand{flex:1 1 auto;min-width:0}
 html body.mzd .mz-header__brand .custom-logo-link{max-width:170px}
 html body.mzd .mz-header__brand .custom-logo{height:44px}
 html body.mzd .mzd-header__tools{gap:7px;margin:0}
 html body.mzd .mz-header__logo span{font-size:18px}
 html body.mzd .mz-header__logo img{width:38px;height:38px}
 html body.mzd .mzx-search-open{padding:9px 12px;min-height:44px;font-size:13px}
 html body.mzd .mzx-search-open kbd{display:none}
 html body.mzd .mz-nav{box-sizing:border-box;max-width:100vw;left:0;right:0;width:100%;margin:0;min-width:0}
 html body.mzd .mz-nav__list.mzm-list,html body.mzd .mzm-panel__inner,html body.mzd .mzm-col,html body.mzd .mzm-links,html body.mzd .mzm-item{min-width:0;max-width:100%;box-sizing:border-box}
 html body.mzd .mzm-links a{overflow-wrap:anywhere;white-space:normal}
 .mzx-about__intro{grid-template-columns:1fr}.mzx-about__portrait{max-width:450px;width:100%;margin:auto}
}
@media(max-width:700px){
 html body.mzd .mzx-hero__grid{grid-template-columns:minmax(0,1fr)}
 html body.mzd .mzx-expert{display:block;width:100%;box-sizing:border-box}
 html body.mzd .mzx-expert__photo{height:auto;aspect-ratio:1}
 html body.mzd .mzx-expert__photo img{height:auto;width:100%;object-fit:contain}
 html body.mzd .mzx-expert__body{padding:24px}
 html body.mzd .mzx-expert dl>div{flex-wrap:nowrap;font-size:12px}
 html body.mzd .mzx-expert dd{min-width:0;overflow-wrap:anywhere}
 html body.mzd .mzx-hero__message{padding:25px 22px}
 html body.mzd .mzx-hero h1{font-size:clamp(30px,8.5vw,43px);letter-spacing:-1px}
 html body.mzd .mzx-model-tabs{box-sizing:border-box;min-width:0}
 html body.mzd .mzx-model-tabs button{min-width:0;overflow-wrap:anywhere}
 html body.mzd .mzx-search-dialog{padding:22px 18px}
 html body.mzd .mzx-search-dialog form button{width:100%}
 .mzx-about{padding:30px 0!important}.mzx-about__cards{grid-template-columns:1fr}.mzx-about__facts{gap:12px}.mzx-about__facts strong{font-size:18px}.mzx-about__facts span{font-size:11px}
}
@media(max-width:480px){
 html body.mzd .mz-header__logo span{display:none}
 html body.mzd .mz-header__brand .custom-logo-link{max-width:120px}
 html body.mzd .mzd-header__tools .mzl-switch>summary{padding-inline:8px;min-width:40px}
 html body.mzd .mz-header__toggle{width:40px;min-width:40px}
 html body.mzd .mz-header__inner{gap:8px}
 html body.mzd .mzx-topbar .mz-topbar__inner{padding-inline:10px;gap:0}
}

html body.mzd .mzx-search-dialog .mz-search__wrap{width:100%;min-width:0}html body.mzd .mzx-search-dialog .mz-search__row{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-width:0}html body.mzd .mzx-search-dialog .mz-search__label{display:block;position:static;clip:auto;width:100%;height:auto;overflow:visible;margin:0 0 8px}html body.mzd .mzx-search-dialog .mz-search__suggestions{position:static;max-width:100%;box-sizing:border-box}
@media(max-width:480px){html body.mzd .mzx-search-open{padding:9px 10px;font-size:12px}html body.mzd .mzx-search-open svg{width:16px;height:16px}}

html body.mzd .mzx-search-dialog .mz-global-search__eyebrow{color:#735100}.mzx-expert{scroll-margin-top:95px}

@media(max-width:700px){html body.mzd .mzx-hero h1{font-size:clamp(25px,7.5vw,42px);overflow-wrap:normal}}

/* 2.3.2: latest supplied portrait and selective service contact card. */
html body.mzd .mzx-expert__photo,.mzx-about__portrait{background:#fff}
.mzx-service-expert{display:grid;grid-template-columns:minmax(170px,250px) minmax(0,1fr);align-items:center;gap:36px;padding:28px;border:1px solid #e7dfc8;border-radius:26px;background:#fffdf6;box-sizing:border-box}
.mzx-service-expert__portrait{background:#fff;border-radius:18px;overflow:hidden;min-width:0}
.mzx-service-expert__portrait img{display:block;width:100%;height:auto;object-fit:contain}
.mzx-service-expert__copy{min-width:0}.mzx-service-expert__copy h2{font-size:clamp(25px,3vw,38px);line-height:1.15;margin:10px 0 18px}.mzx-service-expert__copy p{line-height:1.8;color:#514c40}.mzx-service-expert__meta{font-size:12px}
@media(max-width:640px){.mzx-service-expert{grid-template-columns:minmax(0,1fr);padding:22px;gap:22px}.mzx-service-expert__portrait{width:min(100%,240px);justify-self:center}.mzx-service-expert .mzd-actions{display:flex;flex-direction:column;align-items:stretch}.mzx-service-expert .mzd-actions>a{font-size:14px;padding-inline:12px}}
