
.doc{
  position:relative;z-index:1;
  background:
    linear-gradient(180deg,rgba(255,255,255,.6) 0,transparent clamp(140px,16vw,240px)),
    rgba(247,245,240,.94);
  color:var(--ink);
  border-top-left-radius:clamp(26px,4vw,64px);
  border-top-right-radius:clamp(26px,4vw,64px);
  box-shadow:
    inset 0 1px 0 0 rgba(255,255,255,.95),
    0 -34px 72px -34px rgba(10,22,42,.62);
  margin-top:clamp(4.5rem,12vh,9rem);
  padding-block:clamp(3.5rem,9vh,7rem) clamp(5rem,13vh,10rem);
  min-height:60svh;
}
.doc-head{
  margin-bottom:clamp(2.4rem,6vh,4.5rem);
  padding-bottom:clamp(1.4rem,3vw,2.2rem);
  border-bottom:1px solid var(--line-lite);
}
.doc-back{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--slate);
  margin-bottom:clamp(1.2rem,3vw,2rem);
  transition:gap .3s var(--ease),color .3s var(--ease);
}
.doc-back:hover{gap:.95rem;color:var(--ink)}
.doc-title{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(2.4rem,6vw,4.6rem);line-height:.98;letter-spacing:-.028em;
  margin-left:-.03em;
}
.doc-sub{
  margin-top:clamp(.7rem,1.6vw,1.1rem);
  font-size:var(--step-0);color:var(--slate);max-width:60ch;
}
.doc-body{max-width:68ch}
.doc-body h2{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.1;letter-spacing:-.015em;
  margin-top:clamp(2.6rem,6vh,4rem);margin-bottom:.85rem;
}
.doc-body h2:first-child{margin-top:0}
.doc-body h3{
  font-size:var(--step-0);font-weight:600;letter-spacing:.01em;
  margin-top:1.8rem;margin-bottom:.4rem;
}
.doc-body p,.doc-body li{
  font-size:var(--step-0);line-height:1.68;color:#2E3138;
}
.doc-body p + p{margin-top:.9rem}
.doc-body ul{margin:.7rem 0 0 1.1rem;display:grid;gap:.35rem}
.doc-body li::marker{color:var(--red)}
.doc-body a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--red)}
.doc-body a:hover{background:rgba(225,18,37,.07)}
.doc-body address{font-style:normal;line-height:1.68}
.doc-body strong{font-weight:600}
.doc-meta{
  margin-top:clamp(3rem,7vh,5rem);padding-top:1.4rem;
  border-top:1px solid var(--line-lite);
  font-size:var(--step--1);color:var(--slate);
}

.todo{
  display:inline-block;
  background:var(--yellow);color:var(--ink);
  padding:.1em .55em;border-radius:3px;
  font-size:.92em;font-weight:600;letter-spacing:.01em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.todo-note{
  margin:clamp(1.4rem,3vw,2.2rem) 0;
  padding:clamp(1rem,2.2vw,1.5rem) clamp(1.1rem,2.4vw,1.7rem);
  border-left:3px solid var(--yellow);
  background:rgba(255,200,3,.12);
  font-size:var(--step--1);line-height:1.6;
}
.todo-note b{display:block;margin-bottom:.4rem;letter-spacing:.08em;text-transform:uppercase;font-size:.9em}

.nf{display:flex;flex-direction:column;justify-content:center;min-height:72svh}
.nf-num{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(6rem,22vw,17rem);line-height:.8;letter-spacing:-.05em;
  color:var(--ink);margin-left:-.045em;
}
.nf-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:clamp(2rem,5vw,3.2rem)}

.doc-top{position:relative;z-index:1;color:var(--night-fg)}
.doc-top .mark{color:var(--night-fg)}
.doc-top .mark b{color:var(--red)}
.doc-top .nav a{color:var(--night-fg);opacity:.7}
.doc-top .nav a:hover{opacity:1}

.doc-body ul + p,
.doc-body ul + h3,
.doc-body address + p{margin-top:1.1rem}
.doc-body p + address{margin-top:.6rem}

.off-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:clamp(1rem,2.4vw,1.6rem);margin-top:clamp(2rem,5vw,3rem);
}
.off-card{
  padding:clamp(1.1rem,2.4vw,1.6rem);
  border:1px solid var(--line-lite);border-radius:16px;
  background:rgba(255,255,255,.6);
}
.off-not{border-color:rgba(225,18,37,.35)}
.off-k{
  display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--slate);margin-bottom:.5rem;
}
.off-v{
  font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;
  font-variant-numeric:tabular-nums;text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--red);
}
.off-112{color:var(--red)}
.off-t{font-size:var(--step-0);line-height:1.6;margin:.2rem 0 0}

.tm-kat{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--red);font-weight:600;
  margin:clamp(2.6rem,6vh,4.4rem) 0 clamp(1rem,2.4vh,1.6rem);
  padding-top:clamp(1rem,2.4vh,1.6rem);
  border-top:1px solid var(--line);
}
.doc-head + .tm-kat{border-top:none;padding-top:0}

.tm-lead{
  display:grid;gap:clamp(1.2rem,3vw,2.6rem);
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  align-items:center;
}
.tm-text{min-width:0}
.tm-rolle{
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;
  color:#6E7480;margin:0 0 .5rem;line-height:1.45;
}
.tm-name{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.02;
  letter-spacing:-.028em;margin:0;color:#8E939C;text-wrap:balance;
}
.tm-name em,.tm-name-s em{font-style:normal;color:var(--ink)}
.tm-bio{
  margin:.9rem 0 0;max-width:38ch;color:var(--body);
  font-size:.98rem;line-height:1.6;
}

.tm-grid{
  list-style:none;padding:0;margin:0;
  display:grid;gap:clamp(1rem,2.4vw,1.9rem) clamp(.9rem,2vw,1.5rem);
}
.tm-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tm-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tm-karte{min-width:0}
.tm-name-s{
  font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(1.1rem,1.9vw,1.5rem);line-height:1.08;
  letter-spacing:-.02em;margin:0;color:#8E939C;
}

.tm-bild{
  margin:0 0 .8rem;border-radius:14px;overflow:hidden;
  aspect-ratio:3/2;background:rgba(255,255,255,.34);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 14px 34px -24px rgba(20,40,72,.5);
}
.tm-bild img{
  display:block;width:100%;height:100%;object-fit:cover;
  object-position:center 32%;   
}
.tm-lead .tm-bild{margin-bottom:0;border-radius:18px}

.tm-mono{
  display:grid;place-items:center;
  background:
    linear-gradient(150deg,rgba(255,255,255,.5),rgba(255,255,255,.16));
}
.tm-mono span{
  font-family:'Instrument Serif',Georgia,serif;
  font-size:clamp(1.9rem,4.4vw,2.9rem);letter-spacing:.04em;
  color:#A9AEB8;
}

.tm-fuss{
  margin:clamp(2.4rem,5vh,3.6rem) 0 0;padding-top:clamp(1rem,2.4vh,1.6rem);
  border-top:1px solid var(--line);color:var(--body);
}

@media (max-width:900px){
  .tm-lead{grid-template-columns:1fr}
  .tm-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .tm-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:400px){
  .tm-grid-3,.tm-grid-4{grid-template-columns:1fr}
}

.doc-back{
  display:inline-flex;align-items:center;
  min-height:44px;box-sizing:border-box;
}

.off-card a{
  display:inline-flex;align-items:center;
  min-height:44px;box-sizing:border-box;
}
.off-t{line-height:2.3}
.off-t a{
  display:inline-block;
  padding-block:.6rem;line-height:1.15;
  min-height:0;                      
}

.doc p a[href^="tel:"],
.doc p a[href^="mailto:"],
.doc address a[href^="tel:"],
.doc address a[href^="mailto:"]{
  display:inline-block;
  padding-block:.6rem;line-height:1.15;
}
.doc p:has(> a[href^="tel:"]),
.doc p:has(> a[href^="mailto:"]),
.doc address:has(a[href^="tel:"]){line-height:2.3}

.tm-fuss{line-height:2.3}
.tm-fuss a{display:inline-block;padding-block:.6rem;line-height:1.15}

.tm-bild{
  
  isolation:isolate;
}
.tm-bild img{
  transform:scale(1);
  transition:transform .62s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.tm-karte:hover .tm-bild img,
.tm-lead:hover .tm-bild img{transform:scale(1.055)}

.tm-bild{transition:box-shadow .62s cubic-bezier(.16,1,.3,1)}
.tm-karte:hover .tm-bild,
.tm-lead:hover .tm-bild{box-shadow:0 22px 46px -26px rgba(20,40,72,.62)}

.tm-mono span{
  display:block;
  transition:transform .62s cubic-bezier(.16,1,.3,1),color .62s var(--ease);
}
.tm-karte:hover .tm-mono span{transform:scale(1.08);color:#8E939C}

.tm-name-s,.tm-name{transition:color .4s var(--ease)}
.tm-karte:hover .tm-name-s{color:#6E7480}

@media (prefers-reduced-motion:reduce){
  .tm-bild img,.tm-mono span,.tm-bild{transition:none}
  .tm-karte:hover .tm-bild img,
  .tm-lead:hover .tm-bild img,
  .tm-karte:hover .tm-mono span{transform:none}
}

