:root{--ui-bg:#fff;--ui-surface:#f5f7f5;--ui-text:#1b1b1b;--ui-muted:#505a53;--ui-line:#ccd8cf;--ui-accent:#156437;color-scheme:light}
html[data-theme=dark]{--ui-bg:#101914;--ui-surface:#1b2921;--ui-text:#f3f6f4;--ui-muted:#c3cfc7;--ui-line:#52665a;--ui-accent:#8bd5a6;color-scheme:dark}
body{background:var(--ui-bg);color:var(--ui-text)}
.utility-bar{display:flex;justify-content:flex-end;gap:8px;align-items:center;padding:7px 5%;background:var(--ui-surface);border-bottom:1px solid var(--ui-line);font-size:.875rem;flex-wrap:wrap}
.utility-bar button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 12px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-bg);color:var(--ui-text);font:500 .875rem Montserrat,Arial,sans-serif;cursor:pointer}
.utility-bar button:hover{border-color:var(--ui-accent)}
.utility-bar button[aria-pressed=true]{border-color:var(--ui-accent);box-shadow:inset 0 -2px var(--ui-accent)}
.utility-lang{display:flex;gap:4px}.utility-lang button{min-width:40px}
.settings-dialog{width:min(480px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:1px solid var(--ui-line);border-radius:12px;padding:28px;background:var(--ui-bg);color:var(--ui-text);box-shadow:0 20px 80px #0005}
.settings-dialog::backdrop{background:#0008}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-head h2{font-size:1.5rem;margin:0}.settings-close{width:44px;height:44px;flex-shrink:0;border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-text);border-radius:6px;font-size:1.5rem;cursor:pointer}
.settings-options{border:0;padding:0;margin:24px 0}.settings-options label{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--ui-line);font-size:1rem;cursor:pointer}.settings-options input{width:22px;height:22px;accent-color:#156437;flex-shrink:0}
.settings-dialog p{color:var(--ui-muted);font-size:.9375rem}.settings-reset{margin-top:6px}
:focus-visible{outline:3px solid #cf7800;outline-offset:4px}
p{color:var(--ui-muted)}
html[data-theme=dark] :is(.header,footer,.pale,.section,.service-aside,.group-aside,.group-service-card,.service-card,.google-review,.original-stats>div,.hansa-applications li,.brand-card,.master-vendor-intro,.hansa-request,.handoff,.form-panel,.form-card,.review,.choice,.settings-dialog){background-color:var(--ui-bg);color:var(--ui-text);border-color:var(--ui-line)}
html[data-theme=dark] :is(.pale,footer,.service-aside,.group-aside,.master-vendor-intro,.hansa-request){background-color:var(--ui-surface)}
html[data-theme=dark] :is(h1,h2,h3,h4){color:var(--ui-text)}
html[data-theme=dark] :is(em,.eyebrow,.text-link,.about-location-address,.caption){color:var(--ui-accent)}
html[data-theme=dark] :is(p,label,legend,.footer-bottom,.footer-grid a,.breadcrumb,.form-hint){color:var(--ui-muted)}
html[data-theme=dark] :is(input,select,textarea){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}
html[data-theme=dark] :is(.nav-drop>div,.mobile-nav>nav){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}
html[data-theme=dark] :is(.original-hero,.inner-hero,.original-cta,.cta,.hansa-location-banner){color:#fff}
html[data-theme=dark] :is(.original-hero,.inner-hero,.original-cta,.cta,.hansa-location-banner) :is(h1,h2,h3,p,.eyebrow,.breadcrumb,em){color:#fff}
html[data-theme=dark] :is(.original-about,.original-services,.brands-section){background-color:var(--ui-bg)}
html[data-theme=dark] :is(.wordmark,.company-brand,.brand-logo,.footer-partners img,.header-logo-motion){background:#fff;border-radius:5px}
html[data-theme=dark] .hansa-photo figcaption,html[data-theme=dark] .ai-label{color:#156437}
html[data-text=large]{font-size:125%}html[data-text=large] .header{height:auto;min-height:90px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}html[data-text=large] .header>nav{display:none}html[data-text=large] .mobile-nav{display:block}
html[data-links=underlined] :is(main,footer) a{text-decoration:underline;text-underline-offset:.2em}
html[data-motion=reduce]{scroll-behavior:auto!important}html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-contrast=high]{--ui-bg:#fff;--ui-surface:#fff;--ui-text:#000;--ui-muted:#111;--ui-line:#111;--ui-accent:#064d25}
html[data-theme=dark][data-contrast=high]{--ui-bg:#000;--ui-surface:#080808;--ui-text:#fff;--ui-muted:#fff;--ui-line:#fff;--ui-accent:#a3ffbc}
html[data-contrast=high] :is(p,label,legend,.caption){font-weight:500;color:var(--ui-text)}
html[data-contrast=high] :is(.original-hero,.inner-hero,.original-cta,.cta,.hansa-location-banner){background:#063c23}
html[data-contrast=high] :is(.original-hero,.inner-hero,.original-cta,.cta,.hansa-location-banner) :is(p,h1,h2,h3,em,.eyebrow,.breadcrumb){color:#fff}
html[data-contrast=high] :is(.button,.group-service-icon){background:#064d25;color:#fff;border:1px solid currentColor}
@media(max-width:650px){.utility-bar{padding:6px 4%;gap:5px}.utility-bar button{padding:5px 9px;font-size:.8125rem}.settings-dialog{padding:22px}.header .header-logo-motion{width:125px;height:62px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-motion=reduce] .sector-track{animation-play-state:paused!important}
.utility-bar .theme-switch{border:0;background:transparent;padding:3px 9px;gap:7px;font-size:1.125rem}.theme-switch-track{display:block;width:44px;height:24px;border-radius:20px;background:#bac9bf;border:1px solid #708c79;position:relative}.theme-switch-track>span{display:block;position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.theme-switch[aria-checked=true] .theme-switch-track{background:#156437;border-color:#8bd5a6}.theme-switch[aria-checked=true] .theme-switch-track>span{transform:translateX(20px)}
html[data-theme=dark] .original-stats strong{color:var(--ui-text)}
html[data-theme=dark] :is(.original-company-grid article,.request-grid>a,.contact-form,.brand-grid>a,.about-video-grid figure,.about-photo-grid figure){background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}
html[data-theme=dark] .google-reviews{background:var(--ui-surface)}
html[data-theme=dark] :is(.review-expand,.footer-top>a:last-child){color:var(--ui-accent)}
html[data-theme=dark] :is(.about-video-grid figcaption,.about-photo-grid figcaption,.google-review strong,.review>div,.wizard legend){color:var(--ui-text)}
html[data-theme=dark] :is(.choice:has(input:checked),.request-grid>a:hover,.service-list>a:hover){background:#284334;border-color:#8bd5a6;color:var(--ui-text)}
html[data-theme=dark] .choice input{accent-color:#8bd5a6}
html[data-theme=dark] .button.outline{color:var(--ui-accent);border-color:var(--ui-accent)}
html[data-theme=dark] .button.outline:hover{background:#284334}
html[data-theme=dark] .footer-top .wordmark{background:white}
.review-date{display:block;font-size:.75rem;color:var(--ui-muted)}html[data-theme=dark] .review-origin{color:var(--ui-accent)}

/* Preserve the original green ink; reverse neutral logo lettering for dark surfaces. */
.brand-color-filters{position:absolute;pointer-events:none;overflow:hidden}
html[data-theme=dark] :is(.wordmark,.company-brand,.brand-logo,.footer-partners img,.header-logo-motion),html[data-theme=dark] .footer-top .wordmark{background:transparent;border-radius:0}
html[data-theme=dark] img:is([src$="mk-group-logo.webp"],[src$="personal-logo.png"],[src$="hansadock-logo-neu.webp"],[src$="staff-logo.webp"],[src$="coaching-logo.webp"],[src$="care-logo.webp"],[src$="industry-logo.webp"],[src$="group-header-logo-v2.jpg"]),html[data-theme=dark] .header-logo-video{filter:url(#mk-dark-ink)}
.footer-grid .footer-partners img[src$="drk-original.webp"]{background:transparent;filter:drop-shadow(0 5px 7px #4e321b20);height:132px}
html[data-theme=dark] .footer-grid .footer-partners img[src$="drk-original.webp"]{filter:drop-shadow(0 5px 12px #0005)}

html[data-theme=dark] .header-logo-motion :is(img,video){filter:url(#mk-dark-motion)}
html[data-theme=dark] .cta{background:#163d28}
html[data-theme=dark] .sector-strip h2 span{color:var(--ui-text)}
html[data-theme=dark] :is(.sector-toggle,.service-list .index,.service-list>a>span:last-child,.step-list [aria-current=step],.step-list li[aria-current=step],.group-service-card>span:last-child,.group-aside a[aria-current=page],.group-aside a.active){color:var(--ui-accent)}
html[data-theme=dark] :is(.review-copy,.google-review time,.form-progress,.choice small){color:var(--ui-muted)}
html[data-theme=dark] .email-note{background:var(--ui-surface);border-color:var(--ui-line)}
html[data-theme=dark] .ai-label{background:#fff;color:#156437}
html[data-theme=dark] .animation-toggle{background:var(--ui-surface);color:var(--ui-accent);border-color:var(--ui-line)}

html[data-theme=dark] .group-aside nav a>span:last-child{color:var(--ui-accent)}
html[data-theme=dark] .choice>span:last-child:not(.choice-number){color:var(--ui-muted)}

.skip{background:var(--ui-bg);color:var(--ui-text)}

/* A transparent dark-mode film must not reveal the completed fallback logo underneath. */
.header-logo-motion:has(.header-logo-video.is-playing)>img{visibility:hidden}

.vendor-options{display:grid;gap:10px;margin:24px 0 30px}.vendor-options label{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:5px;cursor:pointer;font-size:.9375rem}.vendor-options input{width:20px;height:20px;flex:none;accent-color:var(--ui-accent)}.vendor-options label:has(input:checked){border-color:var(--ui-accent)}

.language-picker{position:relative;z-index:50;font-size:.875rem}.language-picker summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:38px;padding:6px 12px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-bg);color:var(--ui-text);font-weight:500;cursor:pointer}.language-picker summary::-webkit-details-marker{display:none}.language-picker img{width:24px;height:16px;object-fit:cover;border-radius:2px;border:1px solid #8884}.language-options{position:absolute;right:0;top:calc(100% + 7px);width:180px;padding:6px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-bg);box-shadow:0 8px 28px #0003}.utility-bar .language-options button{width:100%;display:flex;justify-content:flex-start;gap:12px;border:0;box-shadow:none;padding:10px;border-radius:4px}.utility-bar .language-options button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-accent);font-weight:700}.utility-bar .language-options button:hover{background:var(--ui-surface)}

/* Readable secondary text without requiring an accessibility setting. */
html[data-theme=light] :is(.index,.choice-number){color:#426333}
html[data-theme=light] :is(.caption,.form-intro .breadcrumb,.step-list li,.wizard fieldset>p,.choice>span:last-child:not(.choice-number)){color:#505a53}
html[data-theme=dark] :is(.index,.choice-number){color:var(--ui-accent)}
html[data-theme=dark] .step-list li{color:var(--ui-muted)}
html[data-motion=reduce] .review-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));overflow:visible;scroll-snap-type:none}
html[data-motion=reduce] .review-copy{display:block;overflow:visible;-webkit-line-clamp:unset}
html[data-motion=reduce] .review-expand{display:none}

.original-hero .audience-actions{align-items:stretch;gap:14px}.original-hero .audience-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;flex:1 1 215px;min-width:0}.audience-button small{font-size:.75rem;line-height:1.5;font-weight:400}.audience-button span{line-height:1.4}@media(max-width:650px){.original-hero .audience-button{flex-basis:100%}}

.master-vendor-form-section{max-width:1100px;margin-inline:auto}.master-vendor-form-section .contact-form{width:100%}

.form-help>a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;margin-block:10px}.master-vendor-form-section{max-width:1500px}

.hansa-overview-hero h1{overflow-wrap:anywhere;hyphens:auto}

/* Clear audience actions, matching the existing MK hero. */
.original-hero .audience-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:580px;margin-top:26px}
.audience-entry{min-width:0}
.original-hero .audience-button{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:54px;padding:14px 20px;border:1px solid #fff;border-radius:7px;background:#fff;color:#156437;font-size:.9375rem;font-weight:600;line-height:1.4;transition:background .2s,color .2s,box-shadow .2s}
.original-hero .audience-button .audience-arrow{font-size:1.25rem;font-weight:400;line-height:1;flex-shrink:0}
.original-hero .audience-button:hover{background:#edf5ee;border-color:#edf5ee;box-shadow:0 5px 15px #052c211a}
.original-hero .audience-button-secondary{background:#0d3f234d;color:#fff;border-color:#ffffffb3}
.original-hero .audience-button-secondary:hover{background:#ffffff20;border-color:#fff;color:#fff}
.original-hero .audience-hint{font-size:.75rem;line-height:1.5;color:#fff;font-weight:400;margin:9px 2px 0}
@media(max-width:650px){.original-hero .audience-actions{grid-template-columns:1fr;gap:17px;max-width:380px}.original-hero .audience-button{min-height:52px;padding:13px 18px}.original-hero .audience-hint{margin-top:6px}}

.hansa-section-nav{display:block;padding:24px;margin-bottom:45px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px}
.hansa-section-nav .hansa-nav-title{display:flex;align-items:center;gap:10px;color:var(--ui-accent);font-size:.875rem;font-weight:600;margin:0 0 17px;line-height:1.5}
.hansa-nav-title svg{flex-shrink:0}.hansa-nav-links{display:flex;flex-wrap:wrap;gap:10px}
.hansa-section-nav .hansa-nav-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;min-height:48px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-bg);color:var(--ui-text);font-size:.8125rem;font-weight:500;line-height:1.5;text-decoration:none;transition:border-color .2s,background .2s}
.hansa-nav-links a span{color:var(--ui-accent);font-size:1.1rem;flex-shrink:0}.hansa-section-nav .hansa-nav-links a:hover{border-color:var(--ui-accent);background:var(--ui-surface);color:var(--ui-accent)}
@media(max-width:650px){.hansa-section-nav{padding:18px;margin-bottom:32px}.hansa-nav-links{display:grid;grid-template-columns:1fr}.hansa-section-nav .hansa-nav-links a{width:100%}}

.bremen-hall-photos{margin:40px 0}.bremen-hall-photos>h3{margin-bottom:22px}.bremen-hall-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bremen-hall-gallery figure{margin:0;overflow:hidden;background:var(--ui-bg);border:1px solid var(--ui-line);border-radius:9px}.bremen-hall-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}.bremen-hall-gallery figcaption{padding:18px 20px;color:var(--ui-text);font-size:.875rem;font-weight:500;line-height:1.5}@media(max-width:650px){.bremen-hall-gallery{grid-template-columns:1fr;gap:18px}}

/* SVB sponsorship: transparent artwork with a readable dark-mode variant. */
.footer-grid .footer-partners .svb-sponsor-logo{background:transparent;object-fit:contain}
html[data-theme=dark] .footer-grid .footer-partners .svb-sponsor-logo{filter:brightness(0) invert(1)}
.footer-grid .footer-partners{flex-wrap:wrap}

/* Full legal company names in the navigation. */
.header .nav-drop>div{min-width:285px;max-width:min(390px,90vw)}
.header .nav-drop>div a{white-space:normal}
.service-aside .master-vendor-intro .text-link{display:block;margin-top:16px}
.master-vendor-intro .text-link{display:block;margin-top:16px}

/* One separator before the service contact details. */
.service-aside>a:not(.button):has(+hr){border-bottom:0}

/* Keep the contact separator aligned with the service-link spacing. */
.service-aside hr{margin-top:0}

/* Nested personnel-services navigation. */
.header .nav-submenu>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;list-style:none;cursor:pointer;line-height:1.45}
.header .nav-submenu>summary::-webkit-details-marker{display:none}
.header .nav-submenu>summary:hover,.header .nav-submenu[open]>summary{background:var(--ui-surface,#f0f5f1)}
.header .nav-submenu[open]>summary>span{transform:rotate(180deg)}
.header .nav-submenu>div{padding:4px 0 6px 12px;margin:0 12px 6px;border-left:2px solid #1b7f46}
.header .nav-submenu>div>a{display:block;padding:9px 12px;line-height:1.45}
.mobile-nav .nav-submenu>summary{padding:11px 0;border-bottom:1px solid var(--ui-line,#e5ece1)}
.mobile-nav .nav-submenu>div{margin:0 0 8px;padding-left:16px}
.header .nav-submenu>summary:focus-visible{outline:2px solid #1b7f46;outline-offset:2px}
.contact-layout .form-help>a{font-size:1rem;line-height:1.6;font-weight:400;margin:10px 0;display:block}
