.elementor-2 .elementor-element.elementor-element-e0d5177{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-2c21166{background-color:#DDD5C9;}/* Start custom CSS for html, class: .elementor-element-2c21166 *//* ---------- 1. Design-Tokens (hier anpassen) ---------- */
.ak {
  --ak-backdrop: #ddd5c9;
  --ak-backdrop-light: #ebe5dc;
  --ak-paper: #f8f3ea;
  --ak-paper-light: #fcfaf5;
  --ak-paper-edge: #efe6d7;
  --ak-ink: #2b221f;
  --ak-ink-soft: #594d46;
  --ak-wine: #7c2242;
  --ak-wine-light: #9a3458;
  --ak-wine-deep: #5c1830;
  --ak-gold: #b58c4c;
  --ak-gold-deep: #8a6630;
  --ak-foil: linear-gradient(112deg, #8a6630 0%, #c29a57 22%, #ecd39c 38%, #b88d4b 55%, #93702f 72%, #d2ae6d 88%, #9c7838 100%);

  --ak-serif: "AK EB Garamond", "EB Garamond", Garamond, "Times New Roman", serif;

  --ak-radius: 22px;
  --ak-pad: clamp(22px, 4.2vw, 56px);
  --ak-overlap: -18px;  /* wie weit der Name ins Foto ragt */
  --ak-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---------- 2. Grundlage ---------- */
.ak, .ak *, .ak *::before, .ak *::after { box-sizing: border-box; }
.ak {
  font-family: var(--ak-serif);
  font-size: 18px;
  line-height: 1.55;
  color: var(--ak-ink);
  font-kerning: normal;
  font-variant-numeric: oldstyle-nums proportional-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.ak :where(h1, h2, h3, p, ul, li, blockquote, hr) { margin: 0; padding: 0; }
/* Theme- und Elementor-Stile (z. B. „.elementor-kit-7 p“) nicht durchschlagen lassen */
.ak.ak :where(h1, h2, h3, p, ul, li, blockquote, a, span, button) {
  font-family: var(--ak-serif);
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}
.ak .ak-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- 3. Bühne und Karte ---------- */
.ak .ak-stage {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: clamp(10px, 3.2vw, 48px);
  background: radial-gradient(120% 90% at 50% 0%, var(--ak-backdrop-light) 0%, var(--ak-backdrop) 62%, #d3cabd 100%);
}
.ak .ak-card {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 1120px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: var(--ak-radius);
  background:
    var(--ak-grain) padding-box,
    radial-gradient(140% 100% at 30% 0%, var(--ak-paper-light) 0%, var(--ak-paper) 52%, var(--ak-paper-edge) 100%) padding-box,
    var(--ak-foil) border-box;
  box-shadow:
    0 1px 2px rgba(70, 50, 30, .10),
    0 18px 40px -14px rgba(70, 50, 30, .28),
    0 56px 90px -44px rgba(70, 50, 30, .38);
}

/* ---------- 4. Vorderseite: Porträt und Name ---------- */
.ak .ak-front {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: clamp(28px, 3.4vw, 44px);
  container-type: inline-size;
}
.ak .ak-portrait {
  flex: 1 0 auto;               /* wächst mit, wenn die rechte Spalte höher ist */
  width: 100%;
  aspect-ratio: 1004 / 850;
  background: var(--ak-portrait) 38% 75% / cover no-repeat;
  mix-blend-mode: multiply;
  /* unten und rechts weich in das Papier auslaufen lassen */
  -webkit-mask-image: linear-gradient(to bottom, #000 56%, rgba(0, 0, 0, .55) 78%, transparent 97%), linear-gradient(to left, transparent, #000 14%);
          mask-image: linear-gradient(to bottom, #000 56%, rgba(0, 0, 0, .55) 78%, transparent 97%), linear-gradient(to left, transparent, #000 14%);
  -webkit-mask-composite: source-in;
          mask-composite: intersect;
}
.ak .ak-motto {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55em;
  color: var(--ak-wine);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
  margin: var(--ak-overlap) 0 14px;
}
.ak .ak-motto__line + .ak-motto__line::before { content: " "; }
.ak .ak-heart {
  display: inline-block;
  width: 1.15em;
  aspect-ratio: var(--ak-ratio-heart);
  background: var(--ak-foil);
  -webkit-mask: var(--ak-svg-heart) center / contain no-repeat;
          mask: var(--ak-svg-heart) center / contain no-repeat;
}
.ak .ak-identity {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0 var(--ak-pad);
  text-align: center;
}
.ak .ak-name { font-weight: 400; line-height: 1; }
.ak .ak-name__civil {
  display: block;
  font-family: var(--ak-serif);
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 500;
  letter-spacing: .005em;
  line-height: 1.05;
  color: var(--ak-ink);
}
.ak .ak-name__stage {
  display: block;
  width: min(100%, 460px);
  margin: -2px auto 0;
  aspect-ratio: var(--ak-ratio-alessandra);
  background: linear-gradient(100deg, var(--ak-wine-deep), var(--ak-wine) 40%, var(--ak-wine-light) 70%, var(--ak-wine));
  -webkit-mask: var(--ak-svg-alessandra) center / contain no-repeat;
          mask: var(--ak-svg-alessandra) center / contain no-repeat;
}
.ak .ak-rule {
  display: block;
  width: min(100%, 480px);
  height: 1px;
  margin: 16px auto 14px;
  border: 0;
  background: linear-gradient(90deg, transparent, var(--ak-gold) 16%, var(--ak-gold) 84%, transparent);
  opacity: .85;
}
.ak .ak-disciplines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  list-style: none;
  color: var(--ak-ink);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.ak .ak-disciplines__item { list-style: none; }
.ak .ak-ornament {
  display: block;
  width: 116px;
  height: 27px;
  margin: 12px auto 8px;
  color: var(--ak-gold);
}
.ak .ak-claim {
  color: var(--ak-ink-soft);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* ---------- 5. Rückseite: Vorhang, Kontakt, Zitat ---------- */
.ak .ak-back {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(40px, 4vw, 52px) var(--ak-pad) clamp(28px, 3.4vw, 44px);
  overflow: hidden;
  container-type: inline-size;
}
.ak .ak-back::before {
  content: "";
  position: absolute;
  top: 0; left: 12%; right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ak-gold), transparent);
  opacity: .7;
}
.ak .ak-back > :not(.ak-watermark) { position: relative; z-index: 1; }
.ak .ak-signature {
  width: min(72%, 330px);
  aspect-ratio: var(--ak-ratio-traeume);
  background: var(--ak-foil);
  background-size: 220% 100%;
  -webkit-mask: var(--ak-svg-traeume) center / contain no-repeat;
          mask: var(--ak-svg-traeume) center / contain no-repeat;
}
.ak .ak-back .ak-rule { margin: 20px auto 20px; }
.ak .ak-soon {
  font-family: var(--ak-serif);
  font-size: clamp(29px, 3.1vw, 40px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0;
  color: var(--ak-wine);
  text-wrap: balance;
}
.ak .ak-lead {
  max-width: 38ch;
  margin: 12px auto 0;
  color: var(--ak-ink-soft);
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.6;
  text-wrap: pretty;
}
.ak .ak-lead__first { display: block; }
.ak .ak-contact {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin: 22px auto 0;
  list-style: none;
  text-align: left;
}
.ak .ak-contact__item { list-style: none; }
.ak .ak-contact__link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 48px;
  border-radius: 999px;
  color: var(--ak-ink);
  font-family: var(--ak-serif);
  font-size: clamp(17px, 1.8vw, 22px);
  letter-spacing: .01em;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.ak .ak-contact__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(circle at 34% 28%, var(--ak-wine-light), var(--ak-wine) 56%, var(--ak-wine-deep));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 3px 8px -2px rgba(92, 24, 48, .35);
  transition: transform .3s var(--ak-ease), box-shadow .3s var(--ak-ease);
}
.ak .ak-contact__icon svg { width: 22px; height: 22px; }
.ak .ak-contact__text {
  padding-bottom: 2px;
  background: linear-gradient(var(--ak-gold), var(--ak-gold)) 0 100% / 0 1px no-repeat;
  transition: background-size .4s var(--ak-ease), color .3s;
}
.ak .ak-contact__link:hover .ak-contact__text,
.ak .ak-contact__link:focus-visible .ak-contact__text { background-size: 100% 1px; color: var(--ak-wine); }
.ak .ak-contact__link:hover .ak-contact__icon,
.ak .ak-contact__link:focus-visible .ak-contact__icon {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 16px -6px rgba(92, 24, 48, .45);
}
.ak .ak-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(100%, 420px);
  margin: 22px auto 16px;
  color: var(--ak-gold);
}
.ak .ak-divider::before,
.ak .ak-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: currentColor;
  opacity: .8;
}
.ak .ak-divider svg { flex: none; width: 58px; height: 16px; }
.ak .ak-quote {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--ak-wine);
  font-family: var(--ak-serif);
  font-size: clamp(19px, 1.9vw, 23px);
  font-style: normal;
  line-height: 1.5;
  text-wrap: balance;
}
.ak .ak-quote em { font-style: italic; }
.ak .ak-swirl { display: block; width: 84px; height: 20px; margin: 10px auto 0; color: var(--ak-gold); }
.ak .ak-places {
  margin-top: 14px;
  color: var(--ak-ink-soft);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-wrap: balance;
}
.ak .ak-places__tail { display: block; }
.ak .ak-places__sep { display: none; }
@container (min-width: 640px) {
  .ak .ak-places__tail { display: inline; }
  .ak .ak-places__sep { display: inline; }
}
.ak .ak-watermark {
  position: absolute;
  right: -18px;
  bottom: -6px;
  z-index: 0;
  width: clamp(130px, 34%, 230px);
  color: var(--ak-gold);
  opacity: .2;
  pointer-events: none;
}
.ak .ak-watermark svg { display: block; width: 100%; height: auto; }

/* ---------- 6. Rechtliches ---------- */
.ak .ak-legal {
  width: 100%;
  max-width: 1180px;
  color: var(--ak-ink-soft);
  font-size: 14px;
  text-align: center;
}
.ak .ak-legal__bar {
  display: flex;
  flex-wrap: wrap;
  
  align-items: start;
  justify-content: center;
  gap: 2px 6px;
  letter-spacing: .04em;
}
.ak .ak-legal__copy { flex-basis: 100%; }
.ak .ak-legal__sep--first { display: none; }
@media (min-width: 540px) {
  .ak .ak-legal__copy { flex-basis: auto; }
  .ak .ak-legal__sep--first:not([hidden]) { display: inline; }
}
.ak .ak-legal__toggle {
  min-height: 44px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: var(--ak-ink-soft);
  font: inherit;
  letter-spacing: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(89, 77, 70, .4);
  text-underline-offset: 4px;
  cursor: pointer;
}
.ak .ak-legal .ak-legal__toggle:hover,
.ak .ak-legal .ak-legal__toggle:focus,
.ak .ak-legal .ak-legal__toggle:active,
.ak .ak-legal .ak-legal__close:focus,
.ak .ak-legal .ak-legal__close:active { background: none; box-shadow: none; }
.ak .ak-legal .ak-legal__toggle:hover,
.ak .ak-legal .ak-legal__toggle[aria-expanded="true"] { color: var(--ak-wine); text-decoration-color: currentColor; }
.ak .ak-legal__panel {
  position: relative;
  max-width: 760px;
  margin: 12px auto 0;
  padding: 26px clamp(18px, 4vw, 34px) 28px;
  border: 1px solid rgba(138, 102, 48, .35);
  border-radius: 16px;
  background: rgba(252, 250, 245, .9);
  color: var(--ak-ink);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
}
.ak .ak-legal__panel:focus { outline: none; }
.ak .ak-legal__panel[hidden] { display: none; }
.ak .ak-legal__title {
  margin-bottom: 12px;
  color: var(--ak-wine);
  font-family: var(--ak-serif);
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}
.ak .ak-legal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--ak-ink-soft);
  font: inherit;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.ak .ak-legal .ak-legal__close:hover { color: var(--ak-wine); background: rgba(124, 34, 66, .06); }
.ak .ak-legal__body p + p { margin-top: .8em; }
.ak .ak-legal__body a { color: var(--ak-wine); }
/* Markierung für noch fehlende Texte: fällt sofort auf, falls etwas vergessen wird */
.ak .ak-placeholder {
  padding: 14px 16px;
  border: 1.5px dashed var(--ak-wine);
  border-radius: 10px;
  background: rgba(124, 34, 66, .05);
  color: var(--ak-wine);
}

/* ---------- 7. Fokus (Tastatur) ---------- */
.ak a:focus-visible,
.ak button:focus-visible {
  outline: 2px solid var(--ak-wine);
  outline-offset: 4px;
}

/* ---------- 8. Größere Bildschirme ---------- */
@container (min-width: 500px) {
  .ak .ak-disciplines { flex-direction: row; justify-content: center; gap: 0; white-space: nowrap; font-size: clamp(13px, 2.6cqi, 15.5px); letter-spacing: .14em; }
  .ak .ak-disciplines__item + .ak-disciplines__item::before { content: "·"; margin: 0 .6em; color: var(--ak-gold-deep); }
}
@media (min-width: 540px) {
  .ak .ak-claim { font-size: clamp(11.5px, 1vw, 13px); letter-spacing: .28em; }
  .ak .ak-places { letter-spacing: .24em; }
}
@media (min-width: 900px) {
  .ak .ak-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ak .ak-back::before {
    top: 9%; bottom: 9%; left: 0; right: auto;
    width: 1px; height: auto;
    background: linear-gradient(180deg, transparent, var(--ak-gold) 18%, var(--ak-gold) 82%, transparent);
  }
  /* Motto wie auf der Karte rechts neben dem Gesicht */
  .ak .ak-motto {
    position: absolute;
    z-index: 1;
    top: 30%;
    right: 5.5%;
    flex-direction: column;
    gap: 0;
    margin: 0;
    font-size: clamp(14px, 1.4vw, 18px);
    letter-spacing: .1em;
    text-align: center;
  }
  .ak .ak-motto__line { display: block; }
  .ak .ak-identity { margin-top: var(--ak-overlap); }
  .ak .ak-motto__line + .ak-motto__line::before { content: none; }
  .ak .ak-motto .ak-heart { width: 36px; margin-top: 26px; }
}

/* ---------- 9. Auftritt (dezent, nur ohne Bewegungsreduktion) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .ak [data-ak-reveal] {
    animation: ak-rise 1s var(--ak-ease) both;
    animation-delay: calc(var(--ak-i, 0) * 120ms + 200ms);
  }
  .ak .ak-portrait { animation: ak-portrait 1.6s var(--ak-ease) both; }
  .ak [data-ak-write] {
    animation: ak-write 2s cubic-bezier(.45, .05, .35, 1) both;
    animation-delay: calc(var(--ak-i, 0) * 120ms + 300ms);
  }
  .ak .ak-signature { animation: ak-write 2.4s cubic-bezier(.45, .05, .35, 1) .5s both, ak-shimmer 9s ease-in-out 3s infinite alternate; }
  .ak .ak-star { transform-box: fill-box; transform-origin: center; animation: ak-twinkle 3.8s ease-in-out infinite; }
  .ak .ak-star:nth-child(2) { animation-delay: 1.1s; }
  .ak .ak-star:nth-child(3) { animation-delay: 2.2s; }
  .ak .ak-star:nth-child(4) { animation-delay: 3s; }
}
@keyframes ak-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ak-portrait { from { opacity: 0; transform: scale(1.025); } to { opacity: 1; transform: none; } }
@keyframes ak-write { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes ak-shimmer { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
@keyframes ak-twinkle { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }/* End custom CSS */