/* Kanzlei Dr. Heimerdinger – bewusst ohne externe Schriften, Skripte oder Cookies */

/* Schmale Schrift wird mitgeliefert (Liberation Sans Narrow, laufweitengleich mit Arial Narrow).
   Ist Arial Narrow lokal installiert, wird diese verwendet. Lizenz: fonts/LiberationSansNarrow-License.txt */
@font-face{font-family:"Jurare Narrow";font-style:normal;font-weight:400;font-display:swap;
  src:local("Arial Narrow"),local("ArialNarrow"),url("fonts/LiberationSansNarrow-Regular.woff2") format("woff2")}
@font-face{font-family:"Jurare Narrow";font-style:normal;font-weight:700;font-display:swap;
  src:local("Arial Narrow Bold"),local("ArialNarrow-Bold"),url("fonts/LiberationSansNarrow-Bold.woff2") format("woff2")}

:root{
  --ink:#111;
  --muted:#5a5a5a;
  --line:#d9d9d9;
  --paper:#fff;
  --narrow:"Jurare Narrow","Arial Narrow",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--narrow);
  font-size:1.1875rem;line-height:1.6;
}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s}
a:hover,a:focus-visible{border-bottom-color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Titelseite: nur Name und Navigation, Fußzeile am unteren Rand */
body.start{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.titel{
  flex:1;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:2rem 1.25rem;
}
.titel h1{
  font-weight:400;margin:0;
  font-size:clamp(2rem,6.2vw,4.5rem);line-height:1.1;letter-spacing:-.01em;
}
.titel .beruf{margin:1.6rem 0 0;font-size:clamp(.95rem,1.6vw,1.15rem);color:var(--muted)}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem}
.titel nav{margin-top:2.6rem;font-size:clamp(.95rem,1.6vw,1.15rem)}
nav a{border-bottom-color:transparent}
nav a[aria-current="page"]{border-bottom-color:var(--ink)}

/* Kopfzeile der Unterseiten */
.kopf{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 2rem;
  max-width:62rem;margin:0 auto;padding:1.6rem 1.25rem;border-bottom:1px solid var(--line);
}
.kopf .name{font-size:1.35rem;border:0}
.kopf nav{font-size:1rem}

/* Inhalt */
main{max-width:40rem;margin:0 auto;padding:4.5rem 1.25rem 5rem}
.titel + main{padding-top:2rem}
section{scroll-margin-top:2rem}
section + section{margin-top:3.75rem}
h1,h2{font-weight:700;font-size:1.6rem;line-height:1.25;margin:0 0 1rem}
main > h1 + p{margin-bottom:0}
main > h1 + p + section{margin-top:3.75rem}
/* Impressum und Datenschutz: Zwischenüberschriften kleiner */
.recht h2{font-size:1.15rem;margin:2.2rem 0 .4rem}
.recht h2.teil{font-size:1.6rem;margin:4rem 0 1rem}
.recht h3{font-weight:700;font-size:1.05rem;margin:1.8rem 0 .4rem}
h4{font-weight:400;font-style:italic;font-size:1.1rem;margin:1.4rem 0 .2rem}
p{margin:0 0 1rem;hyphens:auto}
address{font-style:normal;margin:0 0 1rem}
ul.liste{margin:0 0 1rem;padding-left:1.2rem}
.klein{font-size:1rem;color:var(--muted)}

/* Formular */
form{margin-top:2rem}
label{display:block;margin:1.2rem 0 .3rem}
input[type=text],input[type=email],textarea{
  width:100%;font:inherit;color:inherit;background:#fff;
  border:1px solid #8a8a8a;border-radius:0;padding:.6rem .7rem;
}
textarea{min-height:11rem;resize:vertical}
.einwilligung{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.4rem;font-size:1rem;line-height:1.5}
.einwilligung input{margin-top:.3rem;width:1.1rem;height:1.1rem;flex:none}
.einwilligung label{margin:0}
button{
  margin-top:1.6rem;font:inherit;cursor:pointer;
  background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.65rem 1.8rem;
}
button:hover{background:#fff;color:var(--ink)}
.falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.meldung{border-left:3px solid var(--ink);padding:.8rem 1rem;margin:0 0 1.5rem;background:#f5f5f5}

/* Fuß */
footer{
  border-top:1px solid var(--line);max-width:62rem;margin:0 auto;padding:1.6rem 1.25rem 2.5rem;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;
  font-size:.95rem;color:var(--muted);
}
footer nav ul{justify-content:flex-start;gap:.3rem 1.2rem}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}
@media print{body.start{min-height:0}.titel{padding:1rem 0}nav,footer nav,form{display:none}main{padding:1rem 0}}
