
/* Vorschlag Design Skills: isolated proposal, never deployed to Production. */
.language-switch{gap:4px}
.language-switch a{min-width:44px;min-height:44px;padding:10px 8px;color:#666660!important}
.language-switch a + a::before{left:-4px;color:#888880}
.language-switch a[aria-current=true]{color:#111!important;font-weight:600}
.home-hero__content>p{color:#fff!important;font-weight:400!important;max-width:48ch!important}
.home-hero [data-hero-overlay]{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.68))!important}
.home-hero__content>h1{letter-spacing:-.025em!important}
[data-screen-label="03 Marquee"]{padding:clamp(24px,4vw,52px) 0!important;gap:0!important}
[data-marquee] span{font-size:clamp(32px,5vw,64px)!important;-webkit-text-stroke:1px #bcbcb5!important}
.design-contact [data-screen-label="01 Kontakt"]{padding-top:clamp(36px,5vw,72px)!important}
.design-contact-layout{max-width:1160px;margin:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);align-items:start}
.design-contact-context{display:flex;flex-direction:column;gap:24px;min-width:0}
.design-contact-context h1{margin:0;font-size:clamp(36px,4.5vw,60px);font-weight:300;line-height:1.08;letter-spacing:-.025em;text-transform:uppercase}
.design-contact-lead{font-size:18px;line-height:1.65;max-width:36ch;margin:0}
.design-contact-person{display:flex;align-items:center;gap:20px;margin-top:12px}
.design-contact-person img{width:88px;height:110px;object-fit:cover;object-position:50% 22%;filter:grayscale(1)}
.design-contact-person p{font-size:14px;line-height:1.7;margin:0;color:#52524e}
.design-contact-person strong{color:#171715;font-weight:500}
.design-contact-trust{margin:0;padding:16px 0 16px 20px;border-left:2px solid var(--accent);font-size:15px;line-height:1.7;color:#52524e}
.design-contact-address{margin:0;font-size:13px;line-height:1.7;color:#666660}
.design-contact-layout [data-contact-form]{width:100%;min-width:0;gap:22px!important}
.design-contact-layout [data-contact-form] label{line-height:1.5}
.contact-help{color:#52524e}
.contact-status[data-state="ready"]{background:#f3f6f1;border-color:#4b6542}
.contact-status[data-state="error"]{color:#7a1f1f}
.design-proposal-label{display:block;max-width:1240px;margin:0 auto 24px;font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#666660}
@media(max-width:600px){
 main :is(h1,h2,h3,p,a,li,label),.site-menu a{hyphens:manual!important;word-break:normal;overflow-wrap:break-word}
 main h1{font-size:clamp(1.65rem,7vw,2.3rem)!important;line-height:1.16!important;letter-spacing:-.025em!important;text-wrap:balance}
 main :is(h2,h3){text-wrap:balance;letter-spacing:-.015em}
 main p{hyphens:manual!important;overflow-wrap:break-word;word-break:normal}
 .language-switch a{min-width:44px;min-height:44px;padding:10px 8px}
 .home-page .home-hero{min-height:0!important}
 .home-page .home-hero__content{padding:56px 20px 64px!important;gap:24px!important}
 .home-hero__content>p{font-size:17px!important;line-height:1.65!important}
 .home-hero__actions>a{min-height:56px}
 .design-contact-layout{display:flex;flex-direction:column;gap:24px}
 .design-contact-context{display:contents}
 .design-contact-context h1{order:0}
 .design-contact-lead{order:1;font-size:17px}
 .design-contact-layout form{order:2;flex:auto!important;margin:8px 0 16px}
 .design-contact-person{order:3;margin-top:0}
 .design-contact-trust{order:4}
 .design-contact-address{order:5}
}

/* Comparison headings and divider rows share tracks, not fixed heights. */
@supports (grid-template-rows:subgrid) {
  @media(min-width:761px) {
    .aligned-comparison{grid-template-columns:repeat(var(--comparison-columns),minmax(0,1fr))!important;grid-template-rows:repeat(var(--comparison-rows),auto);row-gap:0!important}
    .aligned-comparison>.aligned-comparison__column{display:grid!important;grid-template-rows:subgrid;grid-row:1/-1;grid-column:var(--comparison-column);gap:0!important;min-width:0}
    .aligned-comparison__heading{grid-row:1;margin-bottom:28px!important;align-self:start}
    .aligned-comparison__list{display:grid!important;grid-template-rows:subgrid;grid-row:2/-1;gap:0!important;min-width:0}
    .aligned-comparison__row{grid-row:var(--comparison-row)/span var(--comparison-span);align-self:stretch}
  }
}
@media(max-width:760px){.aligned-comparison{grid-template-columns:minmax(0,1fr)!important}}

/* Header variant 1: logo and menu only; language selection inside dialog. */
.menu-heading-controls{display:flex;align-items:center;gap:clamp(16px,3vw,36px)}
.menu-heading-controls [data-menu-close]{min-height:44px;white-space:nowrap}
.site-menu .language-switch a{color:#666660!important}
.site-menu .language-switch a[aria-current=true]{color:#111!important}
.site-menu .language-switch a:hover{color:var(--accent)!important}
.menu-contact-primary{margin-top:12px;border-top:1px solid var(--line)}
@media(max-width:600px){
 body>header{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
 body>header>div{display:flex!important;justify-content:flex-end;width:auto;margin-left:auto!important}
 body>header>a[data-display]{min-width:0;flex:0 1 auto}
 body>header .site-brand-logo{width:clamp(170px,50vw,220px)}
 .menu-heading{flex-wrap:wrap;gap:12px!important}
 .menu-heading-controls{margin-left:auto;gap:16px}
 .home-page .home-hero{min-height:0!important}
}

/* Mobile menu: keep closing control beside the logo; language below. */
@media(max-width:600px){
 .menu-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px!important;row-gap:8px!important}
 .menu-heading>a{grid-column:1;grid-row:1;min-width:0}
 .menu-heading .site-brand-logo{width:clamp(150px,46vw,200px);max-width:100%;height:auto}
 .menu-heading-controls{display:contents}
 .menu-heading-controls [data-menu-close]{grid-column:2;grid-row:1;justify-self:end;min-height:44px;font-size:11px!important;letter-spacing:.08em!important}
 .menu-heading-controls .language-switch{grid-column:1/-1;grid-row:2;justify-self:start;margin-left:-8px}
}

/* Keep the mobile logo focus frame fitted to the logo, not the grid track. */
@media(max-width:600px){
 .menu-heading>a{justify-self:start;width:fit-content;max-width:100%;display:inline-flex;align-items:center}
}

/* Bring mobile navigation closer to the language selection. */
@media(max-width:600px){
 .site-menu .menu-heading+nav{margin-top:0!important;padding-top:8px!important}
}

/* No logo frame in the mobile menu; retain a subtle keyboard focus cue. */
@media(max-width:600px){
 .menu-heading>a:focus{outline:none!important;box-shadow:none!important}
 .menu-heading>a:focus-visible{text-decoration:underline;text-decoration-color:#8a8a85;text-underline-offset:6px}
}
