:root {
  --ink:#263033;
  --ink-soft:#3b4548;
  --gold:#ad8450;
  --sand:#efe8dc;
  --paper:#fffdf8;
  --line:#ded5c7;
  --muted:#667073;
  --content:min(1120px, calc(100% - 32px));
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  margin:0;
  overflow-x:hidden;
  color:var(--ink);
  background:var(--paper);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.55;
}
img { display:block; max-width:100%; }
a { color:inherit; }
.container { width:var(--content); margin-inline:auto; }

.photo {
  filter:brightness(1.03) contrast(1.04) saturate(1.02);
}
.photo-contain {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}

header {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,253,248,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.header-inner {
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.logo img { width:124px; height:auto; }
nav { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
nav a { text-decoration:none; font-weight:700; font-size:.9rem; }
.nav-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  background:var(--ink);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  flex-shrink:0;
}

.hero-image {
  background:var(--sand);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  aspect-ratio:3/2;
  max-height:min(56vw, 560px);
}
.hero-image img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center 42%;
}

/* Startseite: Hero mit Originalfoto */
.hero-start {
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:clamp(480px, 88svh, 640px);
  overflow:hidden;
  color:#fff;
}
.hero-start-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  filter:brightness(1.04) contrast(1.05) saturate(1.03);
}
.hero-start-shade {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(38,48,51,.94) 0%,
    rgba(38,48,51,.82) 28%,
    rgba(38,48,51,.42) 50%,
    rgba(38,48,51,.1) 68%,
    transparent 100%
  );
}
.hero-start-inner {
  position:relative;
  z-index:1;
  width:100%;
  display:flex;
  justify-content:flex-start;
}
.hero-start-copy {
  padding-block:clamp(32px, 6vw, 44px);
  max-width:100%;
}
.hero-start-copy h1 {
  max-width:11em;
}
.hero-start-lead {
  max-width:34em;
  margin:20px 0 0;
  font-size:clamp(1rem, 2vw, 1.15rem);
  line-height:1.65;
  color:#eef1f1;
}

.hero-copy {
  background:var(--ink);
  color:#fff;
}
.hero-copy .container { padding-block:56px; }
.hero-copy-inner { max-width:560px; }

.kicker {
  margin:0 0 10px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
h1,h2,h3 {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  line-height:1.08;
}
h1 {
  max-width:900px;
  font-size:clamp(2.7rem, 7vw, 6rem);
  letter-spacing:-.035em;
}
h2 {
  font-size:clamp(2.1rem, 5vw, 4rem);
  letter-spacing:-.025em;
}
h3 { font-size:clamp(1.35rem, 3vw, 1.9rem); }
.hero-copy p:not(.kicker) {
  max-width:720px;
  margin:20px 0 0;
  font-size:clamp(1rem, 2vw, 1.2rem);
}
.hero-copy .hero-copy-inner p:not(.kicker) { color:#e1e5e5; }

.actions {
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 18px;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  text-align:center;
}
.btn.alt {
  background:transparent;
  border-color:rgba(255,255,255,.7);
}
.section { padding-block:84px; }
.section.soft { background:var(--sand); }
.section.dark { background:var(--ink); color:#fff; }
.section-head { max-width:760px; margin-bottom:36px; }
.section-head p:last-child {
  margin:16px 0 0;
  color:var(--muted);
  font-size:1.03rem;
}
.dark .section-head p:last-child { color:#d8dddd; }

.cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.card {
  min-width:0;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
}
.card p { margin:12px 0 0; color:var(--muted); }
.number {
  display:block;
  margin-bottom:24px;
  color:var(--gold);
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.12em;
}

.leistungen {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap:18px;
  align-items:start;
}
.leistung-card {
  min-width:0;
  display:flex;
  flex-direction:column;
  background:var(--ink-soft);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
}
.leistung-media {
  background:#222a2c;
  border-bottom:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.leistung-media img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.leistung-media--placeholder {
  aspect-ratio:1 / 1;
  background:var(--ink-soft);
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.leistung-placeholder-label {
  color:#9aa0a3;
  text-align:center;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.55;
}
.leistung-body {
  padding:28px;
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:220px;
  font-family:Arial, Helvetica, sans-serif;
}
.leistung-body .number {
  display:block;
  margin:0 0 14px;
  color:var(--gold);
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.55;
}
.leistung-body h3 {
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight:400;
  line-height:1.15;
  color:#fff;
}
.leistung-body p {
  margin:14px 0 0;
  color:#d8dddd;
  flex:1;
  font-family:inherit;
  font-size:1rem;
  font-weight:400;
  line-height:1.65;
}
.leistung-body .link {
  display:inline-block;
  margin-top:auto;
  padding-top:20px;
  font-family:inherit;
  font-size:1rem;
  font-weight:900;
  line-height:1.55;
}
.link {
  color:var(--gold);
  font-weight:900;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}

.events {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:18px;
}
.event-box {
  min-width:0;
  padding:28px;
  border:1px solid var(--line);
  background:var(--paper);
}
.event-box p { color:var(--muted); }

.quiz-wrap {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:28px;
  align-items:start;
}
.quiz-intro p:last-child { color:var(--muted); }
.quiz {
  width:100%;
  min-width:0;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
  box-shadow:0 16px 40px rgba(38,48,51,.08);
}
.quiz fieldset {
  min-width:0;
  margin:0 0 24px;
  padding:0;
  border:0;
}
.quiz legend {
  width:100%;
  margin-bottom:12px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.18rem;
  line-height:1.25;
}
.options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.options label {
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  background:var(--sand);
  line-height:1.35;
  overflow-wrap:anywhere;
}
.options input {
  flex:0 0 auto;
  margin-top:3px;
  accent-color:var(--gold);
}
.quiz-actions { display:flex; flex-wrap:wrap; gap:10px; }
.quiz button { border:0; cursor:pointer; }
.result {
  display:none;
  margin-top:18px;
  padding:16px;
  border-left:4px solid var(--gold);
  background:var(--sand);
}
.result.show { display:block; }

.sachkunde-banner {
  display:block;
  background:var(--sand);
  aspect-ratio:3/2;
  max-height:min(52vw, 500px);
  overflow:hidden;
}
.sachkunde-banner img {
  display:block;
  width:100%;
  height:100%;
  max-width:var(--content);
  margin-inline:auto;
  object-fit:contain;
  object-position:center center;
}

.sachkunde-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px;
  align-items:start;
}
.sachkunde-grid p { color:var(--muted); font-size:1.03rem; }
.sachkunde-points {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
}
.sachkunde-points li {
  padding:16px 18px;
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-size:.98rem;
}
.sachkunde-points li strong {
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:1.12rem;
}

.about {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px;
  align-items:center;
}
.about-media {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:280px;
  background:var(--sand);
  padding:32px;
}
.about-media img { width:min(220px, 70%); height:auto; }
.about p { color:var(--muted); }

.quote-text {
  padding-block:52px;
  background:var(--ink);
  color:#fff;
}
.quote-text blockquote {
  max-width:900px;
  margin:0 auto;
  text-align:center;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2rem, 5vw, 4rem);
  line-height:1.12;
}

.contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:36px;
}
.contact-card {
  min-width:0;
  padding:28px;
  border:1px solid var(--line);
  background:var(--paper);
}
.contact-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.contact-row span {
  text-align:right;
  font-weight:800;
  overflow-wrap:anywhere;
}

.intro-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.intro-text p {
  color:var(--muted);
  font-size:1.05rem;
}
.statement {
  padding:34px;
  background:var(--ink);
  color:#fff;
  border-left:5px solid var(--gold);
}
.statement strong {
  display:block;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.7rem, 4vw, 2.6rem);
  font-weight:400;
  line-height:1.15;
}
.statement p { margin:16px 0 0; color:#d9dede; }
.values {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:38px;
}
.value {
  min-width:0;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
}
.value span {
  display:block;
  margin-bottom:20px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
}
.value p { margin:12px 0 0; color:var(--muted); }
.people {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.person {
  min-width:0;
  padding:30px;
  border:1px solid var(--line);
  background:var(--paper);
}
.person p { color:var(--muted); }
.person-profile {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:36px;
  align-items:start;
  padding:30px;
  border:1px solid var(--line);
  background:var(--paper);
}
.person-profile-media {
  width:100%;
  aspect-ratio:3 / 4;
  overflow:hidden;
  background:var(--ink-soft);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}
.person-profile-media img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.person-profile-media--placeholder {
  background:var(--sand);
  border:1px solid var(--line);
}
.person-profile-placeholder-label {
  color:var(--muted);
  text-align:center;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.55;
}
.person-profile-body h3 {
  margin:0 0 16px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.75rem, 3vw, 2.4rem);
  font-weight:400;
  line-height:1.15;
  color:var(--ink);
}
.person-profile-body > p { color:var(--muted); }
.person-profile-body > p + p { margin-top:16px; }
.person-profile-quals { margin-top:28px; }
.person-profile-quals .kicker { margin-bottom:18px; }
.person-profile-quals .qual-list { border-top:1px solid var(--line); }
.person-profile-quals .qual-item {
  padding:18px 0;
  border-bottom:1px solid var(--line);
}
.person-profile-quals .qual-item strong {
  display:block;
  margin-bottom:4px;
}
.person-profile-quals .qual-item span {
  color:var(--muted);
  font-size:.92rem;
}
.qualifications {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:48px;
  align-items:start;
}
.qual-list {
  display:grid;
  gap:0;
  border-top:1px solid rgba(255,255,255,.18);
}
.qual-item {
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.qual-item strong {
  display:block;
  margin-bottom:4px;
}
.qual-item span {
  color:#cbd1d2;
  font-size:.92rem;
}
.note {
  margin-top:18px;
  color:#cbd1d2;
  font-size:.92rem;
}
.cta {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
}
.cta p { margin:14px 0 0; color:var(--muted); }

/* Preise & Angebote */
.pricing-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.pricing-more {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.price-card {
  min-width:0;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.price-card--highlight {
  grid-column:1 / -1;
  border-color:var(--gold);
  background:linear-gradient(135deg, var(--paper) 0%, var(--sand) 100%);
}
.price-card--soon {
  text-align:center;
  align-items:center;
}
.price-card-icon {
  width:44px;
  height:44px;
  margin-bottom:18px;
  color:var(--gold);
  flex-shrink:0;
}
.price-card-icon svg {
  width:100%;
  height:100%;
}
.price-card h3 {
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
}
.price-amount {
  margin:14px 0 0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2rem, 4vw, 2.6rem);
  color:var(--gold);
  line-height:1.1;
}
.price-feature {
  margin:14px 0 0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2.15rem, 4.4vw, 2.85rem);
  color:var(--ink);
  line-height:1.12;
}
.price-card--course .price-amount {
  margin-top:10px;
  font-size:clamp(1.5rem, 2.8vw, 1.9rem);
  color:var(--gold);
}
.price-card--course .price-text {
  margin-top:10px;
}
.price-unit {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.95rem;
  font-weight:700;
  color:var(--muted);
}
.price-meta {
  margin:8px 0 0;
  font-size:.92rem;
  font-weight:700;
  color:var(--muted);
}
.price-text {
  margin:14px 0 0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.6;
}
.price-soon {
  margin:12px 0 0;
  padding:10px 14px;
  background:var(--sand);
  border:1px solid var(--line);
  color:var(--ink-soft);
  font-size:.9rem;
  font-weight:700;
  line-height:1.45;
}
.pricing-cta {
  background:var(--ink);
  color:#fff;
  text-align:center;
}
.pricing-cta-inner {
  max-width:640px;
  margin-inline:auto;
}
.pricing-cta .kicker { color:var(--gold); }
.pricing-cta-text {
  margin:16px 0 28px;
  color:#d8dddd;
  font-size:1.05rem;
}
.btn--dark {
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
  min-width:min(100%, 360px);
}

.legal-page { padding-block:clamp(56px, 8vw, 84px); }
.legal-head {
  max-width:760px;
  margin-bottom:40px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
.legal-head h1 {
  font-size:clamp(2.1rem, 5vw, 3.4rem);
  max-width:none;
}
.legal-subtitle {
  margin:14px 0 0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.25rem, 2.5vw, 1.65rem);
  color:var(--ink-soft);
}
.legal-stand {
  margin:10px 0 0;
  color:var(--gold);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.legal-content {
  max-width:820px;
  display:grid;
  gap:28px;
}
.legal-block h2 {
  font-size:clamp(1.25rem, 2.5vw, 1.55rem);
  margin-bottom:12px;
  color:var(--ink);
}
.legal-block p {
  margin:0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.75;
}
.legal-block p + p { margin-top:14px; }
.legal-block ul {
  margin:14px 0 0;
  padding-left:1.25em;
  color:var(--muted);
  font-size:1rem;
  line-height:1.75;
}
.legal-block li + li { margin-top:8px; }
.legal-block--philosophy {
  margin-top:12px;
  padding:28px;
  background:var(--sand);
  border:1px solid var(--line);
  border-left:4px solid var(--gold);
}
.legal-block--philosophy h2 { color:var(--ink); }

.promise {
  position:relative;
  padding-block:clamp(64px, 10vw, 88px);
  background:var(--ink);
  color:#fff;
  overflow:hidden;
}
.promise::before {
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(to right, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
}
.promise::after {
  content:"";
  position:absolute;
  inset:auto -10% -40% -10%;
  height:70%;
  background:radial-gradient(ellipse at center, rgba(173,132,80,.12) 0%, transparent 70%);
  pointer-events:none;
}
.promise-inner {
  position:relative;
  z-index:1;
  max-width:780px;
  margin-inline:auto;
  text-align:center;
}
.promise .kicker { color:var(--gold); }
.promise h2 {
  margin-top:4px;
  font-size:clamp(2.2rem, 5vw, 3.6rem);
}
.promise-lead {
  margin:22px 0 0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.45rem, 3.2vw, 2.15rem);
  line-height:1.35;
  color:var(--sand);
}
.promise-body {
  margin-top:28px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);
}
.promise-body p {
  margin:0;
  color:#d4dada;
  font-size:clamp(1rem, 2vw, 1.08rem);
  line-height:1.75;
}
.promise-body p + p { margin-top:18px; }

footer {
  padding-block:28px;
  background:#1d2527;
  color:#d6dddd;
}
.footer-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-inner > a { flex-shrink:0; }
.footer-meta {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
}
.footer-nav a {
  color:#eef1f1;
  text-decoration:none;
  font-weight:700;
  font-size:.88rem;
}
.footer-nav a:hover { color:var(--gold); }
.footer-inner img {
  width:112px;
  background:var(--paper);
  padding:4px;
}

@media (max-width:820px) {
  :root { --content:calc(100% - 24px); }
  nav { display:none; }
  .header-inner { min-height:68px; }
  .logo img { width:108px; }
  .hero-copy .container { padding-block:36px 42px; }
  h1 {
    font-size:clamp(2.2rem, 10vw, 3.4rem);
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  h2 {
    font-size:clamp(1.95rem, 8.5vw, 2.8rem);
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .actions { display:grid; grid-template-columns:1fr; }
  .btn { width:100%; min-width:0; white-space:normal; }
  .section { padding-block:62px; }
  .cards, .leistungen, .events, .quiz-wrap, .about, .sachkunde-grid, .contact-grid,
  .intro-grid, .values, .people, .qualifications, .cta,
  .pricing-grid, .pricing-more { grid-template-columns:1fr; }
  .price-card--highlight { grid-column:auto; }
  .options { grid-template-columns:1fr; }
  .quiz { padding:20px; }
  .quiz legend { font-size:1.08rem; }
  .contact-row { grid-template-columns:1fr; }
  .contact-row span { text-align:left; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .hero-image { max-height:none; aspect-ratio:auto; min-height:220px; }
  .hero-image img { max-height:340px; object-position:center 40%; }
  .hero-start {
    min-height:clamp(500px, 90svh, 680px);
    align-items:flex-end;
  }
  .hero-start-photo { object-position:center 36%; }
  .hero-start-shade {
    background:linear-gradient(
      to top,
      rgba(38,48,51,.95) 0%,
      rgba(38,48,51,.84) 24%,
      rgba(38,48,51,.48) 46%,
      rgba(38,48,51,.12) 62%,
      transparent 100%
    );
  }
  .hero-start-copy { padding-block:28px 36px; }
  .hero-start-copy h1 {
    max-width:none;
    font-size:clamp(2.2rem, 10vw, 3.4rem);
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .hero-start-lead { max-width:none; font-size:1rem; }
  .promise { padding-block:56px; }
  .promise-body { margin-top:22px; padding-top:22px; }
  .legal-head { margin-bottom:32px; padding-bottom:22px; }
  .legal-content { gap:22px; }
  .legal-block--philosophy { padding:22px; }
  .sachkunde-banner { max-height:none; aspect-ratio:auto; min-height:200px; padding:16px; }
  .sachkunde-banner img { max-height:320px; object-position:center center; }
  .leistung-body { padding:22px; min-height:200px; }
  .intro-grid, .qualifications { gap:30px; }
  .statement, .value, .person, .person-profile { padding:22px; }
  .person-profile {
    grid-template-columns:1fr;
    gap:24px;
  }
  .person-profile-media { max-width:280px; margin-inline:auto; }
}

@media (min-width:821px) {
  .hero-start {
    align-items:center;
    min-height:clamp(540px, 58vh, 660px);
  }
  .hero-start-photo {
    object-position:66% center;
  }
  .hero-start-shade {
    background:linear-gradient(
      to right,
      rgba(38,48,51,.92) 0%,
      rgba(38,48,51,.8) 20%,
      rgba(38,48,51,.52) 36%,
      rgba(38,48,51,.18) 50%,
      rgba(38,48,51,.04) 62%,
      transparent 72%
    );
  }
  .hero-start-copy {
    max-width:min(520px, 42%);
    padding-block:56px;
  }
  .hero-start-copy h1 {
    font-size:clamp(2.6rem, 4.2vw, 4.6rem);
    max-width:10em;
  }
  .hero-start-lead {
    max-width:28em;
  }
  .leistungen {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
    align-items:stretch;
  }
  .leistung-card {
    height:100%;
  }
}
@media (max-width:390px) {
  :root { --content:calc(100% - 20px); }
  .nav-cta { font-size:.78rem; padding-inline:10px; }
  .card, .event-box, .contact-card { padding:22px; }
  .quiz { padding:16px; }
  .options label { padding:10px; }
}
