:root{
  /* aus dem Werkstattfoto: Eiche im Schatten, beleuchtetes Holz, Stahlknoten, Messinggriffe */
  --oak:#241610;
  --iron:#14100E;
  --walnut:#6B3E22;
  --amber:#A8703C;
  --shaving:#C99A6B;
  --brass:#B08D57;
  --linen:#EFE4D4;

  --f--1:clamp(.78rem,.75rem + .12vw,.86rem);
  --f-0:clamp(1rem,.97rem + .15vw,1.08rem);
  --f-1:clamp(1.12rem,1.03rem + .38vw,1.36rem);
  --f-2:clamp(1.5rem,1.2rem + 1.4vw,2.5rem);
  --f-3:clamp(2.05rem,1.4rem + 2.9vw,4rem);
  --space:clamp(1.25rem,1rem + 1.5vw,2.5rem);
  --edge:clamp(1.1rem,.6rem + 2.5vw,3.25rem);
  --rail:11rem;
}
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,p,ul,ol,li,figure,dl,dt,dd{margin:0;padding:0;}
body{
  font-family:'Figtree',system-ui,sans-serif;
  font-size:var(--f-0);line-height:1.68;
  color:var(--linen);background:var(--oak);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
ul,ol{list-style:none;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px;}
[id]{scroll-margin-top:4.5rem;}

.z-display{font-family:'Newsreader',Georgia,serif;font-weight:400;line-height:1.14;letter-spacing:-.012em;}
.z-wrap{width:min(70rem,100%);margin-inline:auto;padding-inline:var(--edge);}
.z-tag{
  font-size:var(--f--1);letter-spacing:.2em;text-transform:uppercase;
  color:var(--brass);font-weight:600;
}

/* ---------- Signaturstruktur: tragende Schiene links ---------- */
.rail{display:grid;gap:var(--space);grid-template-columns:1fr;}
@media (min-width:56rem){
  .rail{grid-template-columns:var(--rail) 1fr;column-gap:clamp(2rem,4vw,4rem);align-items:start;}
}
.rail__side{
  font-size:var(--f--1);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);
  font-weight:600;
}
@media (min-width:56rem){
  .rail__side{
    position:sticky;top:2rem;
    border-top:2px solid var(--brass);padding-top:.8rem;
  }
}

/* ---------- Präsenzo-Leiste ---------- */
.pz{background:var(--iron);font-size:var(--f--1);border-bottom:1px solid rgba(176,141,87,.25);}
.pz__in{
  width:min(70rem,100%);margin-inline:auto;padding:.7rem var(--edge);
  display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;justify-content:center;text-align:center;
}
.pz__cta{color:var(--brass);font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ---------- Kopf: asymmetrisch, Name links ---------- */
.head{border-bottom:1px solid rgba(176,141,87,.25);}
.head__in{
  width:min(70rem,100%);margin-inline:auto;padding:1.1rem var(--edge);
  display:flex;align-items:baseline;gap:var(--space);flex-wrap:wrap;
}
.sign{font-family:'Newsreader',serif;font-size:var(--f-1);letter-spacing:.02em;text-decoration:none;}
.sign em{font-style:italic;color:var(--brass);}
.nav{margin-inline-start:auto;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:var(--f--1);letter-spacing:.1em;text-transform:uppercase;font-weight:600;}
.nav a{text-decoration:none;color:var(--shaving);padding-bottom:.2rem;border-bottom:1px solid transparent;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--linen);border-bottom-color:var(--brass);}

/* ---------- Hero: Text links, Bild bricht rechts aus ---------- */
.intro{padding-block:clamp(2.25rem,1.5rem + 3.5vw,4.5rem) 0;overflow:hidden;}
.intro__grid{display:grid;gap:var(--space);grid-template-columns:1fr;align-items:center;}
@media (min-width:60rem){
  .intro__grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);column-gap:clamp(2rem,4vw,3.5rem);}
}
.intro h1{font-size:var(--f-3);max-width:15ch;margin-top:1rem;}
.intro h1 em{font-style:italic;color:var(--amber);}
.intro__lede{margin-top:1.3rem;max-width:40ch;color:var(--shaving);font-size:var(--f-1);line-height:1.5;}
.intro__row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem;}
.intro__figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
@media (min-width:60rem){
  .intro__figure{margin-right:calc(var(--edge) * -1);}
  .intro__figure img{aspect-ratio:4/3;}
}
.intro__cap{margin-top:.7rem;font-size:var(--f--1);color:var(--brass);letter-spacing:.1em;text-transform:uppercase;}

.b-amber{
  display:inline-block;text-decoration:none;font-size:var(--f--1);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  background:var(--amber);color:var(--iron);padding:.9rem 1.7rem;
}
.b-amber:hover{background:var(--linen);}
.b-thin{
  display:inline-block;text-decoration:none;font-size:var(--f--1);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--brass);color:var(--brass);padding:.9rem 1.7rem;
}
.b-thin:hover{background:var(--brass);color:var(--iron);}

/* ---------- Abschnitte ---------- */
.part{padding-block:clamp(3rem,2.25rem + 4vw,6rem);}
.part--linen{background:var(--linen);color:var(--iron);}
.part--linen .z-tag{color:var(--walnut);}
.part--linen .rail__side{color:var(--walnut);border-top-color:var(--walnut);}
.part--iron{background:var(--iron);}
.part__head h2{font-size:var(--f-2);margin-top:.7rem;max-width:22ch;}
.part__head p{margin-top:.9rem;max-width:52ch;color:var(--shaving);}
.part--linen .part__head p{color:#5E4A38;}

/* ---------- Signatur: das Werkstattbuch ---------- */
.book{display:grid;gap:0;}
.entry{
  padding-block:clamp(1.5rem,1.2rem + 1vw,2.25rem);
  border-top:1px solid rgba(176,141,87,.35);
  display:grid;gap:var(--space);grid-template-columns:1fr;
}
.part--linen .entry{border-top-color:rgba(107,62,34,.3);}
@media (min-width:52rem){.entry{grid-template-columns:1.15fr .85fr;column-gap:clamp(2rem,4vw,4rem);}}
.entry:last-child{border-bottom:1px solid rgba(176,141,87,.35);}
.part--linen .entry:last-child{border-bottom-color:rgba(107,62,34,.3);}
.entry__no{font-size:var(--f--1);letter-spacing:.18em;color:var(--brass);font-weight:700;}
.part--linen .entry__no{color:var(--walnut);}
.entry h3{font-family:'Newsreader',serif;font-weight:400;font-size:var(--f-2);margin-top:.4rem;}
.entry p{margin-top:.7rem;color:var(--shaving);max-width:46ch;}
.part--linen .entry p{color:#5E4A38;}
.spec{display:grid;grid-template-columns:auto 1fr;gap:.1rem 1.25rem;align-content:start;}
.spec dt{
  font-size:var(--f--1);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);
  font-weight:600;padding-block:.5rem;border-bottom:1px solid rgba(176,141,87,.22);
}
.spec dd{
  font-size:var(--f--1);text-align:right;padding-block:.5rem;
  border-bottom:1px solid rgba(176,141,87,.22);font-weight:600;
}
.part--linen .spec dt{color:var(--walnut);border-bottom-color:rgba(107,62,34,.18);}
.part--linen .spec dd{border-bottom-color:rgba(107,62,34,.18);}

/* ---------- Gewerke schlicht ---------- */
.disciplines{display:grid;gap:0;}
.disc{
  display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;align-items:baseline;
  padding-block:1.15rem;border-bottom:1px solid rgba(176,141,87,.28);
}
.part--linen .disc{border-bottom-color:rgba(107,62,34,.22);}
.disc__name{font-family:'Newsreader',serif;font-size:var(--f-1);}
.disc__note{flex:1 1 18rem;font-size:var(--f--1);color:var(--shaving);}
.part--linen .disc__note{color:#5E4A38;}
.disc__lead{margin-inline-start:auto;font-size:var(--f--1);font-weight:700;letter-spacing:.06em;white-space:nowrap;color:var(--brass);}
.part--linen .disc__lead{color:var(--walnut);}
@media (max-width:40rem){
  .disc__name{flex:1 1 100%;}
  .disc__note{flex:1 1 100%;order:3;}
  .disc__lead{margin-inline-start:0;order:2;}
}

/* ---------- Kontaktblock ---------- */
.desk{display:grid;gap:var(--space);grid-template-columns:1fr;}
@media (min-width:48rem){.desk{grid-template-columns:1fr 1fr;}}
.desk__col h3{font-size:var(--f--1);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:.9rem;}
.part--linen .desk__col h3{color:var(--walnut);}
.desk__line{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;border-bottom:1px solid rgba(176,141,87,.2);font-size:var(--f--1);}
.part--linen .desk__line{border-bottom-color:rgba(107,62,34,.18);}
.desk__line span:last-child{font-weight:600;}

/* ---------- Unterseiten ---------- */
.top{padding-block:clamp(2.25rem,1.75rem + 3vw,4.25rem) 0;}
.top h1{font-size:var(--f-2);max-width:22ch;margin-top:.8rem;}
.top p{margin-top:1rem;max-width:52ch;color:var(--shaving);font-size:var(--f-1);line-height:1.5;}

.people{display:grid;gap:var(--space);grid-template-columns:1fr;}
@media (min-width:42rem){.people{grid-template-columns:1fr 1fr;}}
.who{padding-top:1.1rem;border-top:2px solid var(--brass);}
.part--linen .who{border-top-color:var(--walnut);}
.who h3{font-family:'Newsreader',serif;font-weight:400;font-size:var(--f-1);}
.who__rank{font-size:var(--f--1);color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-top:.2rem;}
.part--linen .who__rank{color:var(--walnut);}
.who p:last-child{margin-top:.7rem;font-size:var(--f--1);color:var(--shaving);}
.part--linen .who p:last-child{color:#5E4A38;}

.steps{display:grid;gap:var(--space);grid-template-columns:1fr;counter-reset:st;}
@media (min-width:52rem){.steps{grid-template-columns:repeat(3,1fr);}}
.stepbox{counter-increment:st;padding-top:1.1rem;border-top:2px solid var(--brass);}
.part--linen .stepbox{border-top-color:var(--walnut);}
.stepbox::before{
  content:counter(st,decimal-leading-zero);
  font-family:'Newsreader',serif;font-size:var(--f-2);color:var(--amber);display:block;line-height:1;
}
.part--linen .stepbox::before{color:var(--walnut);}
.stepbox h3{font-family:'Newsreader',serif;font-weight:400;font-size:var(--f-1);margin-top:.5rem;}
.stepbox p{margin-top:.5rem;font-size:var(--f--1);color:var(--shaving);}
.part--linen .stepbox p{color:#5E4A38;}

.base{background:var(--iron);padding-block:2.5rem;font-size:var(--f--1);color:var(--shaving);}
.base a{color:var(--brass);}
.base p + p{margin-top:.6rem;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}
