/* Homepage — a generous editorial rhythm, real workshop photographs. */
.start-hero { position:relative; overflow:hidden; background:var(--grund,#f4f3ee); color:var(--text,#171b1b); border-bottom:1px solid var(--linie); }
.start-hero__innen { position:relative; padding-top:36px; padding-bottom:24px; min-height:770px; }
.start-hero__kopf,.start-hero__fuss { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; gap:16px; }
.start-hero__kopf .kapitel__label { margin:0; }
.start-hero__signatur { opacity:.65; }
.start-hero__text { position:relative; z-index:2; width:62%; padding:52px 0 55px; pointer-events:none; }
.start-hero__text a,.start-hero__text [data-feld] { pointer-events:auto; }
.start-hero__titel { hyphens:none; margin:0; font-size:clamp(80px,9.2vw,140px); font-weight:700; letter-spacing:-.04em; line-height:.93; font-stretch:100%; }
.start-hero__titel>span { display:block; width:fit-content; animation:start-eintritt .85s cubic-bezier(.2,.75,.3,1) both; }
.start-hero__titel>span:nth-child(2) { animation-delay:.08s; }
.start-hero__titel>span:nth-child(3) { animation-delay:.16s; }
.start-hero__orange { color:var(--rot,#e85d24); }
.start-hero__beschreibung { max-width:420px; font-size:17px; line-height:1.55; margin:28px 0 26px; }
.start-hero__text .knopf-reihe { align-items:center; gap:26px; }
.start-hero__weiter { display:flex; align-items:center; gap:14px; font-size:14px; font-weight:600; text-decoration:none; }
.start-hero__weiter>span:last-child { font-size:24px; }
.start-hero__objekt { position:absolute; width:54%; height:640px; top:64px; right:-3%; z-index:1; }
.start-hero__canvas { width:100%; height:100%; display:block; position:relative; }
.start-hero__kreis { position:absolute; border:1px solid var(--linie); border-radius:50%; width:78%; aspect-ratio:1; left:9%; top:8%; transform:translate(calc(var(--start-px,0)*-9px),calc(var(--start-py,0)*-7px)); }
.start-hero__objektlabel { position:absolute; right:14%; bottom:20px; font-size:10px; line-height:1.8; letter-spacing:.09em; color:var(--text-leise); }
.start-hero__fallback { position:absolute; font-size:300px; color:var(--rot); top:10%; left:20%; }
.start-hero__fuss { padding-top:18px; border-top:1px solid var(--linie); color:var(--text-leise); }
.start-hero__fuss a { text-decoration:none; display:flex; gap:42px; }
.start-fakten { background:var(--grund); }
.start-fakten__innen { display:grid; grid-template-columns:repeat(4,1fr); padding-top:32px; padding-bottom:38px; gap:36px; }
.start-fakt { border-left:1px solid var(--linie); padding-left:23px; }
.start-fakt:first-child { border:0; padding:0; }
.start-fakt p { margin:0 0 9px; display:flex; gap:8px; align-items:baseline; }
.start-fakt b { font-family:var(--schrift-anzeige); font-size:40px; line-height:1; letter-spacing:-.045em; }
.start-fakt small { font-size:15px; }
.start-fakt>span { display:block; font-size:12px; color:var(--text-leise); line-height:1.5; max-width:210px; }
.start-leistungen { --text:#f4f3ee; --text-leise:#c0c4bd; --grund:#171b1b; background:#171b1b; color:#f4f3ee; padding:110px 0 100px; }
.start-leistungen .kapitel__label { color:#adb1aa; }
.start-kapitel { display:grid; grid-template-columns:1.25fr 1fr; column-gap:8%; align-items:end; margin-bottom:90px; }
.start-kapitel .kapitel__label { grid-column:1/-1; margin-bottom:24px; }
.start-kapitel h2 { margin:0; max-width:720px; font-size:clamp(50px,6.8vw,99px); line-height:1; letter-spacing:-.04em; }
.start-kapitel__intro { font-size:18px; line-height:1.6; max-width:330px; margin:0 0 8px; color:#c0c4bd; }
.start-gewerk { display:grid; grid-template-columns:1fr 1.5fr; gap:8%; align-items:center; }
.start-gewerk__nummer { display:block; color:#e85d24; margin-bottom:30px; }
.start-gewerk h3 { font-size:clamp(37px,4vw,60px); letter-spacing:-.04em; margin:0 0 24px; line-height:1; }
.start-gewerk__text>p { max-width:390px; color:#c0c4bd; font-size:17px; line-height:1.65; }
.start-gewerk__liste { display:flex; flex-wrap:wrap; gap:6px 16px; list-style:none; padding:0; margin:24px 0 30px; font-size:12px; color:#a7afa7; }
.start-gewerk__liste li { border-bottom:1px solid #454b45; padding-bottom:4px; }
.start-textlink { display:inline-flex; gap:22px; align-items:center; text-decoration:none; padding:8px 0; border-bottom:1px solid currentColor; font-size:14px; font-weight:600; }
.start-textlink svg { width:18px; height:18px; }
.start-gewerk__foto { margin:0; }
.start-gewerk__foto img { width:100%; height:530px; object-fit:cover; display:block; }
.start-gewerk--2 { grid-template-columns:1.05fr 1fr; margin-top:120px; gap:13%; }
.start-gewerk--2 .start-gewerk__foto { grid-column:1; grid-row:1; }
.start-gewerk--2 .start-gewerk__text { grid-column:2; grid-row:1; }
.start-gewerk--2 .start-gewerk__foto img { height:410px; object-position:50% 60%; }
.start-versprechen { --text:#171b1b; --text-leise:#171b1b; background:#e85d24; color:#171b1b; padding:90px 0; }
.start-versprechen .kapitel__label { color:#171b1b; }
.start-versprechen__kopf { display:grid; grid-template-columns:1fr 180px; gap:25px; margin-bottom:55px; }
.start-versprechen__kopf .kapitel__label { grid-column:1/-1; margin:0; }
.start-versprechen__kopf h2 { font-size:clamp(46px,7vw,102px); line-height:.98; letter-spacing:-.045em; margin:0; max-width:960px; }
.start-versprechen__zeichen { font-family:var(--schrift-anzeige); font-size:170px; line-height:.8; justify-self:end; }
.start-gruende { border-top:1px solid rgba(23,27,27,.4); }
.start-grund { display:grid; grid-template-columns:50px .95fr 1fr; gap:30px; padding:29px 0; border-bottom:1px solid rgba(23,27,27,.4); }
.start-grund .mono { padding-top:7px; }
.start-grund h3 { font-size:27px; line-height:1.2; margin:0; letter-spacing:-.03em; }
.start-grund p { font-size:15px; line-height:1.65; margin:0; max-width:490px; }
.start-prozess { padding:120px 0; background:var(--grund); }
.start-prozess__innen { display:grid; grid-template-columns:.85fr 1.15fr; gap:11%; align-items:start; }
.start-prozess__kopf { position:sticky; top:120px; }
.start-prozess__kopf h2 { font-size:clamp(42px,4.3vw,66px); line-height:1.02; margin:26px 0; letter-spacing:-.045em; }
.start-prozess__kopf>p:not(.kapitel__label) { max-width:400px; font-size:16px; line-height:1.65; color:var(--text-leise); margin-bottom:27px; }
.start-schritt { border-top:1px solid var(--linie); }
.start-schritt:last-child { border-bottom:1px solid var(--linie); }
.start-schritt summary { display:grid; grid-template-columns:35px 1fr 24px; gap:18px; align-items:start; padding:25px 0; cursor:pointer; list-style:none; }
.start-schritt summary::-webkit-details-marker { display:none; }
.start-schritt summary .mono { color:var(--rot); padding-top:4px; font-size:11px; }
.start-schritt h3 { font-size:23px; line-height:1.2; letter-spacing:-.025em; margin:0; }
.start-schritt__plus { font-size:25px; line-height:1; transition:transform .2s; }
.start-schritt[open] .start-schritt__plus { transform:rotate(45deg); }
.start-schritt__inhalt { padding:0 42px 26px 53px; }
.start-schritt__inhalt>p { font-size:15px; color:var(--text-leise); line-height:1.7; margin:0 0 23px; }
.start-schritt__inhalt figure { margin:0; }
.start-schritt__inhalt img { display:block; width:100%; max-height:285px; object-fit:cover; }
.start-schritt__inhalt figcaption { font-size:11px; color:var(--text-leise); padding-top:10px; line-height:1.5; }
.start-praezision { background:var(--flaeche,#e9e8e2); padding:95px 0; }
.start-praezision__innen { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:center; }
.start-praezision__foto { margin:0; }
.start-praezision__foto img { display:block; width:100%; height:580px; object-fit:cover; }
.start-praezision__foto figcaption { font-size:11px; color:var(--text-leise); margin-top:12px; line-height:1.5; }
.start-praezision__text h2 { font-size:clamp(45px,5vw,76px); line-height:1; letter-spacing:-.04em; margin:25px 0; }
.start-praezision__text>p:not(.kapitel__label) { font-size:16px; line-height:1.65; color:var(--text-leise); }
.start-praezision__liste { padding:0; list-style:none; margin:30px 0; }
.start-praezision__liste li { padding:8px 0; border-bottom:1px solid var(--linie); font-size:13px; }
.start-praezision__text .knopf-reihe { gap:16px 25px; }
.start-branchen { padding:95px 0; background:var(--grund); }
.start-branchen__kopf { display:grid; grid-template-columns:1.4fr .7fr; gap:5%; align-items:end; margin-bottom:45px; }
.start-branchen__kopf .kapitel__label { grid-column:1/-1; margin-bottom:0; }
.start-branchen__kopf h2 { font-size:clamp(40px,4.8vw,70px); line-height:1.04; letter-spacing:-.045em; margin:0; max-width:690px; }
.start-branchen__kopf>p:last-child { color:var(--text-leise); font-size:15px; line-height:1.6; margin:0; }
.start-branchen__liste { display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; }
.start-branche { border-top:1px solid var(--linie); padding:24px 0; }
.start-branche h3 { font-size:18px; line-height:1.25; margin:0 0 10px; }
.start-branche p { font-size:13px; line-height:1.6; color:var(--text-leise); margin:0; max-width:320px; }
.start-geschichte { --text:#f4f3ee; --text-leise:#c0c4bd; --grund:#171b1b; padding:100px 0 115px; background:#171b1b; color:#f4f3ee; }
.start-geschichte .kapitel__label { color:#b3b9b1; }
.start-geschichte__innen { display:block; } .start-geschichte__duo { display:grid; grid-template-columns:1.2fr 1fr; gap:10%; align-items:start; margin-top:65px; }
.start-geschichte__kopf { grid-column:1/-1; display:grid; grid-template-columns:1fr 1.8fr; align-items:start; gap:10%; }
.start-geschichte__kopf .kapitel__label { margin:10px 0; }
.start-geschichte__kopf h2 { font-size:clamp(50px,6vw,88px); line-height:1; letter-spacing:-.04em; margin:0; max-width:830px; }
.start-geschichte__foto { margin:0; }
.start-geschichte__foto img { width:100%; height:430px; object-fit:cover; display:block; }
.start-geschichte__foto figcaption { color:#aeb5ad; font-size:11px; margin-top:14px; line-height:1.5; }
.start-geschichte__jahr { display:block; font-family:var(--schrift-anzeige); color:#e85d24; font-size:115px; line-height:1; letter-spacing:-.045em; margin:-8px 0 22px; }
.start-geschichte__text p { color:#c0c4bd; font-size:15px; line-height:1.7; max-width:420px; }
.start-geschichte__text .start-textlink { margin-top:12px; }
@keyframes start-eintritt { from { opacity:.2; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1600px) { .start-hero__objekt { right:0; } }
@media(max-width:1100px) { .start-hero__innen { min-height:700px; } .start-hero__titel { font-size:105px; } .start-hero__objekt { height:530px; top:105px; right:-7%; } .start-hero__beschreibung { max-width:355px; } .start-gewerk__foto img { height:440px; } .start-prozess__innen { gap:7%; } .start-praezision__innen { gap:7%; } .start-praezision__foto img { height:520px; } }
@media(max-width:850px) { .start-hero__innen { min-height:680px; } .start-hero__titel { font-size:87px; } .start-hero__text { width:67%; } .start-hero__objekt { width:56%; right:-8%; height:490px; top:90px; opacity:.95; } .start-hero__beschreibung { font-size:15px; max-width:335px; } .start-hero__text .knopf-reihe { align-items:flex-start; flex-direction:column; gap:17px; } .start-hero__objektlabel { right:18%; bottom:0; } .start-fakten__innen { gap:20px; } .start-fakt { padding-left:14px; } .start-fakt b { font-size:32px; } .start-kapitel { gap:30px; margin-bottom:65px; } .start-kapitel__intro { font-size:15px; } .start-gewerk { gap:6%; grid-template-columns:1fr 1.1fr; } .start-gewerk h3 { font-size:38px; } .start-gewerk__text>p { font-size:15px; } .start-gewerk__foto img { height:420px; } .start-gewerk--2 { gap:7%; margin-top:85px; } .start-versprechen__kopf { grid-template-columns:1fr 100px; } .start-versprechen__zeichen { font-size:110px; } .start-grund { grid-template-columns:35px .95fr 1fr; gap:20px; } .start-grund h3 { font-size:23px; } .start-grund p { font-size:14px; } .start-prozess__innen { grid-template-columns:1fr; gap:48px; } .start-prozess__kopf { position:static; max-width:650px; } .start-prozess__kopf h2 { font-size:58px; } .start-schritt__inhalt { display:grid; grid-template-columns:1fr 1fr; gap:30px; } .start-schritt__inhalt img { height:220px; } .start-praezision__foto img { height:470px; } .start-praezision__text h2 { font-size:46px; } .start-branchen__liste { gap:0 25px; } .start-geschichte__duo { gap:7%; margin-top:50px; } .start-geschichte__foto img { height:400px; } .start-geschichte__jahr { font-size:85px; } }
@media(max-width:600px) {
  .start-hero__innen { min-height:0; padding-top:23px; padding-bottom:19px; }
  .start-hero__kopf .kapitel__label { font-size:9px; letter-spacing:.035em; } .start-hero__signatur { display:none; }
  .start-hero__text { width:100%; padding:40px 0 0; }
  .start-hero__titel { font-size:clamp(65px,18.2vw,104px); line-height:.95; letter-spacing:-.045em; }
  .start-hero__beschreibung { max-width:94%; margin:24px 0 22px; font-size:15px; }
  .start-hero__text .knopf-reihe { flex-direction:row; align-items:center; gap:20px; flex-wrap:wrap; } .start-hero__weiter { font-size:12px; gap:8px; }
  .start-hero__objekt { position:relative; width:100%; height:350px; top:auto; right:auto; margin:2px 0 8px; }
  .start-hero__kreis { width:78%; max-width:290px; top:6%; left:11%; }
  .start-hero__objektlabel { right:0; bottom:14px; font-size:9px; }
  .start-hero__fuss { font-size:9px; letter-spacing:.03em; } .start-hero__fuss a { gap:12px; }
  .start-fakten__innen { grid-template-columns:1fr 1fr; gap:25px 30px; padding:28px 0; } .start-fakt { border-left:0; padding:0; } .start-fakt b { font-size:32px; } .start-fakt>span { font-size:11px; }
  .start-leistungen { padding:65px 0; } .start-kapitel { display:block; margin-bottom:45px; } .start-kapitel .kapitel__label { margin-bottom:22px; } .start-kapitel h2 { font-size:58px; } .start-kapitel__intro { max-width:340px; margin-top:25px; }
  .start-gewerk,.start-gewerk--2 { display:flex; flex-direction:column; align-items:stretch; gap:28px; } .start-gewerk__nummer { margin-bottom:20px; } .start-gewerk h3 { font-size:40px; } .start-gewerk__text>p { max-width:none; } .start-gewerk__liste { gap:5px 13px; margin:20px 0; } .start-gewerk__foto img { height:340px; } .start-gewerk--2 { margin-top:65px; } .start-gewerk--2 .start-gewerk__foto img { height:300px; }
  .start-versprechen { padding:60px 0; } .start-versprechen__kopf { grid-template-columns:1fr 55px; gap:25px 10px; margin-bottom:35px; } .start-versprechen__kopf h2 { font-size:52px; } .start-versprechen__zeichen { font-size:68px; margin-top:5px; }
  .start-grund { grid-template-columns:26px 1fr; gap:10px 17px; padding:25px 0; } .start-grund h3 { font-size:23px; } .start-grund p { grid-column:2; font-size:14px; }
  .start-prozess { padding:65px 0; } .start-prozess__kopf h2 { font-size:47px; } .start-prozess__innen { gap:35px; } .start-schritt summary { grid-template-columns:24px 1fr 22px; gap:14px; padding:22px 0; } .start-schritt h3 { font-size:20px; } .start-schritt__inhalt { display:block; padding:0 0 25px 38px; } .start-schritt__inhalt img { height:230px; }
  .start-praezision { padding:60px 0; } .start-praezision__innen { display:flex; flex-direction:column-reverse; gap:38px; } .start-praezision__text h2 { font-size:44px; hyphens:none; } .start-praezision__foto img { height:420px; }
  .start-branchen { padding:60px 0; } .start-branchen__kopf { display:block; margin-bottom:30px; } .start-branchen__kopf h2 { font-size:43px; margin:22px 0; } .start-branchen__liste { grid-template-columns:1fr; gap:0; } .start-branche { padding:20px 0; } .start-branche p { max-width:none; font-size:14px; }
  .start-geschichte { padding:65px 0; } .start-geschichte__duo { display:flex; flex-direction:column; gap:35px; margin-top:35px; } .start-geschichte__kopf { display:block; } .start-geschichte__kopf h2 { font-size:53px; margin-top:23px; } .start-geschichte__foto img { height:280px; } .start-geschichte__jahr { font-size:98px; margin:0 0 23px; }
}
@media(prefers-reduced-motion:reduce) { .start-hero__titel>span { animation:none; } .start-hero__kreis { transform:none; } .start-schritt__plus { transition:none; } }
/* Captions belong to the surrounding editorial surface; readable in both themes. */
.start-geschichte__foto { background:transparent; }
.start-schritt summary .mono { color:var(--rot-text); }

.start-gewerk__foto {background:transparent;}
.start-gewerk__foto figcaption {color:#c0c4bd;font:12px/1.6 var(--schrift-text);padding-top:14px;}
