/* Unterseiten-Kopf */
.page-head{position:relative;background:var(--ink);color:var(--on-dark);padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4.5rem);overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(oklch(1 0 0 / .055) 1px,transparent 1px),linear-gradient(90deg,oklch(1 0 0 / .055) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000 20%,transparent 100%)}
.page-head__grid{position:relative;align-items:end}
.page-head__title{font-size:clamp(2.8rem,7vw,5.5rem);line-height:.92;text-transform:uppercase;animation:hero-in 520ms var(--ease-out) both}
.page-head__lede{max-width:40rem;margin:1.25rem 0 0;font-size:clamp(1.05rem,1rem + .35vw,1.3rem);color:var(--on-dark-soft);animation:hero-in 520ms 90ms var(--ease-out) both}
.crumbs{display:flex;gap:.6rem;margin-bottom:1.25rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--primary)}
.page-head__media{animation:hero-in 520ms 140ms var(--ease-out) both}
.page-head__media img{aspect-ratio:4/3}

/* Seiteninhalt */
.entry-wrap{padding-block:clamp(3rem,7vw,6rem)}
.entry{min-width:0;font-size:var(--fs-body)}
.entry>*+*{margin-top:1.15em}
.entry h2{font-size:clamp(2rem,3.6vw,2.9rem);text-transform:uppercase;line-height:.98;margin-top:2.2em;padding-top:.9em;border-top:1px solid var(--line)}
.entry>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.entry h3{font-size:var(--fs-h3);text-transform:uppercase;margin-top:1.8em;letter-spacing:.02em}
.entry p{color:var(--ink-soft);max-width:44rem}
.entry a{color:var(--primary-ink);font-weight:600}
.entry a:hover{color:var(--ink)}
.entry ul,.entry ol{padding-left:0;list-style:none;max-width:44rem;color:var(--ink-soft)}
.entry li{position:relative;padding:.55rem 0 .55rem 1.75rem;border-bottom:1px solid var(--line)}
.entry ul li::before{content:"";position:absolute;left:0;top:1.25em;width:.6rem;height:.6rem;background:var(--primary)}
.entry ol{counter-reset:n}
.entry ol li{counter-increment:n}
.entry ol li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:.6rem;font-family:var(--font-display);font-weight:700;color:var(--primary-ink)}
.entry ol li{padding-left:2.5rem}
.entry .wp-block-columns{gap:2rem;max-width:none}
.entry .wp-block-group.has-background{padding:1.75rem 2rem;border-radius:var(--radius);border:1px solid var(--line)}
.entry .wp-block-separator{border:0;border-top:1px solid var(--line);margin-block:2.5rem}
.entry .wp-block-button__link{display:inline-flex;align-items:center;min-height:48px;padding:.7rem 1.4rem;background:var(--primary);color:var(--ink);border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background var(--dur-ui) var(--ease-out),transform 120ms var(--ease-out)}
.entry .wp-block-button__link:hover{background:oklch(0.72 0.18 50);color:var(--ink)}
.entry .wp-block-button__link:active{transform:scale(.98)}
.entry figure{margin:2rem 0}
.entry figure img{border-radius:var(--radius);width:100%;height:auto}
.entry figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:.5rem}
.entry table{width:100%;border-collapse:collapse}
.entry th,.entry td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line)}
.entry .svc-table{margin-top:2rem}
.entry .svc-row{color:inherit;font-weight:400}
.entry .svc-row:hover{color:inherit}
.entry .contact-list a{font-weight:600;color:inherit}

/* Seitenleiste */
.aside{position:relative}
.aside__box{position:sticky;top:calc(var(--header-h) + 1.5rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);display:grid;gap:.75rem}
.aside__title{font-family:var(--font-display);font-weight:700;font-size:1.8rem;text-transform:uppercase;margin:0}
.aside__text{margin:0 0 .5rem;color:var(--ink-soft);font-size:1rem}
.aside .contact-list{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--line)}

/* Kontaktzeilen: Icon neben Text, nie größer als die Zeile */
.contact-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.85rem}
.contact-list li{display:flex;align-items:center;gap:.75rem;padding:0;border:0;margin:0}
.contact-list li::before{display:none}
.contact-list .icon{width:22px;height:22px;color:var(--primary-ink);flex:0 0 22px}
.contact-list address{font-style:normal}
.contact-list a{text-decoration:none;font-weight:600}
.contact-list a:hover{text-decoration:underline}
.contact-list--dark .icon{color:var(--primary)}
.contact-list--dark a,.contact-list--dark address{color:var(--on-dark)}

/* Abschluss-Band */
.band{background:var(--ink);color:var(--on-dark);padding-block:clamp(3rem,6vw,5rem);border-top:4px solid var(--primary)}
.band__grid{align-items:center}
.band__title{font-size:clamp(2rem,4.5vw,3.4rem);text-transform:uppercase;line-height:.98}
.band__text{margin:1rem 0 0;color:var(--on-dark-soft);max-width:36rem}
.band__actions{display:grid;gap:.75rem}

/* Footer */
.site-footer{background:oklch(0.21 0.02 250);color:var(--on-dark-soft);padding-block:clamp(3rem,6vw,4.5rem) 1.5rem}
.site-footer__brand{font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:.04em;text-transform:uppercase;color:var(--on-dark);margin:0 0 .75rem}
.site-footer__text{max-width:28rem}
.site-footer__h{font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark);margin-bottom:.5rem}
.footer-menu{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.15rem}
.footer-menu a{display:inline-block;padding:.4rem 0;text-decoration:none;transition:color var(--dur-ui) var(--ease-out)}
.footer-menu a:hover{color:var(--primary)}
.site-footer__legal{margin:clamp(2rem,4vw,3.5rem) 0 0;padding-top:1.25rem;border-top:1px solid var(--line-dark);font-size:.92rem}

/* Kontaktformular (CF7) */
.wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}
.wpcf7-form p{margin:0}
.wpcf7-form .f-full,.wpcf7-form .wpcf7-response-output,.wpcf7-form p.f-full{grid-column:1 / -1}
.wpcf7-form label{display:block;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.wpcf7-form .wpcf7-form-control-wrap{display:block;margin-top:.4rem}
.wpcf7-form input[type=text],.wpcf7-form input[type=tel],.wpcf7-form input[type=email],.wpcf7-form input[type=date],.wpcf7-form select,.wpcf7-form textarea{
  width:100%;min-height:48px;padding:.65rem .85rem;border:1px solid var(--line);border-bottom:2px solid var(--ink);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1rem;font-weight:400;text-transform:none;letter-spacing:0;
  transition:border-color var(--dur-ui) var(--ease-out),background var(--dur-ui) var(--ease-out)}
.wpcf7-form textarea{min-height:130px;resize:vertical}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--primary);border-bottom-color:var(--primary);background:#fff;box-shadow:0 0 0 3px oklch(0.66 0.19 45 / .25)}
.wpcf7-form input[name=kennzeichen]{text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.wpcf7-form .wpcf7-acceptance label{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink-soft)}
.wpcf7-form .wpcf7-acceptance input{width:22px;height:22px;flex:0 0 22px;margin-top:.15rem;accent-color:var(--primary)}
.wpcf7-form input[type=submit]{min-height:52px;padding:.7rem 2rem;border:0;border-radius:var(--radius);background:var(--primary);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--dur-ui) var(--ease-out),transform 120ms var(--ease-out)}
.wpcf7-form input[type=submit]:hover{background:oklch(0.72 0.18 50)}
.wpcf7-form input[type=submit]:active{transform:scale(.98)}
.wpcf7-not-valid-tip{color:oklch(0.5 0.19 27);font-size:.9rem;margin-top:.3rem}
.wpcf7 form .wpcf7-response-output{margin:0;padding:.85rem 1rem;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:var(--radius)}
.wpcf7-spinner{margin:0 0 0 .75rem}

@media (max-width:900px){
  .aside__box{position:static}
  .page-head__media{max-width:28rem}
}
@media (max-width:600px){
  .wpcf7-form{grid-template-columns:1fr}
  .entry li{padding-block:.65rem}
  .band__actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .page-head__title,.page-head__lede,.page-head__media{animation:none}
}
