/* Zusatz-CSS für Unterseiten (Arbeiten, Leistungen, Kontakt, Rechtliches, 404) */
nav a[aria-current="page"]{opacity:1}

.pg-head{padding:clamp(130px,18vw,220px) var(--pad) clamp(36px,5vw,64px)}
.pg-head h1{font-weight:300;font-size:clamp(52px,10.5vw,176px);line-height:.95;letter-spacing:-.045em}
.pg-head h1 .arrow{color:var(--accent);font-weight:400;display:inline-block;transform:translateY(-.08em)}
.pg-head p{margin-top:clamp(20px,3vw,36px);max-width:560px;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:#555}
.pg-block{padding:clamp(40px,6vw,80px) var(--pad) clamp(90px,12vw,160px)}
.pg-block.tight{padding-top:0}

/* großer Abschluss */
.cta{background:var(--soft);padding:clamp(90px,14vw,180px) var(--pad)}
.cta a{display:inline-flex;align-items:baseline;gap:.15em;font-weight:300;font-size:clamp(48px,9vw,150px);line-height:.95;letter-spacing:-.05em}
.cta .arrow{color:var(--accent);transition:transform .5s var(--ease)}
.cta a:hover .arrow{transform:translate(.08em,-.08em)}

/* Leistungen */
.sv{padding:clamp(70px,10vw,140px) var(--pad)}
.sv + .sv{padding-top:0}
.sv .big{font-weight:300;font-size:clamp(30px,5vw,80px);line-height:1.08;letter-spacing:-.04em;max-width:15em}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(36px,5vw,72px)}
.steps .n{font-size:14px;color:var(--accent);font-weight:700}
.steps h4{font-weight:300;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;margin:10px 0 8px}
.steps p{font-size:15px;line-height:1.6;color:#555}
.refs{list-style:none;margin-top:clamp(36px,5vw,64px)}
.refs a{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:8px 0;transition:opacity .4s var(--ease)}
.refs:hover a{opacity:.25}
.refs a:hover{opacity:1}
.refs .t{font-size:clamp(20px,2.4vw,34px);letter-spacing:-.03em}
.refs .m{font-size:14px;color:var(--mute);white-space:nowrap}
.refs .m i{font-style:normal;color:var(--accent)}

/* Kontakt */
.kgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:start}
.kform{display:flex;flex-direction:column;gap:26px}
.fld label,.fld .lb{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.fld input[type=text],.fld input[type=email],.fld textarea{width:100%;font:inherit;font-size:17px;font-weight:300;color:var(--ink);
  background:var(--soft);border:0;border-radius:12px;padding:15px 18px;outline:0;transition:box-shadow .3s}
.fld textarea{min-height:160px;resize:vertical;line-height:1.5}
.fld input:focus,.fld textarea:focus{box-shadow:0 0 0 2px var(--accent)}
.fld.bad input,.fld.bad textarea{box-shadow:0 0 0 2px var(--accent)}
.err{min-height:0;font-size:14px;color:var(--accent);margin-top:8px}
.err:empty{display:none}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills label{margin:0;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink);cursor:pointer}
.pills input{position:absolute;opacity:0;pointer-events:none}
.pills span{display:inline-block;padding:10px 20px;border-radius:999px;background:var(--soft);transition:background .3s,color .3s}
.pills input:checked + span{background:var(--ink);color:#fff}
.pills input:focus-visible + span{box-shadow:0 0 0 2px var(--accent)}
/* Einwilligung: normaler Fließtext neben dem Häkchen (nicht im Stil der Feld-Überschriften) */
.fld label.chk{display:flex;gap:12px;align-items:flex-start;margin:0;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.55;color:var(--ink);cursor:pointer}
.chk input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);cursor:pointer}
.chk a{text-decoration:underline;text-underline-offset:3px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:#555;cursor:pointer;text-transform:none;letter-spacing:0}
.chk input{margin-top:4px;accent-color:var(--accent);width:18px;height:18px;flex:none}
.chk a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send{align-self:flex-start;display:inline-flex;align-items:baseline;gap:.4em;font-size:clamp(22px,2.2vw,30px);font-weight:300;letter-spacing:-.02em;padding:6px 0}
.send .arrow{color:var(--accent);transition:transform .4s var(--ease)}
.send:hover .arrow{transform:translate(.1em,-.1em)}
.send[disabled]{opacity:.4;cursor:default}
.note{font-size:16px;line-height:1.6;color:#555}
.note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.thanks{font-weight:300;font-size:clamp(30px,4vw,60px);line-height:1.1;letter-spacing:-.035em}
.thanks .arrow{color:var(--accent)}
.kinfo{display:flex;flex-direction:column;gap:30px;font-size:17px;line-height:1.5}
.kinfo small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.kinfo a:hover{color:var(--accent)}
.kinfo .addr a{display:block}

/* Textseiten */
.prose{max-width:68ch;font-size:17px;line-height:1.7;color:#333;padding:0 var(--pad) clamp(90px,12vw,160px)}
.prose h2{font-weight:300;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em;color:var(--ink);margin:2.2em 0 .5em}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:1em}
.prose ul{margin:0 0 1em 1.2em}
.prose a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--accent)}

/* 404 */
.nf{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(28px,4vw,56px);padding:120px var(--pad) clamp(50px,9vh,100px)}
.nf h1{font-weight:300;font-size:clamp(42px,8vw,132px);line-height:1;letter-spacing:-.045em;max-width:14em}
.nf a{align-self:flex-start;display:inline-flex;align-items:baseline;gap:.2em;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.02em}
.nf a .arrow{color:var(--accent);transition:transform .4s var(--ease)}
.nf a:hover .arrow{transform:translate(.1em,-.1em)}

@media (max-width:820px){
  .steps{grid-template-columns:minmax(0,1fr)}
  .kgrid{grid-template-columns:minmax(0,1fr)}
  .refs a{flex-direction:column;gap:0}
}
