/* Secondary links and contact actions follow the approved homepage system. */
.site-menu .menu-contact-icons{display:none}
@media(max-width:899px){
 .site-menu{overflow:hidden}
 .site-menu .mobile-menu-panel{width:100%;max-width:none;height:100dvh;margin:0;padding:max(20px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
 .site-menu .menu-top{margin:0;gap:20px}
 .site-menu .menu-brand{width:64px}
 .site-menu .menu-close{width:44px;height:44px;flex:none;border-color:#f7f4ee55}
 .site-menu .menu-links-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-self:stretch;min-height:0;gap:18px}
 .site-menu .menu-primary{align-self:start}
 .site-menu .menu-primary>.menu-label{display:none}
 .site-menu .menu-primary ul{display:flex;flex-direction:column;gap:0}
 .site-menu .menu-primary a{display:flex;align-items:center;min-height:52px;width:fit-content;max-width:100%;padding:5px 0;font:500 34px/1.2 Montserrat,sans-serif;letter-spacing:-.025em;color:#f7f4ee}
 .site-menu .menu-primary a:hover{color:#fff;text-decoration:underline;text-decoration-color:#c60000;text-decoration-thickness:2px;text-underline-offset:7px}
 .site-menu .menu-services{align-self:end;padding-top:16px;border-top:1px solid #f7f4ee35}
 .site-menu .menu-services>.menu-label{margin:0 0 8px;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f7f4ee}
 .site-menu .menu-services ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
 .site-menu .menu-services a{display:flex;align-items:center;min-height:44px;padding:6px 0;font-size:13px;font-weight:500;line-height:1.4;color:#f7f4ee}
 .site-menu .menu-services a:hover{color:#fff;text-decoration:underline;text-decoration-color:#c60000;text-underline-offset:4px}
 .site-menu .menu-services .menu-news{width:100%;justify-content:flex-start;margin-top:0;padding-block:6px;font-size:13px;text-align:left}
 .site-menu .menu-contact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:0;padding-top:18px;border-color:#f7f4ee35}
 .site-menu .menu-contact>.menu-contact-detail{display:none}
 .site-menu .menu-contact>.menu-contact-icons{display:flex;align-items:center;gap:8px;grid-column:1;grid-row:1}
 .site-menu .menu-contact .menu-contact-action{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #f7f4ee55;border-radius:50%;color:#f7f4ee;background:transparent;transition:background-color .18s ease,border-color .18s ease}
 .site-menu .menu-contact-action svg{display:block;width:20px;height:20px;flex:none}
 .site-menu .menu-contact .menu-contact-action:hover{background:#292929;border-color:#f7f4ee}
 .site-menu .menu-contact .mobile-quote{grid-column:2;grid-row:1;justify-self:end;align-self:center;width:auto;min-height:48px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}
 .site-menu a:focus-visible,.site-menu button:focus-visible{outline:2px solid #f7f4ee;outline-offset:4px}
}
@media(max-width:899px) and (max-height:740px){
 .site-menu .mobile-menu-panel{padding:max(12px,env(safe-area-inset-top)) 18px max(12px,env(safe-area-inset-bottom));gap:10px}
 .site-menu .menu-brand{width:56px}
 .site-menu .menu-links-grid{gap:10px}
 .site-menu .menu-primary a{min-height:48px;padding:4px 0;font-size:32px;line-height:1.15}
 .site-menu .menu-services{padding-top:10px}
 .site-menu .menu-services>.menu-label{margin-bottom:6px}
 .site-menu .menu-services ul{column-gap:16px}
 .site-menu .menu-contact{gap:8px;padding-top:10px}
 .site-menu .menu-contact .mobile-quote{min-height:44px;padding:10px 12px}
}
@media(max-width:599px) and (max-height:620px){
 .site-menu .mobile-menu-panel{padding:max(8px,env(safe-area-inset-top)) 18px max(8px,env(safe-area-inset-bottom));gap:6px}
 .site-menu .menu-links-grid{gap:8px}
 .site-menu .menu-primary a{min-height:44px;font-size:30px}
 .site-menu .menu-services{padding-top:8px}
 .site-menu .menu-services>.menu-label{margin-bottom:4px}
 .site-menu .menu-contact{padding-top:6px}
 .site-menu .menu-contact>.menu-contact-icons{gap:4px}
 .site-menu .menu-contact .mobile-quote{font-size:12px;padding-inline:10px}
}
@media(max-width:360px){
 .site-menu .menu-contact>.menu-contact-icons{gap:4px}
 .site-menu .menu-contact{gap:8px}
 .site-menu .menu-contact .mobile-quote{font-size:12px;padding-inline:10px}
}
/* A short landscape screen retains the primary links in one vertical list. */
@media(min-width:600px) and (max-width:899px) and (max-height:600px){
 .site-menu .mobile-menu-panel{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:44px minmax(0,1fr);gap:16px 28px;padding:max(12px,env(safe-area-inset-top)) 24px max(12px,env(safe-area-inset-bottom))}
 .site-menu .menu-top{grid-column:1/-1;grid-row:1}
 .site-menu .menu-links-grid{display:contents}
 .site-menu .menu-primary{grid-column:1;grid-row:2;align-self:start}
 .site-menu .menu-primary a{min-height:44px;font-size:30px}
 .site-menu .menu-services{grid-column:2;grid-row:2;align-self:start;padding-top:0;border:0}
 .site-menu .menu-services ul{column-gap:14px}
 .site-menu .menu-contact{grid-column:2;grid-row:2;align-self:end;grid-template-columns:auto minmax(0,1fr);gap:6px}
 .site-menu .menu-contact>.menu-contact-icons{gap:4px}
 .site-menu .menu-contact .mobile-quote{font-size:12px;padding-inline:8px}
}
@media(min-width:600px) and (max-width:899px) and (max-height:440px){
 .site-menu .menu-services a{min-height:32px;padding-block:4px}
 .site-menu .menu-services .menu-news{min-height:32px;margin-top:0}
}
@media(prefers-reduced-motion:reduce){.site-menu .menu-contact .menu-contact-action{transition:none}}

/* Keep the first page link clear of the logo on a narrow phone. */
@media(max-width:599px) and (min-height:621px){.site-menu .mobile-menu-panel{row-gap:18px}}
@media(min-width:900px){.site-menu .menu-services .menu-news{font-size:17px;min-height:44px;margin:0;padding:8px 0;color:inherit}}

.site-menu .menu-services>.menu-label{font-weight:700}
