/* Shared static/WordPress full-site navigation. */
html.menu-open,html.menu-open body{overflow:hidden}
.site-header .brand{position:relative;z-index:3}
.site-header .menu-toggle{display:flex;position:relative;z-index:3;align-items:center;gap:.75rem;min-height:44px;padding:.5rem 0 .5rem 1rem;border:0;background:none;color:inherit;cursor:pointer;font-size:.85rem;letter-spacing:.06em}
.menu-toggle i,.menu-toggle i:after{content:"";display:block;width:1.6rem;height:2px;background:currentColor;transition:transform .25s}
.menu-toggle i:after{transform:translateY(6px)}
.menu-open .menu-toggle i{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-toggle i:after{transform:rotate(-90deg)}
.menu-open .site-header{color:var(--ink);background:none;border-color:transparent;backdrop-filter:none}
.menu-open .site-header:before{content:"";position:absolute;inset:0;z-index:2;background:var(--paper);pointer-events:none}
.site-header .site-nav{position:fixed;inset:0;z-index:1;display:block;height:100vh;height:100dvh;padding:7rem var(--pad) 3rem;background:var(--paper);color:var(--ink);font-size:1rem;text-transform:none;letter-spacing:normal;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-1rem);transition:opacity .25s,transform .35s var(--ease),visibility .35s}
.site-header .site-nav.open{visibility:visible;pointer-events:auto;opacity:1;transform:none}
.site-nav a:not(.nav-cta):after{content:none}
.menu-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,8rem);align-items:start}
.menu-eyebrow{margin:0 0 1.25rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;color:#526174}
.menu-page-links{list-style:none;margin:0 0 2rem;padding:0}
.menu-page-links a{display:flex;align-items:center;gap:1rem;min-height:48px;padding:.45rem 0;font-size:clamp(1.6rem,3.3vw,3rem);line-height:1.2;letter-spacing:-.045em}
.menu-page-links a>span{align-self:center;font-size:.65rem;letter-spacing:.08em;color:#526174}
.site-nav a:hover{color:var(--ink)}
.site-nav a:focus-visible,.site-nav summary:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}
.menu-overview .nav-cta{display:inline-flex;gap:1.5rem;align-items:center;margin-bottom:1rem;font-size:.9rem}
.menu-email{display:block;width:fit-content;font-size:.9rem;overflow-wrap:anywhere}
.menu-services-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.menu-services-heading h2{font-size:1.4rem;letter-spacing:-.03em;line-height:1.2;margin:0}
.menu-services-heading>a{font-size:.8rem;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.menu-search-label{display:block;font-size:.8rem;margin-bottom:.4rem}
.menu-search{width:100%;min-height:48px;padding:.8rem 1rem;background:#fff;border:1px solid #8d978f;border-radius:4px;font:inherit;color:var(--ink);outline-offset:3px}
.menu-search:focus-visible{outline:2px solid var(--accent)}
.menu-search-status{margin:.65rem 0 1rem;font-size:.75rem;color:#526174}
.menu-service-group{border-top:1px solid var(--line)}
.menu-service-group:last-of-type{border-bottom:1px solid var(--line)}
.menu-service-group summary{display:flex;align-items:center;gap:.75rem;min-height:56px;list-style:none;cursor:pointer;font-size:.97rem;font-weight:600;padding:.85rem 0}
.menu-service-group summary::-webkit-details-marker{display:none}
.menu-service-group summary>span{font-size:.7rem;font-weight:400;color:#526174;margin-left:auto}
.menu-service-group summary:after{content:'+';font-size:1.4rem;font-weight:400;width:1.2rem;text-align:center;flex-shrink:0}
.menu-service-group[open] summary:after{content:'−'}
.menu-service-links{padding:0 0 1rem 1rem;display:grid;gap:.15rem;border-left:2px solid var(--accent);margin:0 0 1rem}
.menu-service-links>a{padding:.6rem .5rem;min-height:44px;line-height:1.4;font-size:.9rem}
.menu-service-links .menu-category-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#526174}
.site-nav [hidden]{display:none!important}
.menu-empty{font-size:.9rem;padding:1rem 0}
.menu-empty a{text-decoration:underline}
.menu-extra{margin-top:1.5rem;font-size:.9rem}
.menu-extra .menu-list,.menu-extra .sub-menu{display:block;list-style:none;padding:0;margin:0}
.menu-extra .sub-menu{padding-left:1rem}
.menu-extra li>a{display:block;padding:.6rem 0;min-height:44px}
#ueber-uns,#leistungen,#qualitaet,#ablauf,#kontakt,.service-directory-group{scroll-margin-top:6rem}
body.admin-bar .site-nav{padding-top:9rem}
@media(max-width:900px){.site-header .site-nav{padding-top:6rem}.menu-layout{gap:2.5rem}.menu-page-links a{font-size:1.8rem}}
@media(max-width:640px){.menu-layout{grid-template-columns:1fr;gap:2.5rem}.site-header .brand{max-width:calc(100% - 6rem);font-size:.85rem}.site-header .brand-mark{width:2rem;height:2rem;flex-shrink:0}.menu-page-links{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;margin-bottom:1.25rem}.menu-page-links a{font-size:1.3rem;gap:.5rem}.menu-eyebrow{font-size:.63rem}.menu-services-heading h2{font-size:1.25rem}.site-header .site-nav{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.site-header .site-nav,.menu-toggle i,.menu-toggle i:after{transition:none}}

/* HK Bauservice brand palette: exact client-supplied colors. */
:root{--blue:#4387EF;--red:#E74739;--yellow:#F9BC12;--green:#36A65B;--violet:#7B61FF;--ink:#0F172A;--forest:#172338;--paper:#F7F9FC;--white:#FFFFFF;--accent:var(--blue);--line:rgba(15,23,42,.16)}
.site-header.scrolled{background:rgba(247,249,252,.96)}
.menu-open .site-header{background:none}
.brand-mark{border-color:var(--blue)}
.site-footer .brand-mark{border-color:var(--yellow)}
.button-light,.menu-overview .nav-cta,.service-content .wp-block-button__link{background:var(--blue);border-color:var(--blue);color:var(--ink)}
.button-light:hover,.menu-overview .nav-cta:hover,.service-content .wp-block-button__link:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.contact .button-light{background:var(--yellow);color:var(--ink)}
.contact .button-light:hover{background:var(--blue)}
.site-nav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:5px}
.site-nav .nav-cta:hover{text-decoration:none}
.menu-eyebrow,.menu-page-links a>span,.menu-search-status,.menu-service-group summary>span,.menu-service-links .menu-category-link{color:#526174}
.menu-service-group{--group-color:var(--blue)}
.menu-service-group:nth-of-type(5n+2){--group-color:var(--red)}
.menu-service-group:nth-of-type(5n+3){--group-color:var(--yellow)}
.menu-service-group:nth-of-type(5n+4){--group-color:var(--green)}
.menu-service-group:nth-of-type(5n+5){--group-color:var(--violet)}
.menu-service-group summary:before{content:"";width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--group-color)}
.menu-service-links{border-left-color:var(--group-color)}
.menu-page-links a:hover{background:rgba(67,135,239,.07);border-radius:4px}
.hero-cue-two strong:nth-child(2){color:var(--yellow)}
.hero-index i:after{background:var(--blue)}
.manifesto aside strong{width:fit-content;border-bottom:4px solid var(--green);padding-bottom:.1em}
.services{background:var(--ink)}
.services .section-label{color:var(--yellow)}
.service-card{background:#1B293E}
.service-card span{display:inline-block;background:var(--blue);color:var(--ink);padding:.2rem .5rem;border-radius:3px}
.service-card:nth-child(5n+2) span{background:var(--red)}
.service-card:nth-child(5n+3) span{background:var(--yellow)}
.service-card:nth-child(5n+4) span{background:var(--green)}
.service-card:nth-child(5n+5) span{background:var(--violet);color:#000000}
.service-card img{filter:none}
.promise-copy li span{color:var(--ink);border-left:3px solid var(--green);padding-left:.6rem}
.promise-copy li:nth-child(2) span{border-left-color:var(--blue)}
.promise-copy li:nth-child(3) span{border-left-color:var(--yellow)}
.process{background:#EAF0F7}
.process-list span{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--blue);color:var(--ink);font-weight:700}
.process-list li:nth-child(2) span{background:var(--red)}
.process-list li:nth-child(3) span{background:var(--yellow)}
.process-list li:nth-child(4) span{background:var(--green)}
.site-footer{background:#101827}
.site-footer>small{color:rgba(255,255,255,.7)}
.service-search{background:#EAF0F7;border-top:3px solid var(--blue)}
.service-breadcrumb,.service-directory-group>p{color:#526174}
.service-directory-list li span{color:#526174}
.service-directory-list li a:hover,.service-directory-list li a:focus-visible{color:var(--ink);background:rgba(67,135,239,.07)}
.service-directory-list li b{color:var(--ink);border-bottom:2px solid var(--blue)}
.service-directory-group:nth-of-type(5n+2) li b{border-color:var(--red)}
.service-directory-group:nth-of-type(5n+3) li b{border-color:var(--yellow)}
.service-directory-group:nth-of-type(5n+4) li b{border-color:var(--green)}
.service-directory-group:nth-of-type(5n+5) li b{border-color:var(--violet)}
.service-category-nav a:hover{background:var(--blue);color:var(--ink);border-color:var(--blue)}
.service-content a:not(.wp-element-button){text-decoration-color:var(--blue)}
.menu-search,.service-search input{border-color:#7A8799}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 2px #fff}
.service-feature-link:focus-visible,.service-subpage :focus-visible{outline-color:var(--blue)}
