/* Branchen und ergänzende Fachgewerke. Alle Inhalte bleiben ohne JavaScript zugänglich. */
.industries{ background:var(--brand-surface); }
.industries__heading{
  display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);
  align-items:end; gap:clamp(24px,4vw,48px); margin-bottom:28px;
}
.industries__chapter{ display:flex; align-items:center; gap:13px; margin:0 0 16px; color:var(--teal-dk); font-size:12px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.industries__chapter > span{ display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--brand-line); border-radius:50%; font-size:12px; letter-spacing:0; }
.industries__heading h2{ margin:0; color:var(--ink); font-family:var(--ff-d); font-weight:500; font-size:clamp(1.875rem,3vw,2.625rem); line-height:1.12; letter-spacing:-.038em; }
.industries__heading h2 > span{ color:var(--brand-muted); }
.industries__intro{ margin:0 0 3px; max-width:34ch; color:var(--ink-2); font-size:16px; line-height:1.65; }
.industries__layout{ display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,2.55fr); align-items:start; gap:20px; }
.industries__switcher{ display:grid; gap:5px; padding:7px; border:1px solid var(--brand-line); background:rgba(255,255,255,.6); border-radius:14px; }
.industries__choice{
  display:grid; grid-template-columns:22px minmax(0,1fr) 15px; gap:12px; align-items:center;
  min-height:68px; padding:12px 11px; border:1px solid transparent; border-radius:9px;
  color:var(--ink); scroll-margin-block:100px; transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.industries__number{ align-self:start; margin-top:3px; color:var(--brand-muted); font-size:12px; letter-spacing:.04em; font-variant-numeric:tabular-nums; }
.industries__name{ min-width:0; font-size:15px; font-weight:550; line-height:1.35; overflow-wrap:break-word; hyphens:auto; -webkit-hyphens:auto; }
.industries__name small{ display:block; margin-top:5px; color:var(--ink-2); font-size:12px; font-weight:400; line-height:1.45; }
.industries__choice > svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; opacity:.4; }
.industries__choice:hover{ background:var(--brand-surface-deep); border-color:var(--brand-line); }
.industries__choice[aria-selected="true"]{ background:var(--navy); border-color:var(--navy); color:var(--brand-white); }
.industries__choice[aria-selected="true"] .industries__number{ color:var(--brand-teal-light); }
.industries__choice[aria-selected="true"] small{ color:var(--brand-line-strong); }
.industries__choice[aria-selected="true"] > svg{ opacity:1; color:var(--brand-teal-light); }
.industries__choice:focus-visible{ outline:2px solid var(--teal-dk); outline-offset:3px; }
.industries__stage{ min-width:0; display:grid; gap:20px; }
.industry-panel{
  display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); min-height:0;
  overflow:hidden; border:1px solid var(--brand-line); border-radius:14px; background:var(--brand-white);
  box-shadow:0 18px 45px -32px rgba(var(--brand-navy-rgb),.2);
}
.industry-panel[hidden]{ display:none; }
.industry-panel:focus-visible{ outline:2px solid var(--teal-dk); outline-offset:4px; }
.industry-panel__visual{ position:relative; margin:0; min-width:0; min-height:100%; background:var(--brand-line); }
.industry-panel__visual picture{ position:absolute; inset:0; display:block; }
.industry-panel__visual img{ display:block; width:100%; height:100%; object-fit:cover; }
.industry-panel__visual img[src*="foto-praxis-"]{ object-position:55% 50%; }
.industry-panel__visual img[src*="foto-industrie-"]{ object-position:43% 50%; }
.industry-panel__visual::after{ content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(var(--brand-navy-rgb),.72)); pointer-events:none; }
.industry-panel__visual figcaption{ position:absolute; z-index:1; inset:auto 21px 22px; display:grid; gap:6px; margin:0; letter-spacing:0; }
.industry-panel__visual figcaption span{ color:var(--brand-white); font-family:inherit; font-size:13px; font-weight:500; letter-spacing:0; }
.industry-panel__visual figcaption small{ font-size:12px; color:var(--brand-line); }
.industry-panel__content{ display:flex; flex-direction:column; padding:clamp(20px,2vw,28px); min-width:0; }
.industry-panel__eyebrow{ display:flex; flex-wrap:wrap; gap:9px 14px; margin:0 0 16px; font-size:12px; line-height:1.5; color:var(--ink-2); }
.industry-panel__eyebrow > span{ color:var(--teal-dk); font-variant-numeric:tabular-nums; font-weight:600; }
.industry-panel h3{ margin:0; color:var(--ink); font-family:var(--ff-d); font-weight:500; font-size:clamp(1.375rem,2vw,1.75rem); line-height:1.14; letter-spacing:-.032em; }
.industry-panel__text{ margin:14px 0 0; color:var(--ink-2); font-size:1rem; line-height:1.65; }
.industry-panel__points{ display:grid; gap:0; padding:0; margin:16px 0 0; list-style:none; border-top:1px solid var(--brand-line); }
.industry-panel__points li{ position:relative; margin:0; padding:8px 0 8px 14px; border-bottom:1px solid var(--brand-line); font-size:.875rem; line-height:1.5; color:var(--ink); }
.industry-panel__points li::before{ content:""; position:absolute; left:0; top:17px; width:4px; height:4px; border-radius:50%; background:var(--teal-dk); }
.industry-panel__actions{ display:flex; flex-direction:column; gap:8px; margin-top:auto; padding-top:18px; }
.industry-panel__cta{ justify-content:space-between; min-height:50px; padding:13px 18px; border:1px solid var(--navy); border-radius:7px; background:var(--navy); color:var(--brand-white); font-size:.875rem; }
.industry-panel__cta:hover{ background:var(--brand-hover); border-color:var(--brand-hover); color:var(--brand-white); }
.industry-panel__cta svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.industry-panel__detail{ align-self:flex-start; min-height:44px; display:inline-flex; align-items:center; font-size:.875rem; color:var(--ink-2); }
.industry-panel__detail span{ margin-left:7px; color:var(--teal-dk); }
.industry-panel__detail:hover{ color:var(--teal-dk); text-decoration:underline; text-underline-offset:4px; }
.industries__footer{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 19px; margin-top:24px; font-size:12px; }
.industries__footer p{ margin:0; color:var(--ink-2); }
.industries__footer a{ display:flex; align-items:center; gap:10px; min-height:44px; color:var(--teal-dk); }
.industries__footer svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
.industries__footer a:hover{ text-decoration:underline; text-underline-offset:4px; }

.trades{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.6fr);
  margin-top:clamp(28px,3.5vw,44px); border:1px solid var(--brand-line); border-radius:17px;
  background:var(--brand-surface); overflow:hidden; box-shadow:0 18px 44px -32px rgba(var(--brand-navy-rgb),.18);
}
.trades__intro{ display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:clamp(22px,2.4vw,32px); background:var(--brand-navy); color:var(--brand-white); }
.trades__eyebrow{ display:flex; align-items:center; gap:9px; margin:0 0 16px; color:var(--brand-teal-light); font-size:12px; font-weight:550; letter-spacing:.1em; text-transform:uppercase; }
.trades__eyebrow > span{ width:5px; height:5px; border-radius:50%; background:var(--brand-teal-light); flex:none; }
.trades h3{ margin:0; color:var(--brand-white); font-family:var(--ff-d); font-size:clamp(1.5rem,2.2vw,1.875rem); font-weight:500; letter-spacing:-.033em; line-height:1.14; }
.trades h3 > span{ color:var(--brand-teal-light); }
.trades__description{ margin:14px 0 0; max-width:40ch; color:var(--brand-on-dark-muted); font-size:1rem; line-height:1.6; }
.trades__coordination{ width:100%; min-width:0; margin-top:18px; border-top:1px solid var(--brand-line-dark); }
.trades__coordination summary{ display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:12px 0; color:var(--brand-teal-wash); font-size:.875rem; line-height:1.5; cursor:pointer; list-style:none; }
.trades__coordination summary::-webkit-details-marker{ display:none; }
.trades__coordination summary::marker{ content:""; }
.trades__coordination summary::after{ content:"+"; flex:none; font-size:1.25rem; color:var(--brand-teal-light); }
.trades__coordination[open] summary::after{ content:"−"; }
.trades__coordination summary:focus-visible{ outline:2px solid var(--brand-teal-light); outline-offset:3px; }
.trades__process{ display:grid; gap:16px; margin:18px 0; padding:0; list-style:none; }
.trades__process li{ display:grid; grid-template-columns:27px minmax(0,1fr); align-items:start; gap:13px; }
.trades__process li > span{ display:grid; place-items:center; width:27px; height:27px; border:1px solid var(--brand-line-dark); border-radius:50%; color:var(--brand-teal-light); font-size:10px; font-variant-numeric:tabular-nums; }
.trades__process b{ display:block; margin:2px 0 4px; font-size:.875rem; font-weight:500; line-height:1.45; color:var(--brand-white); }
.trades__process p{ margin:0; font-size:.875rem; line-height:1.5; color:var(--brand-on-dark-subtle); }
.trades__note{ margin:auto 0 0; padding-top:22px; border-top:1px solid var(--brand-line-dark); color:var(--brand-on-dark-muted); font-size:12px; line-height:1.65; }
.trades__form{ display:flex; flex-direction:column; min-width:0; padding:clamp(22px,2.4vw,32px); }
.trades__form-head{ margin-bottom:20px; }
.trades h4{ margin:0; font-family:var(--ff-d); font-size:23px; font-weight:500; letter-spacing:-.025em; line-height:1.25; }
.trades__form-head p{ margin:8px 0 0; font-size:.875rem; color:var(--ink-2); line-height:1.5; }
.trades__groups{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.trade-group{ min-width:0; margin:0; padding:0; border:0; }
.trade-group legend{ display:flex; align-items:baseline; gap:10px; float:none; width:100%; margin:0 0 10px; padding:0; color:var(--ink); font-size:14px; font-weight:550; line-height:1.5; }
.trade-group legend > span{ flex:none; font-size:10px; font-weight:400; color:var(--brand-muted); font-variant-numeric:tabular-nums; }
.trade-option{ display:flex; align-items:center; gap:12px; min-width:0; min-height:44px; padding:9px 8px; border:1px solid transparent; border-bottom-color:var(--brand-line); border-radius:4px; font-size:.875rem; line-height:1.45; color:var(--ink-2); transition:background .18s ease,border-color .18s ease; }
.trade-option > span:not(.trade-option__mark){ flex:1; min-width:0; }
.trade-option input{ order:2; margin:0; width:17px; height:17px; flex:none; accent-color:var(--teal-dk); cursor:pointer; }
.trade-option input:disabled{ display:none; }
.trade-option__mark{ display:none; }
.trades.is-ready .trade-option{ cursor:pointer; }
.trades.is-ready .trade-option:hover{ background:var(--brand-surface); }
.trade-option:has(input:checked){ background:var(--brand-teal-wash); border-color:var(--brand-line-strong); color:var(--brand-navy); }
.trade-option:focus-within{ outline:2px solid var(--teal-dk); outline-offset:2px; }
.trades__submit{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:13px 20px; align-items:center; margin-top:auto; padding-top:20px; }
.trades__submit[hidden], .trades__selection button[hidden], .trades__fallback[hidden]{ display:none; }
.trades__selection p{ margin:0; font-size:.875rem; line-height:1.5; color:var(--ink); }
.trades__selection p.is-error{ color:#9C3025; }
.trades__selection button{ display:block; min-height:44px; padding:7px 0; border:0; background:none; font-family:inherit; font-size:.875rem; line-height:1.5; color:var(--ink-2); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.trades__cta{ min-height:51px; padding:13px 20px; border:1px solid var(--brand-teal-text); border-radius:7px; background:var(--brand-teal-text); color:var(--brand-white); font-size:.875rem; }
.trades__cta:hover{ background:var(--brand-teal-text); border-color:var(--brand-teal-text); color:var(--brand-white); }
.trades__cta svg, .trades__fallback svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.trades__next{ grid-column:1/-1; margin:0; font-size:12px; line-height:1.5; color:var(--ink-2); }
.trades__fallback{ display:flex; justify-content:space-between; gap:18px; margin-top:26px; padding-top:20px; border-top:1px solid var(--brand-line); color:var(--teal-dk); font-size:14px; }
.request-trades[hidden]{ display:none; }
.request-trades textarea{ min-height:80px; cursor:default; }
.request-trades__actions{ display:flex; flex-wrap:wrap; gap:12px 22px; padding-top:9px; }
.request-trades__actions a, .request-trades__actions button{ min-height:30px; padding:0; border:0; background:none; color:var(--brand-on-dark-muted); font-family:inherit; font-size:12px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.request-trades__actions a:hover, .request-trades__actions button:hover{ color:var(--brand-white); }

@media(min-width:1001px) and (max-width:1200px){
  .industries__layout{ grid-template-columns:235px minmax(0,1fr); gap:15px; }
  .industry-panel{ grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
  .industry-panel__content{ padding:27px; }
}
@media(max-width:1000px){
  .industries__layout{ grid-template-columns:1fr; }
  .industries__switcher{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .industries__choice{ min-height:68px; grid-template-columns:19px minmax(0,1fr); gap:9px; }
  .industries__choice > svg{ display:none; }
  .industry-panel{ min-height:0; }
  .trades{ grid-template-columns:1fr; }
  .trades__intro{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 38px; }
  .trades__eyebrow{ grid-column:1/-1; }
  .trades__description{ grid-column:1; }
  .trades__coordination{ grid-column:2; grid-row:2/5; margin-top:0; }
  .trades__process{ margin:14px 0; gap:16px; }
  .trades__note{ grid-column:1; margin-top:22px; }
  .trades__submit{ margin-top:25px; border-top:1px solid var(--brand-line); }
}
@media(max-width:680px){
  .industries__heading{ grid-template-columns:1fr; gap:22px; margin-bottom:27px; }
  .industries__heading h2{ font-size:32px; }
  .industries__intro{ max-width:44ch; font-size:1rem; }
  .industries__switcher{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:5px; gap:4px; }
  .industries__choice{ min-height:60px; padding:10px 9px; grid-template-columns:16px minmax(0,1fr); gap:7px; }
  .industries__name{ font-size:.875rem; }
  .industries__name small{ display:none; }
  .industries__number{ font-size:12px; }
  .industry-panel{ grid-template-columns:1fr; min-height:0; }
  .industry-panel__visual{ min-height:0; aspect-ratio:16/9; max-height:220px; }
  .industry-panel__visual figcaption{ inset:auto 20px 18px; }
  .industry-panel__content{ padding:25px; }
  .industry-panel__eyebrow{ margin-bottom:18px; }
  .industry-panel h3{ font-size:29px; }
  .industry-panel__points li{ font-size:13px; }
  .industry-panel__cta{ font-size:14px; }
  .industry-panel__detail{ min-height:44px; display:flex; align-items:center; }
  .industries__footer{ justify-content:flex-start; gap:4px; font-size:12px; }
  .trades{ border-radius:13px; }
  .trades__intro{ display:flex; padding:22px 20px; }
  .trades__coordination{ margin-top:16px; }
  .trades__eyebrow{ font-size:12px; letter-spacing:.04em; }
  .trades h3{ font-size:1.75rem; }
  .trades__process{ margin:16px 0; gap:14px; }
  .trades__note{ margin:0; }
  .trades__form{ padding:22px 20px; }
  .trades h4{ font-size:23px; }
  .trades__groups{ grid-template-columns:1fr; gap:18px; }
  .trade-option{ min-height:46px; font-size:14px; }
  .trade-option input{ width:19px; height:19px; }
  .trades__submit{ grid-template-columns:1fr; gap:18px; }
  .trades__selection button{ padding-block:8px; font-size:.875rem; }
  .trades__cta{ width:100%; justify-content:space-between; font-size:14px; }
}
@media(max-width:420px){
  /* Lange Branchennamen bekommen auf schmalen Telefonen eine ganze Zeile. */
  .industries__switcher{ grid-template-columns:1fr; }
  .industries__choice{ min-height:52px; grid-template-columns:20px minmax(0,1fr) 15px; padding:12px; }
  .industries__choice > svg{ display:block; }
  .industries__name{ font-size:14px; }
  .trades h3{ font-size:27px; overflow-wrap:break-word; }
  .trades__eyebrow{ flex-wrap:wrap; max-width:100%; }
}
@media(prefers-reduced-motion:no-preference){
  .industries.is-ready .industry-panel:not([hidden]) .industry-panel__content{ animation:objectContentIn .24s ease-out both; }
  @keyframes objectContentIn{ from{ opacity:.65; transform:translateY(5px); } to{ opacity:1; transform:none; } }
}
@media(prefers-reduced-motion:reduce){
  .industries__choice, .trade-option{ transition:none; }
}
@media print{
  .industries__switcher, .industry-panel__actions, .trades__submit{ display:none; }
  .industry-panel[hidden]{ display:grid; }
  .industries__layout, .trades{ display:block; }
  .industry-panel{ break-inside:avoid; margin-bottom:20px; }
  .trades__coordination::details-content{ content-visibility:visible; }
  .trades__coordination > .trades__process{ display:grid !important; }
  .trades__coordination summary::after{ display:none; }
}
