/* Ahnenhain · Platzhalter ahnenhain.de · CI vom 31.08.2026
   Keine externen Abrufe: Schriften liegen unter assets/fonts (SIL OFL 1.1, siehe OFL.txt). */
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/cinzel-400.woff2) format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cinzel-600.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/eb-garamond-400.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/eb-garamond-600.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-sans-3-400.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-sans-3-600.woff2) format("woff2")}

:root{
  --tanne-tief:#10261C; --tanne:#1B3A2A; --nadel:#2F5340;
  --harzgold:#C6A04A; --altgold:#8E6B28; --altgold-text:#806024; --elfenbein:#F4EDE0; --linie:#D9CFBA;
  --serif:"EB Garamond",Georgia,"Times New Roman",serif;
  --siegel:"Cinzel",Georgia,serif;
  --ui:"Source Sans 3",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; min-height:100vh; display:flex; flex-direction:column;
  background:var(--elfenbein); color:var(--tanne);
  font-family:var(--serif); font-size:1.1875rem; line-height:1.6}
a{color:var(--tanne); text-decoration-color:var(--harzgold); text-underline-offset:.18em; text-decoration-thickness:1px}
a:hover,a:focus-visible{color:var(--nadel); text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--harzgold); outline-offset:3px; border-radius:2px}

main{flex:1; overflow-wrap:break-word; hyphens:auto; width:100%; max-width:40rem; margin:0 auto; padding:3rem 1.25rem 2rem}

/* Startseite */
.siegel{display:block; width:min(13.75rem,60vw); height:auto; margin:0 auto 1.5rem}
.wortmarke{font-family:var(--siegel); font-weight:600; font-size:clamp(1.9rem,6.5vw,2.75rem);
  letter-spacing:.16em; text-align:center; margin:0; line-height:1.1; padding-left:.16em}
.lichtung{width:4.5rem; height:0; border:0; border-top:1px solid var(--harzgold); margin:1.25rem auto 1.5rem}
.status{text-align:center; font-size:1.3rem; margin:0 0 2.25rem}
.zweige{list-style:none; padding:0; margin:0 0 2.25rem; display:grid; gap:1rem}
.zweige li{border-top:1px solid var(--linie); padding-top:1rem; text-align:center}
.zweige .name{display:block; font-family:var(--siegel); font-weight:600; font-size:.95rem;
  letter-spacing:.14em; text-transform:uppercase}
.zweige .name span{color:var(--altgold-text)}
.zweige .was{display:block; font-family:var(--ui); font-size:1rem; color:var(--nadel); margin-top:.2rem}
.kontakt{text-align:center; margin:0}
.kontakt a{font-family:var(--ui); font-weight:600; font-size:1.1rem; letter-spacing:.02em}

/* Website Ahnenhain Systems (Neuplanung 24.09.2026) */
.kopfleiste{border-bottom:1px solid var(--linie); background:var(--elfenbein)}
.kopfleiste nav{max-width:52rem; margin:0 auto; padding:.8rem 1.25rem; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:.5rem 1.25rem; font-family:var(--ui); font-size:1rem}
.kopfleiste .heim{display:flex; align-items:center; gap:.6rem; text-decoration:none;
  font-family:var(--siegel); font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:.95rem}
.kopfleiste .heim img{width:2.1rem; height:auto}
.kopfleiste .heim span{color:var(--altgold-text)}
.kopfleiste ul{list-style:none; margin:0; padding:0; display:flex; gap:1.1rem; flex-wrap:wrap}
.kopfleiste a[aria-current="page"]{text-decoration-thickness:2px}
.seite{max-width:52rem; padding-top:2.5rem}
.held{margin-bottom:2.25rem}
.marke{font-family:var(--siegel); font-weight:600; font-size:clamp(.95rem,3.6vw,1.1rem);
  letter-spacing:.16em; text-transform:uppercase; margin:0 0 .6rem; color:var(--nadel)}
.marke span{color:var(--altgold-text)}
.leitsatz{font-family:var(--serif); font-weight:600; letter-spacing:0; font-size:clamp(1.7rem,6vw,2.5rem);
  line-height:1.2; margin:0 0 1rem}
.lead{font-size:1.25rem; margin:0}
.seite section{border-top:1px solid var(--linie); padding-top:1.5rem; margin-top:2rem}
.seite h2{margin-top:0}
.raster{list-style:none; padding:0; margin:0; display:grid; gap:1.1rem}
.raster > li{margin:0}
.raster h3{font-family:var(--ui); font-weight:600; font-size:1.08rem; letter-spacing:.01em; margin:0 0 .25rem}
.raster p{margin:0 0 .5rem}
.karte{border:1px solid var(--linie); border-radius:6px; padding:1rem 1.1rem; background:#FBF7EF}
.technik{font-family:var(--ui); font-size:.95rem; color:var(--nadel); margin:0}
.stand{display:inline-block; font-family:var(--ui); font-size:.8rem; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--altgold-text); margin:0 0 .35rem}
.weiter{font-family:var(--ui); font-weight:600; margin:1rem 0 0}
.werdegang{margin:0; display:grid; grid-template-columns:1fr; gap:.2rem 1.25rem}
.werdegang dt{font-family:var(--ui); font-weight:600; color:var(--altgold-text); margin-top:.9rem}
.werdegang dd{margin:0}
.werdegang dd strong{font-family:var(--ui)}
.kontaktwege{display:flex; flex-wrap:wrap; gap:.5rem 1.75rem; margin:1rem 0 0}
.kontaktwege a{font-family:var(--ui); font-weight:600; font-size:1.08rem; letter-spacing:.02em}
@media (min-width:44rem){
  .raster.drei{grid-template-columns:repeat(3,1fr)}
  .raster.zwei{grid-template-columns:repeat(2,1fr)}
  .werdegang{grid-template-columns:9rem 1fr}
  .werdegang dt{margin-top:.9rem}
  .werdegang dd{margin-top:.9rem}
}

/* Rechtstexte */
.kopf{display:flex; align-items:center; gap:.9rem; padding-bottom:.9rem;
  border-bottom:1px solid var(--harzgold); margin-bottom:1.75rem; text-decoration:none}
.kopf img{width:3.25rem; height:auto}
.kopf span{font-family:var(--siegel); font-weight:600; letter-spacing:.14em; font-size:1.2rem}
h1{font-family:var(--siegel); font-weight:600; letter-spacing:.04em; font-size:clamp(1.3rem,5.6vw,1.75rem); line-height:1.2; margin:0 0 1rem}
h2{font-family:var(--siegel); font-weight:600; letter-spacing:.05em; font-size:1.15rem; margin:2rem 0 .5rem}
p,ul,address{margin:0 0 .9rem}
address{font-style:normal}
ul{padding-left:1.2rem}
.klein{font-family:var(--ui); font-size:.95rem; color:var(--nadel)}

/* Fuß */
footer{border-top:1px solid var(--linie); padding:1.1rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px));
  text-align:center; font-family:var(--ui); font-size:.95rem; color:var(--nadel)}
footer nav{display:flex; justify-content:center; gap:1.5rem; flex-wrap:wrap}
footer a{color:var(--nadel)}
