/*
Theme Name: Automaklisch
Theme URI: https://automaklisch.de/
Author: Automaklisch UG (haftungsbeschränkt)
Description: Individuelles WordPress-Theme für automaklisch.de – Lead-Automatisierung für Immobilienmakler in Hamburg. Enthält Startseite, Terminbuchung (Cal.com mit Consent-Gate) und die Rechtsseiten.
Version: 1.26.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietär
Text Domain: automaklisch
*/

body { margin:0; font-family:'Inter Tight',sans-serif; background:#F4F4F4; color:#48423C; -webkit-font-smoothing:antialiased; }
body.am-home { background:#F9F8F6; }
body.am-page-terminbuchung { background:#1C1A17; }
img { max-width:100%; }
a { color:#B08542; text-decoration:underline; }
body.am-home a, body.am-page-terminbuchung a { color:#D4AF7D; text-decoration:none; }
:focus-visible { outline:2px solid #D4AF7D; outline-offset:2px; border-radius:3px; }

/* Hover nur bei Geraeten mit Maus; auf Touch-Geraeten bliebe der Zustand nach dem Antippen haengen. */
@media (hover: hover) and (pointer: fine) {
  a:hover { color:#8a6630; }
  body.am-home a:hover, body.am-page-terminbuchung a:hover { color:#FFC266; }
  [data-r=footer] a:hover, [data-r=footbot] a:hover { color:#FFC266 !important; }
  .am-li:hover { color:#D4AF7D !important; border-color:#5c554c !important; }
}

[data-r=skip] { position:absolute; left:-9999px; top:8px; z-index:99; }
[data-r=skip]:focus { left:8px; }
[data-r=mobilenav] { display:none; }
[data-r=burger] { display:none; }
[data-r=stickycta] { display:none; }
[data-r=stickycta] > a { flex:1 1 auto; max-width:560px; margin:0 auto; }
.am-todo { background:#FFC266; color:#1C1A17; padding:0 4px; border-radius:3px; }
[data-r=cal][data-on="false"] { display:none; }
[data-r=gate][data-on="true"] { display:none; }

@media (max-width:1000px) {
  [data-r=pad] { padding-left:24px !important; padding-right:24px !important; }
  [data-r=grid4] { grid-template-columns:repeat(2,1fr) !important; }
  [data-r=grid2] { grid-template-columns:1fr !important; }
  [data-r=grid3] { grid-template-columns:repeat(2,1fr) !important; }
  [data-r=footer] { grid-template-columns:1fr 1fr !important; gap:32px !important; }
  [data-r=navdesk], [data-r=headcta] { display:none !important; }
  /* Startseite: Termin-Button bleibt im Header sichtbar, zusaetzlich fixierte Leiste unten. */
  body.am-home [data-r=headcta] { display:flex !important; }
  body.am-home [data-r=stickycta] { display:flex !important; }
  body.am-home { padding-bottom:72px; }
  body.am-home [data-r=burger] { display:flex !important; }
  [data-r=mobilenav][data-open="true"] { display:flex !important; }
  h1 { font-size:32px !important; }
  h2 { font-size:25px !important; }
  [data-r=herosec] { min-height:0 !important; }
  /* Beispielkarte im Hero: mobil unter die Schaltflaechen. */
  [data-r=herorow] { flex-direction:column !important; align-items:stretch !important; gap:28px !important; }
  [data-r=herocard] { width:100% !important; max-width:420px; }
  /* Text liegt mobil ueber dem ganzen Bild: gleichmaessig abdunkeln, damit der Kontrast reicht. */
  [data-r=heroshade] { background:rgba(28,26,23,0.86) !important; }
  [data-r=heropad] { padding:48px 24px 56px 24px !important; }
}
@media (max-width:820px) {
  [data-r=pad] { padding-left:20px !important; padding-right:20px !important; }
  [data-r=main] { padding-top:44px !important; padding-bottom:52px !important; }
  body.am-page-terminbuchung h1 { font-size:26px !important; }
  body:not(.am-home) h1 { font-size:28px !important; }
}
@media (max-width:620px) {
  [data-r=grid4], [data-r=grid3], [data-r=footer] { grid-template-columns:1fr !important; }
  [data-r=pad] { padding-left:18px !important; padding-right:18px !important; }
  [data-r=heropad] { padding:36px 18px 44px 18px !important; }
  [data-r=footbot] { flex-direction:column !important; gap:12px !important; text-align:center; }
  [data-r=herobtns] { flex-direction:column !important; }
  [data-r=person] { flex-direction:column !important; }
  [data-r=herobtns] > a { justify-content:center; }
  [data-r=headcta] { font-size:13px !important; padding:11px 14px !important; }
  body.am-home #hero > header { flex-wrap:wrap !important; }
  body.am-home [data-r=headcta] { order:3; flex:1 1 100%; justify-content:center; box-sizing:border-box; }
}

/* --- Weiches Scrollen (Anker) --- */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior:smooth; }
}
[id] { scroll-margin-top:24px; }
:target { scroll-margin-top:24px; }

/* --- Cookie-/Consent-Banner --- */
.am-cc { position:fixed; left:0; right:0; bottom:0; z-index:9999; padding:16px; box-sizing:border-box; display:flex; justify-content:center; }
.am-cc[hidden] { display:none; }
.am-cc__box { background:#1C1A17; color:#d8d1c5; border:1px solid #3d372f; border-radius:14px; box-shadow:0 12px 40px rgba(28,26,23,0.35); padding:22px 24px; max-width:820px; width:100%; box-sizing:border-box; font-family:'Inter Tight',sans-serif; font-size:13.5px; line-height:1.6; }
.am-cc__title { font-family:'Manrope',sans-serif; font-weight:800; color:#fff; font-size:17px; margin:0 0 10px 0; }
.am-cc__text { margin:0 0 16px 0; color:#b8b0a4; }
.am-cc__details[hidden] { display:none; }
.am-cc__details { border-top:1px solid #3d372f; border-bottom:1px solid #3d372f; padding:14px 0; margin:0 0 16px 0; display:flex; flex-direction:column; gap:12px; }
.am-cc__row { display:flex; align-items:flex-start; gap:10px; color:#b8b0a4; }
.am-cc__row input { margin-top:3px; accent-color:#D4AF7D; width:16px; height:16px; flex-shrink:0; }
.am-cc__row strong { color:#fff; font-weight:700; }
.am-cc__btns { display:flex; flex-wrap:wrap; gap:10px; }
.am-cc__btn { font-family:'Inter Tight',sans-serif; font-weight:700; font-size:14px; padding:12px 20px; border-radius:9px; border:1px solid transparent; cursor:pointer; min-width:170px; flex:0 1 auto; }
.am-cc__btn[hidden] { display:none; }
.am-cc__btn--accept { background:#FFC266; color:#1C1A17; }
.am-cc__btn--reject { background:#48423C; color:#F9F8F6; }
.am-cc__btn--save { background:#FFC266; color:#1C1A17; }
.am-cc__btn--ghost { background:transparent; color:#d8d1c5; border-color:#5c554c; min-width:0; }
.am-cc__btn:hover { filter:brightness(1.08); }
.am-cc__links { margin:14px 0 0 0; color:#8a8177; font-size:12.5px; }
.am-cc__links a { color:#D4AF7D; text-decoration:none; }
.am-cc__links a:hover { color:#FFC266; }
@media (max-width:620px) {
  .am-cc { padding:10px; }
  .am-cc__box { padding:18px 16px; }
  .am-cc__btn { min-width:0; width:100%; }
}


/* --- Footer: schlank, alle Spalten beginnen auf gleicher Hoehe --- */
.am-foot { background:#1C1A17; color:#fff; margin-top:auto; border-top:1px solid #3d372f; }
.am-foot__grid { max-width:1600px; margin:0 auto; padding:34px clamp(18px,4vw,64px) 26px; display:grid; grid-template-columns:1.4fr 1fr 1.1fr 1.1fr; gap:32px; align-items:start; box-sizing:border-box; }
.am-foot__head { margin:0 0 14px 0; font-weight:700; font-size:13px; line-height:1.3; letter-spacing:0.05em; text-transform:uppercase; color:#D4AF7D; }
.am-foot__links { display:flex; flex-direction:column; gap:10px; }
.am-foot a { color:#b8b0a4; font-size:13.5px; }
.am-foot__text { margin:0 0 6px 0; color:#b8b0a4; font-size:13.5px; line-height:1.6; max-width:260px; }
.am-foot__small { margin:0 0 14px 0; color:#8a8177; font-size:12px; line-height:1.5; max-width:260px; }
.am-foot__li { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:8px; border:1px solid #3d372f; color:#b8b0a4; }
.am-foot__row { display:flex; align-items:flex-start; gap:8px; color:#b8b0a4; font-size:13.5px; line-height:1.5; }
.am-foot__row svg { flex-shrink:0; margin-top:3px; }
.am-foot__bottom { max-width:1600px; margin:0 auto; padding:14px clamp(18px,4vw,64px); border-top:1px solid #3d372f; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; box-sizing:border-box; color:#a9a196; font-size:12.5px; }
.am-foot__brand { display:flex; align-items:center; gap:12px; }
.am-foot__brand img { height:26px; width:auto; object-fit:contain; }
.am-foot__legal { display:flex; gap:20px; flex-wrap:wrap; }
.am-foot__legal a { color:#a9a196; font-size:12.5px; }
@media (max-width:620px) {
  .am-foot__bottom { flex-direction:column; align-items:flex-start; gap:12px; text-align:left; }
  .am-foot__brand { align-items:flex-start; }
  .am-foot__legal { gap:8px 16px; }
}


/* --- Terminbuchung: Seite um den Cal.com-Kalender herum --- */
.am-book { background:#1C1A17; color:#d8d1c5; min-height:100vh; display:flex; flex-direction:column; }
.am-book__top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px clamp(20px,4vw,64px); border-bottom:1px solid #3d372f; }
.am-book__logo { line-height:0; flex-shrink:0; }
.am-book__logo img { height:40px; width:auto; object-fit:contain; }
.am-book__back { color:#F9F8F6; font-size:13.5px; font-weight:500; white-space:nowrap; }
.am-book__hero { position:relative; overflow:hidden; border-bottom:1px solid #3d372f; }
.am-book__heroimg { position:absolute; inset:0; }
.am-book__heroimg img { width:100%; height:100%; object-fit:cover; object-position:center 62%; }
.am-book__heroimg::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(28,26,23,0.72) 0%, rgba(28,26,23,0.8) 55%, rgba(28,26,23,0.95) 100%); }
.am-book__herotext { position:relative; max-width:900px; margin:0 auto; padding:clamp(44px,6vw,78px) clamp(20px,4vw,64px); text-align:center; box-sizing:border-box; }
.am-book__kicker { color:#D4AF7D; font-size:13px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin:0 0 14px 0; }
.am-book__h1 { font-family:'Manrope',sans-serif; font-weight:800; color:#fff; font-size:clamp(27px,3.6vw,40px); line-height:1.16; margin:0 0 16px 0; text-wrap:pretty; }
.am-book__lead { color:#d8d1c5; font-size:16px; line-height:1.7; margin:0 auto; max-width:620px; text-wrap:pretty; }
.am-book__facts { list-style:none; margin:26px 0 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 12px; }
.am-book__facts li { display:inline-flex; align-items:center; gap:8px; border:1px solid #3d372f; background:rgba(43,38,32,0.8); border-radius:999px; padding:8px 14px; font-size:13px; color:#e2dbcf; }
.am-book__facts svg { color:#FFC266; flex-shrink:0; }
.am-book__preis { position:relative; color:#a39a8e; font-size:12.5px; line-height:1.6; margin:16px auto 0; max-width:620px; text-align:center; }
.am-book__main { max-width:1240px; margin:0 auto; width:100%; box-sizing:border-box; padding:clamp(34px,5vw,58px) clamp(20px,4vw,64px) 64px; flex:1; }
.am-book__grid { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(24px,3vw,40px); align-items:start; }
.am-book__cal { background:#2b2620; border:1px solid #3d372f; border-radius:16px; padding:clamp(16px,3vw,24px); box-sizing:border-box; }
#my-cal-inline-15min { width:100%; min-height:640px; overflow:auto; border-radius:12px; }
.am-book__gate { text-align:center; padding:40px 12px; }
.am-book__gate > svg { margin-bottom:16px; }
.am-book__gatetitle { color:#fff; font-weight:700; font-size:17px; margin:0 0 10px 0; }
.am-book__gatetext { color:#b8b0a4; font-size:13.5px; line-height:1.65; max-width:520px; margin:0 auto 22px; }
.am-book__gatetext strong { color:#d8d1c5; font-weight:600; }
.am-book__btn { background:#FFC266; color:#1C1A17; font-family:inherit; font-weight:700; font-size:15px; padding:15px 28px; border-radius:9px; border:none; cursor:pointer; }
.am-book__gatealt { color:#a39a8e; font-size:12.5px; line-height:1.6; margin:18px 0 0 0; }
.am-book__gatetext a, .am-book__gatealt a, .am-book__note a { color:#FFC266; }
.am-book__side { background:#231f1a; border:1px solid #3d372f; border-radius:16px; padding:clamp(20px,2.6vw,28px); box-sizing:border-box; }
.am-book__h2 { font-family:'Manrope',sans-serif; color:#fff; font-size:17px; font-weight:700; margin:28px 0 14px 0; }
.am-book__side > .am-book__h2:first-child { margin-top:0; }
.am-book__steps { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.am-book__steps li { position:relative; padding-left:40px; font-size:13.5px; line-height:1.65; color:#b8b0a4; }
.am-book__steps li > span { position:absolute; left:0; top:1px; width:26px; height:26px; border-radius:8px; background:#3d372f; color:#FFC266; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.am-book__steps strong { display:block; color:#F9F8F6; font-weight:600; margin-bottom:3px; }
.am-book__hint { color:#b8b0a4; font-size:13.5px; line-height:1.65; margin:0 0 10px 0; }
.am-book__asks { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.am-book__asks li { background:#2b2620; border:1px solid #3d372f; border-radius:10px; padding:12px 14px; color:#d8d1c5; font-size:13.5px; line-height:1.5; }
.am-book__note { margin:24px 0 0 0; padding-top:18px; border-top:1px solid #3d372f; color:#a39a8e; font-size:12.5px; line-height:1.6; }
.am-book__foot { background:#1C1A17; color:#a9a196; padding:20px clamp(20px,4vw,64px); border-top:1px solid #3d372f; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:12.5px; }
.am-book__footlinks { display:flex; gap:22px; flex-wrap:wrap; }
.am-book__footlinks a { color:#a9a196; }
@media (max-width:1000px) {
  .am-book__grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .am-book__top { padding:14px 20px; }
  .am-book__logo img { height:34px; }
  .am-book__foot { flex-direction:column; }
  .am-book__footlinks { gap:8px 16px; }
}


/* --- Loesungen: vier Bereiche, je Loesung "Warum das zaehlt" --- */
.am-los a { text-decoration:none; }
.am-los { background:#F4F4F4; min-height:100vh; display:flex; flex-direction:column; color:#48423C; }
.am-los__top { background:#1C1A17; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px clamp(20px,4vw,64px); }
.am-los__logo { line-height:0; flex-shrink:0; }
.am-los__logo img { height:40px; width:auto; object-fit:contain; }
.am-los__nav { display:flex; align-items:center; gap:clamp(10px,1.6vw,28px); }
.am-los__nav a { color:#F9F8F6; font-size:13.5px; font-weight:500; white-space:nowrap; }
.am-los__cta { display:inline-flex; align-items:center; gap:8px; background:#FFC266; color:#1C1A17; font-weight:700; font-size:14px; padding:12px 20px; border-radius:8px; white-space:nowrap; flex-shrink:0; }

/* Kopfbereich */
.am-los__hero { position:relative; overflow:hidden; background:#1C1A17; }
.am-los__heroimg { position:absolute; inset:0; }
.am-los__heroimg img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.am-los__heroimg::after { content:""; position:absolute; inset:0; background:linear-gradient(150deg, rgba(28,26,23,0.94) 0%, rgba(28,26,23,0.86) 45%, rgba(28,26,23,0.93) 100%); }
.am-los__herotext { position:relative; max-width:1240px; margin:0 auto; padding:clamp(34px,4.5vw,56px) clamp(20px,4vw,64px) clamp(38px,5vw,60px); box-sizing:border-box; }
.am-los__back { display:inline-block; color:#b8b0a4; font-size:13px; font-weight:500; margin-bottom:22px; }
.am-los__kicker { color:#D4AF7D; font-size:12.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin:0 0 14px 0; }
.am-los__h1 { font-family:'Manrope',sans-serif; font-weight:800; color:#fff; font-size:clamp(28px,3.6vw,40px); line-height:1.15; letter-spacing:-0.01em; margin:0 0 16px 0; max-width:900px; text-wrap:pretty; }
.am-los__lead { color:#d8d1c5; font-size:15.5px; line-height:1.75; margin:0; max-width:760px; text-wrap:pretty; }
.am-los__lead strong { color:#F9F8F6; font-weight:600; }
.am-los__uebersicht { list-style:none; margin:32px 0 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.am-los__uebersicht a { display:flex; flex-direction:column; gap:6px; height:100%; box-sizing:border-box; background:rgba(43,38,32,0.72); border:1px solid #3d372f; border-radius:14px; padding:16px 18px; }
.am-los__unr { font-family:'Manrope',sans-serif; font-weight:800; font-size:12px; letter-spacing:0.1em; color:#D4AF7D; }
.am-los__uname { font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; color:#fff; }
.am-los__uclaim { color:#b8b0a4; font-size:12.5px; line-height:1.5; }

/* Zweispaltiger Hauptteil */
.am-los__main { flex:1; padding:clamp(34px,4vw,54px) clamp(16px,4vw,64px) 70px; box-sizing:border-box; }
.am-los__spalten { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:210px 1fr; gap:clamp(24px,3vw,44px); align-items:start; }
.am-los__rail { position:sticky; top:24px; }
.am-los__railkopf { margin:0 0 12px 0; font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#6b635a; }
.am-los__rail ol { list-style:none; margin:0 0 18px 0; padding:0; display:flex; flex-direction:column; gap:2px; }
.am-los__rail a { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:9px; font-size:14px; font-weight:600; color:#6b635a; border-left:2px solid transparent; }
.am-los__rail a span { font-size:11px; font-weight:800; letter-spacing:0.08em; color:#6b635a; }
.am-los__rail a[aria-current="true"] { background:#fff; color:#1C1A17; border-left-color:#D4AF7D; box-shadow:0 2px 14px rgba(72,66,60,0.08); }
.am-los__rail a[aria-current="true"] span { color:#B08542; }
.am-los__railcta { display:inline-block; font-size:13px; font-weight:700; color:#8a6630; padding:0 12px; }

/* Bereichskopf mit grosser Ziffer */
.am-los__bereich { scroll-margin-top:20px; margin-bottom:52px; }
.am-los__start { font-size:15.5px; line-height:1.75; color:#F9F8F6; font-weight:600; margin:18px 0 0 0; max-width:760px; text-wrap:pretty; }
.am-los__anker { display:block; position:relative; top:-24px; height:0; }
.am-los__bzeichen { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:11px; background:#f3e9da; color:#8a6630; margin-bottom:14px; }
.am-los__bkopf { position:relative; padding:4px 0 26px 0; margin-bottom:22px; border-bottom:1px solid #e6e1d3; }
.am-los__bnr { position:absolute; right:0; top:-14px; font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(56px,7vw,96px); line-height:1; color:transparent; -webkit-text-stroke:1.5px #e0d5be; letter-spacing:-0.02em; pointer-events:none; }
.am-los__h2 { font-family:'Manrope',sans-serif; font-weight:800; color:#1C1A17; font-size:clamp(24px,2.6vw,30px); line-height:1.2; margin:0 0 8px 0; text-wrap:pretty; }
.am-los__h2--hell { color:#fff; }
.am-los__bclaim { font-family:'Instrument Serif',serif; font-style:italic; color:#8a6630; font-size:20px; line-height:1.4; margin:0 0 14px 0; max-width:620px; }
.am-los__bwarum { font-size:15px; line-height:1.75; color:#48423C; margin:0; max-width:760px; text-wrap:pretty; }

/* Einzelne Loesung */
.am-los__karte { position:relative; background:#fff; border:1px solid #e6e1d3; border-radius:16px; box-shadow:0 4px 30px rgba(72,66,60,0.06); padding:clamp(20px,2.8vw,32px); box-sizing:border-box; margin-bottom:18px; scroll-margin-top:20px; overflow:hidden; }
.am-los__karte::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:#D4AF7D; transform-origin:top; }
.am-los__h3 { font-family:'Manrope',sans-serif; font-weight:800; color:#1C1A17; font-size:20px; line-height:1.3; margin:0 0 4px 0; text-wrap:pretty; }
.am-los__claim { font-family:'Instrument Serif',serif; font-style:italic; color:#8a6630; font-size:17px; margin:0 0 14px 0; }
.am-los__text { font-size:14.5px; line-height:1.7; color:#48423C; margin:0 0 16px 0; max-width:820px; }
.am-los__warum { background:#F9F5EC; border:1px solid #eee3d3; border-radius:12px; padding:14px 16px; font-size:14.5px; line-height:1.7; color:#3d372f; margin:0 0 16px 0; max-width:820px; }
.am-los__warum strong { color:#8a6630; font-weight:700; }
.am-los__vn { margin:0 0 16px 0; display:flex; flex-direction:column; gap:8px; max-width:820px; }
.am-los__vn-zeile { display:grid; grid-template-columns:76px 1fr; gap:12px; align-items:baseline; }
.am-los__vn dt { font-size:11.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#6b635a; }
.am-los__vn dd { margin:0; font-size:14px; line-height:1.55; color:#48423C; }
.am-los__vn-zeile--vorher dd { color:#6b635a; }
.am-los__vn s { text-decoration:none; background-image:linear-gradient(#b0a695,#b0a695); background-repeat:no-repeat; background-position:0 62%; background-size:100% 1.5px; }
.am-los__fuss { display:flex; flex-wrap:wrap; align-items:flex-start; gap:14px 18px; }
.am-los__band { border:1px solid #ddd2ba; color:#6b635a; font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:20px; white-space:nowrap; }
.am-los__grenze { flex:1 1 320px; border-left:3px solid #e0d5be; padding-left:14px; }
.am-los__grenzekopf { color:#1C1A17; font-weight:700; font-size:12.5px; margin:0 0 3px 0; }
.am-los__grenzetext { font-size:13.5px; line-height:1.6; color:#5c554c; margin:0; }

/* Absagen, Abschluss, Kleingedrucktes */
.am-los__inhalt--schmal { max-width:860px; }
.am-los__inhalt--schmal .am-los__karte { padding:clamp(20px,2.6vw,30px); }
.am-los__nein { background:#1C1A17; border-radius:18px; padding:clamp(22px,3.2vw,38px); box-sizing:border-box; margin:34px 0 20px 0; }
.am-los__kicker--gold { color:#D4AF7D; }
.am-los__neintext { color:#b8b0a4; font-size:14.5px; line-height:1.7; margin:0 0 22px 0; max-width:780px; }
.am-los__neinliste { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.am-los__neinliste li { background:#2b2620; border:1px solid #3d372f; border-radius:12px; padding:15px 18px; display:flex; flex-direction:column; gap:4px; }
.am-los__neinkopf { color:#fff; font-weight:700; font-size:14.5px; }
.am-los__neingrund { color:#b8b0a4; font-size:13.5px; line-height:1.6; }
.am-los__schluss { background:#fff; border:1.5px solid #D4AF7D; border-radius:18px; padding:clamp(22px,3.2vw,36px); box-sizing:border-box; text-align:center; }
.am-los__schlusstext { font-size:14.5px; line-height:1.7; color:#5c554c; margin:0 auto 22px; max-width:640px; }
.am-los__schlusscta { display:inline-flex; align-items:center; gap:8px; background:#FFC266; color:#1C1A17; font-weight:700; font-size:15px; padding:15px 26px; border-radius:9px; }
.am-los__fein { text-align:center; color:#6b635a; font-size:12.5px; line-height:1.6; margin:24px auto 0; max-width:820px; }

/* Bewegung beim Scrollen: Karten steigen auf, der goldene Streifen zeichnet sich */
@keyframes am-los-auf { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes am-los-strich { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-los__karte { animation:am-los-auf var(--ease-out) both; animation-timeline:view(); animation-range:entry 4% entry 46%; }
    .am-los__karte::before { animation:am-los-strich var(--ease-out) both; animation-timeline:view(); animation-range:entry 10% cover 22%; }
    .am-los__bnr { animation:am-los-auf var(--ease-out) both; animation-timeline:view(); animation-range:entry 2% entry 40%; }
  }
}

@media (max-width:1000px) {
  .am-los__spalten { grid-template-columns:1fr; }
  .am-los__rail { display:none; }
  .am-los__uebersicht { grid-template-columns:1fr 1fr; }
  .am-los__neinliste { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .am-los__band { white-space:normal; }
  .am-los__top { flex-wrap:wrap; gap:10px 14px; padding:14px 20px; }
  .am-los__logo img { height:32px; }
  .am-los__cta { font-size:13px; padding:11px 16px; }
  .am-los__uebersicht { grid-template-columns:1fr; }
  .am-los__vn-zeile { grid-template-columns:1fr; gap:2px; }
  .am-los__bnr { font-size:48px; top:-6px; }
}


/* --- Bildfeld: ruhige Flaeche, solange ein Bild noch fehlt --- */
.am-bildfeld { background:linear-gradient(135deg, #2b2620 0%, #3d372f 100%); }

/* --- Loesungen: Kopfbild ueber der Seitenueberschrift --- */
.am-los__kopfbild { position:relative; overflow:hidden; display:grid; align-items:center; min-height:clamp(260px, 40vw, 420px); }
.am-los__kopfbild > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.am-los__kopfbild-text { position:relative; width:100%; }
.am-los__kopfbild-text::before { content:""; position:absolute; inset:0; left:-50vw; right:-50vw; background:linear-gradient(to right, rgba(28,26,23,0.92) 0%, rgba(28,26,23,0.7) 45%, rgba(28,26,23,0) 100%); pointer-events:none; }
.am-los__kopfbild-inner { position:relative; max-width:1240px; margin:0 auto; padding:34px clamp(20px,4vw,64px); box-sizing:border-box; }
.am-los__kopfbild .am-los__h1 { margin-bottom:12px; }
.am-los__kopfbild .am-los__lead { max-width:640px; }
@media (max-width:620px) {
  .am-los__kopfbild { min-height:260px; }
  .am-los__kopfbild-text::before { background:linear-gradient(to right, rgba(28,26,23,0.94) 0%, rgba(28,26,23,0.82) 60%, rgba(28,26,23,0.55) 100%); }
}

/* --- Startseite: Kacheln mit Bildkopf statt Zeichen --- */
.am-home .am-kacheln { list-style:none; margin:26px 0 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.am-home .am-kachel { display:flex; }
.am-home .am-kachel__link { display:flex; flex-direction:column; width:100%; background:#2b2620; border:1px solid #3d372f; border-radius:16px; overflow:hidden; color:inherit; text-decoration:none; }
.am-home .am-kachel__bild { position:relative; aspect-ratio:3/2; overflow:hidden; }
.am-home .am-kachel__bild img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 400ms var(--ease-out); }
.am-home .am-kachel__bild::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(28,26,23,0) 45%, rgba(28,26,23,0.85) 100%); }
.am-home .am-kachel__titel { position:absolute; left:16px; right:16px; bottom:12px; z-index:1; margin:0; font-family:'Manrope',sans-serif; font-weight:700; font-size:var(--fs-lg); line-height:1.25; color:#fff; }
.am-home .am-kachel__body { padding:16px 18px 20px; }
.am-home .am-kachel__body > span { display:block; }
.am-home .am-kachel__claim { margin:0 0 8px 0; font-family:'Instrument Serif',serif; font-style:italic; font-size:var(--fs-lg); color:#FFC266; }
.am-home .am-kachel__text { margin:0; font-size:var(--fs-sm); line-height:1.65; color:#d8d1c5; }
@media (hover: hover) and (pointer: fine) {
  .am-home .am-kachel__link:hover .am-kachel__bild img { transform:scale(1.03); }
}
.am-home .am-kachel__link:focus-visible { outline:2px solid #FFC266; outline-offset:3px; }
@media (max-width:1000px) {
  .am-home .am-kacheln { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .am-home .am-kacheln { grid-template-columns:1fr; }
  .am-home .am-kachel__bild { aspect-ratio:auto; height:180px; }
}

/* --- Startseite: Zahlungshinweis unter den vier Schritten --- */
.am-home .am-raten { margin:0 0 34px 0; background:#F9F8F6; border-left:3px solid #FFC266; padding:18px 22px; box-sizing:border-box; }
.am-home .am-raten__stark { margin:0 0 4px 0; font-family:'Manrope',sans-serif; font-weight:700; font-size:var(--fs-lg); line-height:1.35; color:#1C1A17; }
.am-home .am-raten__klein { margin:0; font-size:var(--fs-sm); line-height:1.6; color:#5c554c; }


/* --- Startseite: Einleitung ueber den Kacheln --- */
.am-home .am-more-kopf__intro { max-width:760px; margin:12px auto 0; color:#d8d1c5; }
.am-home .am-sec:not(.am-autobg) .am-more-kopf__intro { color:#48423C; }

/* --- Datenschutzseite: drei Phasen als Zeitachse --- */
.am-zeitachse { list-style:none; margin:0 0 4px 0; padding:0; position:relative; }
.am-zeitachse::before { content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px; background:#3d372f; }
.am-zeitachse__phase { position:relative; padding-left:34px; margin-bottom:26px; }
.am-zeitachse__phase::before { content:""; position:absolute; left:0; top:7px; width:16px; height:16px; border-radius:50%; background:#FFC266; }
.am-zeitachse__kopf { margin-bottom:14px; }
.am-zeitachse__titel { font-family:'Manrope',sans-serif; font-weight:800; color:#1C1A17; font-size:20px; line-height:1.25; margin:0 0 4px 0; }
.am-zeitachse__zeile { margin:0; font-size:14px; line-height:1.6; color:#5c554c; }
@media (max-width:620px) {
  .am-zeitachse__phase { padding-left:26px; }
  .am-zeitachse::before { left:5px; }
  .am-zeitachse__phase::before { width:12px; height:12px; top:8px; }
}

/* --- Terminbuchung: leiser Hinweis unter den Schritten --- */
.am-book__hint--leise { color:#a39a8e; font-size:12.5px; margin:14px 0 0 0; }


.am-skip { position:absolute; left:-9999px; top:0; z-index:100; background:#FFC266; color:#1C1A17; font-weight:700; font-size:14px; padding:10px 16px; border-radius:8px; }
.am-skip:focus { left:12px; top:12px; }

/* --- Rechtsseiten (Impressum, AGB, Datenschutzerklaerung): gemeinsames Layout --- */
.am-recht__kopf { background:linear-gradient(150deg, #1C1A17 0%, #2b2620 62%, #3d372f 100%); }
.am-recht__kopf-inner { max-width:1240px; margin:0 auto; padding:34px clamp(20px,4vw,64px) 40px; box-sizing:border-box; }
.am-recht__h1 { font-family:'Manrope',sans-serif; font-weight:800; color:#fff; font-size:clamp(26px,3.2vw,36px); line-height:1.18; letter-spacing:-0.01em; margin:0 0 10px 0; text-wrap:pretty; }
.am-recht__unter { color:#b8b0a4; font-size:14px; line-height:1.6; margin:0; max-width:640px; }
.am-recht__main { flex:1; padding:clamp(30px,4vw,48px) clamp(16px,4vw,64px) 72px; box-sizing:border-box; }
.am-recht__spalten { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:260px 1fr; gap:clamp(24px,3vw,44px); align-items:start; }
.am-recht__toc { position:sticky; top:24px; max-height:calc(100vh - 48px); overflow-y:auto; }
.am-recht__tockopf { margin:0 0 12px 0; font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#6b635a; }
.am-recht__toc ol { list-style:none; margin:0; padding:0; counter-reset:recht; display:flex; flex-direction:column; gap:2px; }
.am-recht__toc a { display:block; padding:7px 12px; border-radius:8px; border-left:2px solid transparent; font-size:13px; line-height:1.45; color:#5c554c; }
.am-recht__toc a[aria-current="true"] { background:#fff; color:#1C1A17; border-left-color:#D4AF7D; font-weight:600; box-shadow:0 2px 14px rgba(72,66,60,0.08); }
.am-recht__karte, .am-recht__toc, .am-recht__toc-mobil { overflow-wrap:anywhere; }
.am-recht__karte { min-width:0; }
.am-recht__karte { background:#fff; border:1px solid #e6e1d3; border-radius:16px; box-shadow:0 4px 30px rgba(72,66,60,0.06); padding:clamp(22px,3.4vw,44px); box-sizing:border-box; }
.am-recht__toc-mobil { display:none; }
.am-recht__vorspann { color:#5c554c; font-size:14px; line-height:1.75; padding-bottom:22px; border-bottom:1px solid #e6e1d3; }
.am-recht__abschnitt { padding-top:28px; scroll-margin-top:20px; }
.am-recht__abschnitt + .am-recht__abschnitt { border-top:1px solid #f1ece1; }
.am-recht__h2 { font-family:'Manrope',sans-serif; font-weight:700; color:#1C1A17; font-size:18px; line-height:1.3; margin:0 0 12px 0; padding-left:14px; border-left:3px solid #D4AF7D; text-wrap:pretty; }
.am-recht__karte p { font-size:15px; line-height:1.75; color:#48423C; margin:0 0 12px 0; max-width:72ch; }
.am-recht__karte p:last-child { margin-bottom:0; }
.am-recht__karte ol, .am-recht__karte ul { margin:0 0 12px 0; padding-left:22px; max-width:72ch; }
.am-recht__karte li { font-size:15px; line-height:1.7; color:#48423C; margin-bottom:6px; }
.am-recht__karte li:last-child { margin-bottom:0; }
.am-recht__karte strong { color:#1C1A17; font-weight:700; }
.am-recht__karte a { color:#8a6630; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1000px) {
  .am-recht__spalten { grid-template-columns:1fr; }
  .am-recht__toc { display:none; }
  .am-recht__toc-mobil { display:block; margin-bottom:20px; border:1px solid #e6e1d3; border-radius:12px; padding:12px 14px; }
  .am-recht__toc-mobil summary { font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:#6b635a; cursor:pointer; }
  .am-recht__toc-mobil ol { margin:12px 0 2px 0; padding-left:20px; }
  .am-recht__toc-mobil li { font-size:14px; line-height:1.6; margin-bottom:6px; }
  .am-recht__toc-mobil a { color:#8a6630; }
}


/* --- Datenschutzseite: zwei Spalten mit mitlaufender Begleitkarte --- */
.am-phasen { display:block; }
.am-phasenkarte { display:none; }
@media (min-width:960px) {
  .am-phasen { display:grid; grid-template-columns:58fr 36fr; gap:clamp(24px,3vw,44px); }
  .am-phasenkarte { display:block; position:sticky; top:120px; align-self:stretch; height:fit-content; background:#231f1a; border:1px solid #3d372f; border-radius:16px; padding:24px 26px 22px; box-sizing:border-box; min-height:290px; }
}
.am-phasenkarte__inhalt { transition:opacity 250ms var(--ease-out), transform 250ms var(--ease-out); }
.am-phasenkarte__inhalt.ist-weg { opacity:0; transform:translateY(-6px); transition-duration:200ms; }
.am-phasenkarte__inhalt.kommt { opacity:1; transform:none; }
.am-phasenkarte__nr { display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(56px,7vw,96px); line-height:1; letter-spacing:-0.02em; color:transparent; -webkit-text-stroke:1.5px #3d372f; }
.am-phasenkarte__titel { margin:8px 0 8px 0; font-family:'Manrope',sans-serif; font-weight:700; font-size:17px; line-height:1.3; color:#fff; }
.am-phasenkarte__satz { margin:0; font-size:14px; line-height:1.65; color:#b8b0a4; }
.am-phasenkarte__punkte { display:flex; gap:8px; margin:20px 0 16px 0; }
.am-phasenkarte__punkt { width:8px; height:8px; border-radius:50%; background:#3d372f; transition:background-color 250ms var(--ease-out); }
.am-phasenkarte__punkt--an { background:#FFC266; }
.am-phasenkarte__fuss { margin:0; padding-top:14px; border-top:1px solid #3d372f; font-size:12px; line-height:1.55; color:#a39a8e; }

/* --- Loesungsseite: Infokarte unter der Bereichsnavigation --- */
.am-infokarte { margin-top:22px; padding-top:20px; border-top:1px solid #3d372f; min-height:220px; }
.am-infokarte__inhalt { transition:opacity 250ms var(--ease-out), transform 250ms var(--ease-out); }
.am-infokarte__inhalt.ist-weg { opacity:0; transform:translateY(-4px); transition-duration:200ms; }
.am-infokarte__inhalt.kommt { opacity:1; transform:none; }
.am-infokarte__kopf { margin:0 0 6px 0; font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#6b635a; }
.am-infokarte__satz { margin:0; font-size:14px; line-height:1.6; color:#48423C; }
.am-infokarte__linie { border:0; border-top:1px solid #e6e1d3; margin:16px 0; }
.am-infokarte__marken { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.am-infokarte__marken span { display:inline-block; background:#2b2620; color:#d8d1c5; font-size:11.5px; line-height:1.4; padding:5px 10px; border-radius:999px; animation:am-marke 250ms var(--ease-out) both; animation-delay:calc(var(--n, 0) * 40ms); }
@keyframes am-marke { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) {
  .am-infokarte__inhalt, .am-phasenkarte__inhalt, .am-phasenkarte__punkt { transition:none; }
  .am-infokarte__marken span { animation:none; }
}

/* --- Terminbuchung: Nachsatz und Ausgang --- */
.am-book__note--nach { margin-top:6px; padding-top:0; border-top:0; font-size:12px; color:#8f867b; }
.am-book__weiter { margin:18px 0 0 0; font-size:12.5px; }
.am-book__weiter a { color:#a39a8e; }


/* --- Loesungsseite: Kopfbereich mit einem Bild, Text links, Bereichsleiste darunter --- */
.am-loskopf { position:relative; background:#1C1A17; border-bottom:1px solid #3d372f; overflow:hidden; }
/* feiner Lichtschein aus der rechten oberen Ecke, damit die Flaeche nicht tot wirkt */
.am-loskopf::before { content:""; position:absolute; top:-30%; right:-10%; width:60%; height:160%; background:radial-gradient(closest-side, rgba(255,194,102,0.10), transparent 70%); pointer-events:none; }
.am-loskopf__inner { position:relative; max-width:1240px; margin:0 auto; padding:26px clamp(20px,4vw,64px) 34px; box-sizing:border-box; }
.am-loskopf__reihe { display:grid; grid-template-columns:1.15fr 0.85fr; gap:clamp(24px,4vw,52px); align-items:center; margin-top:18px; }
.am-loskopf__text .am-los__h1 { margin-bottom:14px; }
.am-loskopf__text .am-los__lead { max-width:none; }
.am-loskopf__text .am-los__start { margin-top:16px; }
.am-loskopf__bild { position:relative; aspect-ratio:3/2; border-radius:16px; overflow:hidden; border:1px solid rgba(212,175,125,0.25); box-shadow:0 18px 50px rgba(0,0,0,0.45); }
.am-loskopf__bild img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* Verlauf nach unten links, damit das Bild in die Flaeche uebergeht statt als Kachel zu kleben */
.am-loskopf__bild::after { content:""; position:absolute; inset:0; background:linear-gradient(200deg, rgba(28,26,23,0) 55%, rgba(28,26,23,0.55) 100%); pointer-events:none; }
.am-loskopf .am-los__uebersicht { margin-top:34px; }
@media (max-width:1000px) {
  .am-loskopf__reihe { grid-template-columns:1fr; gap:24px; }
  .am-loskopf__bild { max-width:560px; }
}
@media (max-width:620px) {
  .am-loskopf__inner { padding-bottom:28px; }
  .am-loskopf .am-los__uebersicht { margin-top:26px; }
}

/* === Startseite: Bausteine (erzeugt, Stufe 26) === */
:root { --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  /* Schriftskala Startseite: 12 / 13 / 14 / 16 / 18 / 24 / 32 / 48 px bei Standardgroesse */
  --fs-xs:0.75rem; --fs-sm:0.8125rem; --fs-md:0.875rem; --fs-lg:1rem; --fs-xl:1.125rem; --fs-2xl:1.5rem; --fs-3xl:2rem; --fs-4xl:3rem; }
html { -webkit-tap-highlight-color:transparent; }
.am-page { min-height:100vh; min-height:100svh; }

/* Buttons: Rueckmeldung beim Druecken fuer alle Eingabearten, Hover nur mit Maus */
.am-home .am-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:#FFC266; color:#1C1A17; font-weight:700; font-size:var(--fs-lg); line-height:1.2; padding:15px 24px; border-radius:8px; text-decoration:none; white-space:nowrap; flex-shrink:0; box-sizing:border-box; transition:transform 160ms var(--ease-out), filter 160ms ease; }
.am-home .am-btn:active { transform:scale(0.97); }
.am-home .am-btn--sm { font-size:var(--fs-md); padding:12px 20px; }
.am-home .am-btn--lg { font-size:var(--fs-lg); gap:10px; padding:16px 30px; border-radius:10px; }
.am-home .am-btn--bar { display:flex; gap:8px; padding:14px 18px; border-radius:9px; }
.am-home .am-textlink { display:inline-flex; align-items:center; gap:8px; color:#F9F8F6; font-weight:600; font-size:var(--fs-lg); padding:15px 4px; text-decoration:underline; text-decoration-color:rgba(249,248,246,0.4); text-underline-offset:6px; transition:text-decoration-color 160ms ease; }
.am-home .am-textlink:active { opacity:0.8; }
@media (hover: hover) and (pointer: fine) {
  .am-home .am-btn:hover { color:#1C1A17; filter:brightness(1.07); }
  .am-home .am-textlink:hover { color:#F9F8F6; text-decoration-color:#FFC266; }
}

/* Navigation */
.am-home .am-navlink { color:#F9F8F6; font-size:var(--fs-sm); font-weight:500; white-space:nowrap; }
.am-home .am-mnavlink { color:#F9F8F6; font-size:var(--fs-lg); font-weight:600; padding:13px 4px; border-bottom:1px solid #3d372f; }
.am-home .am-navlink[aria-current="true"] { color:#FFC266; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
.am-home .am-mnavlink[aria-current="true"] { color:#FFC266; }
[data-r=burger] .am-ico-close { display:none; }
[data-r=burger][aria-expanded="true"] .am-ico-open { display:none; }
[data-r=burger][aria-expanded="true"] .am-ico-close { display:block; }

/* Hero */
.am-home .am-hero-kicker { color:#D4AF7D; font-size:var(--fs-lg); font-weight:600; letter-spacing:0.01em; text-transform:none; margin:0 0 18px 0; }
.am-home .am-hero-text { font-size:var(--fs-lg); line-height:1.6; color:#e8e4dc; margin:0 0 24px 0; max-width:58ch; text-wrap:pretty; }
.am-home .am-herocard { margin:0; width:340px; flex-shrink:0; background:rgba(28,26,23,0.88); border:1px solid #3d372f; border-radius:16px; padding:20px 22px; box-shadow:0 12px 40px rgba(28,26,23,0.55); box-sizing:border-box; }
.am-home .am-herocard figcaption { margin-top:16px; padding-top:12px; border-top:1px solid #3d372f; color:#d8d1c5; font-size:var(--fs-xs); }
.am-home .am-steps-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.am-home .am-steps-list li { display:flex; gap:12px; align-items:flex-start; font-size:var(--fs-md); line-height:1.45; color:#e8e4dc; }
.am-home .am-time { display:block; color:#D4AF7D; font-size:var(--fs-xs); font-weight:700; letter-spacing:0.02em; font-variant-numeric:tabular-nums; }
.am-home .am-dot { width:22px; height:22px; border-radius:50%; background:#3d372f; color:#D4AF7D; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.am-home .am-dot--done { background:#FFC266; color:#1C1A17; }

/* Abschnitte, Ueberschriften, Texte */
.am-home .am-sec { padding:80px 64px 96px; margin:0 auto; width:100%; box-sizing:border-box; }
.am-home .am-head { text-align:center; margin-bottom:40px; }
.am-home .am-kicker { color:#8a6630; margin:0 0 8px 0; font-family:'Instrument Serif',serif; font-style:italic; font-weight:400; font-size:var(--fs-2xl); line-height:1.2; }
.am-home .am-kicker--dark { color:#D4AF7D; }
.am-home .am-h2 { font-family:'Manrope',sans-serif; font-weight:800; color:#1C1A17; font-size:var(--fs-3xl); line-height:1.2; margin:0; text-wrap:balance; }
.am-home .am-h2--dark { color:#fff; }
.am-home .am-intro { font-size:var(--fs-lg); line-height:1.6; color:#5c554c; margin:18px auto 0; max-width:65ch; text-wrap:pretty; }
.am-home .am-intro--dark { color:#d8d1c5; }
.am-home .am-head--left { text-align:left; }
.am-home .am-head--left .am-intro { margin-left:0; }
.am-home .am-h3 { font-family:'Manrope',sans-serif; font-weight:700; font-size:var(--fs-xl); line-height:1.35; color:#1C1A17; margin:0 0 8px 0; }
.am-home .am-h3--lg { font-size:var(--fs-xl); line-height:1.3; margin-bottom:10px; }
.am-home .am-h3--sm { display:flex; align-items:flex-start; gap:8px; font-size:var(--fs-lg); margin-bottom:6px; }
.am-home .am-h3__icon { flex-shrink:0; margin-top:1px; color:#B08542; }
.am-home .am-h3--gold { color:#D4AF7D; font-size:var(--fs-lg); }
.am-home .am-h3--person { font-size:var(--fs-xl); line-height:1.3; margin:4px 0; }
.am-home .am-text { font-size:var(--fs-md); color:#5c554c; line-height:1.6; margin:0; max-width:65ch; }
.am-home .am-text--sm { font-size:var(--fs-sm); }
.am-home .am-text--lead { font-size:var(--fs-md); color:#48423C; line-height:1.65; margin-bottom:16px; }
.am-home .am-text--dark { font-size:var(--fs-md); color:#d8d1c5; line-height:1.65; }
.am-home .am-rule { font-size:var(--fs-md); color:#48423C; line-height:1.6; margin:auto 0 8px 0; padding-top:14px; border-top:1px solid #e6e1d3; }
.am-home .am-rule strong { color:#1C1A17; }
.am-home .am-rule--last { margin:0; padding-top:0; border-top:0; }
.am-home .am-fine { font-size:var(--fs-xs); color:#5c554c; line-height:1.5; margin:12px 0 0 0; }
.am-home .am-role { color:#48423C; font-weight:700; font-size:var(--fs-md); margin:0 0 12px 0; }
.am-home .am-badge { display:inline-block; vertical-align:middle; background:#f3e9da; color:#48423C; font-family:'Inter Tight',sans-serif; font-size:var(--fs-xs); font-weight:700; letter-spacing:0.02em; padding:3px 9px; border-radius:4px; margin-left:4px; }

/* Karten und Raster */
.am-home .am-grid { display:grid; margin:0; padding:0; list-style:none; }
.am-home .am-card { background:#fff; border:1px solid #e6e1d3; border-radius:16px; padding:24px 22px; }
.am-home .am-card--soft { background:#F9F8F6; }
.am-home .am-card--dark { background:#2b2620; border-color:#3d372f; padding:18px; }
.am-home .am-sec--dark .am-card--dark { padding:22px 24px; }
.am-home .am-card--col { display:flex; flex-direction:column; padding:28px 26px; }
.am-home .am-card--sm { padding:18px 20px; }
.am-home .am-icon { display:block; color:#B08542; margin-bottom:12px; line-height:0; }
.am-home .am-iconbox { width:48px; height:48px; border-radius:8px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.am-home .am-iconbox--solid { background:#1C1A17; color:#FFC266; }
.am-home .am-iconbox--dark { width:38px; height:38px; border-radius:8px; background:#3d372f; color:#D4AF7D; margin-bottom:14px; }
.am-home .am-benefit-title { display:block; font-weight:700; font-size:var(--fs-md); color:#fff; margin-bottom:4px; }
.am-home .am-benefit-text { display:block; font-size:var(--fs-xs); color:#c4bcb0; line-height:1.5; }
.am-home .am-step__nr { width:38px; height:38px; border-radius:50%; background:#1C1A17; color:#FFC266; font-family:'Manrope',sans-serif; font-weight:800; font-size:var(--fs-lg); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-variant-numeric:tabular-nums; }
.am-home .am-cta-row { display:flex; justify-content:center; }
.am-home .am-cta-row--left { justify-content:flex-start; }
.am-home .am-limits { display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none; }
.am-home .am-limit { display:flex; align-items:flex-start; gap:14px; padding:16px 20px; font-size:var(--fs-lg); color:#48423C; line-height:1.6; }
.am-home .am-limit strong { color:#1C1A17; }
.am-home .am-limit__x { width:28px; height:28px; border-radius:50%; background:#1C1A17; color:#FFC266; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:-1px; }
.am-home .am-person { display:flex; gap:20px; align-items:flex-start; padding:20px; }
.am-home .am-person img, .am-home .am-person > div[aria-hidden] { border-radius:8px !important; }
.am-home .am-faq { background:#fff; border:1px solid #e2dbcc; border-radius:16px; padding:18px 22px; }
.am-home .am-faq summary { color:#1C1A17; font-weight:700; font-size:var(--fs-lg); cursor:pointer; }
.am-home .am-faq p { color:#5c554c; font-size:var(--fs-md); line-height:1.6; margin:14px 0 0 0; max-width:70ch; }

/* Handy: Hero-Buttons volle Breite (groesseres Tippziel) */
@media (max-width:620px) {
  .am-home [data-r=herobtns] { align-items:stretch !important; }
}

/* Fixierte Leiste unten */
.am-home .am-stickybar { position:fixed; left:0; right:0; bottom:0; z-index:40; padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background:rgba(28,26,23,0.96); border-top:1px solid #3d372f; box-sizing:border-box; }

/* iPhone: Inhalte weg vom Home-Balken und von der Kamera-Aussparung (viewport-fit=cover nur auf der Startseite) */
body.am-home { padding-left:env(safe-area-inset-left, 0px); padding-right:env(safe-area-inset-right, 0px); }
body.am-home .am-cc { padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px)); }
@media (max-width:1000px) {
  body.am-home { padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px)); }
}

/* Probleme: Ueberschrift links, Liste rechts, ohne Kartenrahmen */
.am-home .am-split { display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:start; }
.am-home .am-split .am-head { margin-bottom:0; }
.am-home .am-problems { list-style:none; margin:0; padding:0; }
.am-home .am-problems li { display:grid; grid-template-columns:56px 1fr; gap:8px; padding:24px 0; border-top:1px solid #dcd4c6; }
.am-home .am-problems li:last-child { border-bottom:1px solid #dcd4c6; }
.am-home .am-problems__nr { font-family:'Instrument Serif',serif; font-style:italic; font-size:var(--fs-3xl); line-height:1; color:#8a6630; font-variant-numeric:tabular-nums; }
/* Schritte ohne Kartenrahmen, Linie oben */
.am-home .am-step { padding:22px 0 0 0; border-top:2px solid #1C1A17; }
/* Anwendungsfaelle im Zickzack */
.am-home .am-zz { list-style:none; margin:0 0 56px 0; padding:0; display:flex; flex-direction:column; gap:56px; }
.am-home .am-zz__row { display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:center; }
.am-home .am-zz__row:nth-child(even) .am-zz__text { order:2; }
.am-home .am-zz__text { display:flex; flex-direction:column; }
.am-home .am-zz__text .am-rule { margin-top:6px; }
.am-home .am-zz__demo { background:#1C1A17; border-radius:16px; padding:28px 30px; box-shadow:0 24px 48px -28px rgba(28,26,23,0.6); }
.am-home .am-demo-caption { margin:18px 0 0 0; padding-top:12px; border-top:1px solid #3d372f; color:#d8d1c5; font-size:var(--fs-xs); }
@media (max-width:1000px) {
  .am-home .am-split, .am-home .am-zz__row { grid-template-columns:1fr; gap:28px; }
  .am-home .am-zz__row:nth-child(even) .am-zz__text { order:0; }
}

/* Handy-Menue: weich einblenden (Schliessen bleibt sofort) */
@media (max-width:1000px) {
  [data-r=mobilenav][data-open="true"] { opacity:1; transform:none; transition:opacity 200ms var(--ease-out), transform 200ms var(--ease-out); }
  @starting-style { [data-r=mobilenav][data-open="true"] { opacity:0; transform:translateY(-8px); } }
}
/* FAQ: Antworten oeffnen weich, wo der Browser es kann; sonst wie bisher sofort */
@supports (interpolate-size: allow-keywords) {
  .am-home .am-faq { interpolate-size:allow-keywords; }
  .am-home .am-faq::details-content { height:0; overflow:clip; opacity:0; transition:height 200ms var(--ease-out), opacity 200ms var(--ease-out), content-visibility 200ms allow-discrete; }
  .am-home .am-faq[open]::details-content { height:auto; opacity:1; }
}
@media (prefers-reduced-motion: reduce) {
  .am-home .am-btn, .am-home .am-textlink { transition:filter 100ms ease; }
  .am-home .am-btn:active { transform:none; filter:brightness(0.92); }
  [data-r=mobilenav][data-open="true"] { transform:none; transition:opacity 150ms ease; }
  .am-home .am-faq::details-content { transition:none; }
}

/* Antippen ohne Verzoegerung (kein Doppeltipp-Zoom auf Bedienelementen) */
.am-home .am-btn, .am-home .am-textlink, .am-home .am-navlink, .am-home .am-mnavlink, .am-home [data-r=burger], .am-home .am-faq summary { touch-action:manipulation; }
/* Laufweite je Groesse: grosse Ueberschriften etwas enger */
.am-home .am-h2 { letter-spacing:-0.015em; }
.am-home .am-h3 { letter-spacing:-0.005em; }
/* Systemeinstellung "Transparenz reduzieren": deckende Flaechen */
@media (prefers-reduced-transparency: reduce) {
  .am-home .am-herocard, .am-home .am-stickybar { background:#1C1A17; }
  .am-home [data-r=burger] { background:#2b2620 !important; }
}

/* === Helle Bereiche: Tiefe, Struktur, Symbole (Stufe 12) ===
   Nur Farben aus der bestehenden Palette. Muster und Schimmer sind eingebettetes SVG bzw. CSS-Verlaeufe, ohne externe Dateien. */
.am-home .am-band { position:relative; }
.am-home .am-texture { background-image:radial-gradient(42rem 28rem at 100% 0%, rgba(255,194,102,0.16), transparent 70%), url("bilder/muster-leiterbahn.svg"); background-repeat:no-repeat, repeat; }
.am-home .am-texture--left { background-image:radial-gradient(42rem 28rem at 0% 100%, rgba(255,194,102,0.14), transparent 70%), url("bilder/muster-leiterbahn.svg"); }
.am-home .am-glow { background-image:radial-gradient(48rem 30rem at 0% 0%, rgba(243,233,218,0.95), transparent 70%), radial-gradient(40rem 28rem at 100% 100%, rgba(255,194,102,0.12), transparent 70%); }

/* Symbol-Kacheln */
.am-home .am-tile { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px; background:#f3e9da; color:#8a6630; margin-bottom:14px; flex-shrink:0; }
.am-home .am-tile--dark { width:40px; height:40px; background:#3d372f; color:#FFC266; }
.am-home .am-iconbox--solid { box-shadow:0 10px 24px -14px rgba(28,26,23,0.6); }

/* Karten mit Tiefe statt Rahmen */
.am-home .am-card--lift { border-color:transparent; box-shadow:0 1px 0 rgba(72,66,60,0.06), 0 18px 36px -24px rgba(72,66,60,0.38); }

/* Probleme: grosse Ziffern, Symbol-Kacheln, Ueberschrift bleibt beim Scrollen stehen */
.am-home .am-problems li { grid-template-columns:84px 1fr; padding:28px 0; }
.am-home .am-problems__nr { font-size:var(--fs-4xl); color:#8a6630; }
@media (min-width:1001px) {
  .am-home .am-split > .am-head { position:sticky; top:40px; align-self:start; }
}

/* Zusammenarbeit: Zeitleiste auf Beige */
.am-home .am-step--tl { border-top:0; padding-top:0; position:relative; }
.am-home .am-step--tl .am-step__nr { width:48px; height:48px; font-size:var(--fs-xl); box-shadow:0 0 0 6px #f3e9da; position:relative; z-index:1; margin-bottom:18px; }
@media (min-width:1001px) {
  .am-home .am-step--tl:not(:last-child)::after { content:""; position:absolute; top:23px; left:54px; right:-22px; height:2px; background:linear-gradient(90deg, #1C1A17, rgba(28,26,23,0.12)); }
}

/* Datenschutz: Symbol ueber der Ueberschrift */
.am-home .am-sec--dark .am-tile--dark { margin-bottom:14px; }

/* Grenzen: Kartenraster, erste Karte als dunkler Auftakt */
.am-home .am-limits--grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
.am-home .am-limits--grid .am-limit { flex-direction:column; gap:12px; background:#fff; border:1px solid #e6e1d3; border-left:3px solid #B08542; padding:22px 24px; }
.am-home .am-limits--grid .am-tile { margin-bottom:0; }
.am-home .am-limits--grid .am-limit--lead { grid-column:1 / -1; flex-direction:row; align-items:center; gap:18px; background:#1C1A17; border-color:#1C1A17; color:#d8d1c5; padding:26px 28px; }
.am-home .am-limits--grid .am-limit--lead strong { color:#fff; }
.am-home .am-limits--grid .am-limit--lead .am-tile { background:#3d372f; color:#FFC266; }
@media (max-width:620px) {
  .am-home .am-limits--grid { grid-template-columns:1fr; }
  .am-home .am-limits--grid .am-limit--lead { flex-direction:column; align-items:flex-start; }
}

/* Ueber uns: versetzter Goldrahmen hinter den Fotos */
.am-home .am-person { background:#fff; border-color:transparent; box-shadow:0 1px 0 rgba(72,66,60,0.06), 0 18px 36px -24px rgba(72,66,60,0.38); gap:34px; padding:24px 28px 32px 24px; }
.am-home .am-photo { position:relative; flex-shrink:0; line-height:0; }
.am-home .am-photo::before { content:""; position:absolute; inset:12px -12px -12px 12px; border:2px solid #D4AF7D; border-radius:8px; }
.am-home .am-photo > * { position:relative; }

/* FAQ: zweispaltig, Zeilen statt Karten, Plus-Symbol dreht sich beim Oeffnen */
.am-home .am-split--faq { grid-template-columns:0.7fr 1.3fr; }
.am-home .am-faq-mark { display:block; font-family:'Instrument Serif',serif; font-style:italic; font-size:10rem; line-height:0.9; color:#f3e9da; margin-top:16px; }
.am-home .am-faq-list { border-top:1px solid #e6e1d3; }
.am-home .am-faq-list .am-faq { background:transparent; border:0; border-bottom:1px solid #e6e1d3; border-radius:0; padding:0; }
.am-home .am-faq-list .am-faq summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 4px; }
.am-home .am-faq-list .am-faq summary::-webkit-details-marker { display:none; }
.am-home .am-faq__icon { flex-shrink:0; width:34px; height:34px; border-radius:50%; background:#f3e9da; color:#8a6630; display:flex; align-items:center; justify-content:center; transition:transform 200ms var(--ease-out), background-color 200ms ease, color 200ms ease; }
.am-home .am-faq[open] .am-faq__icon { transform:rotate(45deg); background:#1C1A17; color:#FFC266; }
.am-home .am-faq-list .am-faq p { margin:0 0 22px 0; padding:0 4px; }
@media (max-width:1000px) {
  .am-home .am-split--faq { grid-template-columns:1fr; gap:24px; }
  .am-home .am-faq-mark { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .am-home .am-faq__icon { transition:none; }
}

/* === Stufe 20: jeder Punkt wird einzeln durchgestrichen === */
/* Der Bereich, in dem gestrichen wird, ist kurz und liegt spaet: dadurch ist ein
   Punkt fertig, bevor der naechste anfaengt – man sieht vier einzelne Striche. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-strikelist li .am-strike { animation:am-streichen var(--ease-out) both; animation-timeline:view(); animation-range:cover 42% cover 58%; }
  }
}

/* === Stufe 18: Leitungsstrang neben den Fragen === */
.am-home .am-faq-thread { position:relative; display:block; width:120px; height:430px; margin-top:28px; }
.am-home .am-faq-thread span { position:absolute; inset:0; line-height:0; }
.am-home .am-faq-thread__base { color:#e4d6bd; }
.am-home .am-faq-thread__lit { color:#D4AF7D; clip-path:inset(0 0 0 0); }
@keyframes am-faden { from { clip-path:inset(0 0 100% 0); } to { clip-path:inset(0 0 0 0); } }
@supports (animation-timeline: view()) and (timeline-scope: --am-faq) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-split--faq { timeline-scope:--am-faq; }
    .am-home .am-faq-list { view-timeline-name:--am-faq; }
    .am-home .am-faq-thread__lit { animation:am-faden linear both; animation-timeline:--am-faq; animation-range:cover 8% cover 80%; }
  }
}
@media (max-width:1000px) {
  .am-home .am-faq-thread { display:none; }
}

/* === Stufe 17: gezeichnete Zeichen und Hamburg-Foto im Abschluss === */
.am-home .am-strikelist__mark, .am-home .am-faq-mark { display:block; line-height:0; color:#e4d6bd; }
.am-home .am-strikelist__mark { margin-top:32px; }
.am-home .am-faq-mark { margin-top:24px; font-size:inherit; }

/* Abschluss-CTA: Foto liegt hinter dem Text und wandert beim Scrollen langsamer mit */
.am-home .am-autobg--short { padding-top:150px; padding-bottom:160px; }
.am-home .am-autobg--short .am-autobg__layer { overflow:hidden; }
@media (max-width:1000px) {
  .am-home .am-autobg--short { padding-top:100px; padding-bottom:110px; }
}
.am-home .am-autobg--short .am-autobg__photo { position:absolute; left:0; right:0; top:-22%; height:144%; }
.am-home .am-autobg--short .am-autobg__photo img { width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.am-home .am-autobg--short .am-autobg__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(28,26,23,0.86) 0%, rgba(28,26,23,0.55) 42%, rgba(28,26,23,0.66) 78%, rgba(28,26,23,0.9) 100%); }
@keyframes am-foto-parallax { from { transform:translate3d(0, -5%, 0); } to { transform:translate3d(0, 5%, 0); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-autobg--short .am-autobg__photo { animation:am-foto-parallax linear both; animation-timeline:--am-auto; animation-range:cover; }
  }
}

/* === Datenschutz mit Tresor-Bild und Parallax (Stufe 16) ===
   Gleiche Technik wie bei "Was wir automatisieren"; Bild mittig, Abdunklung von der Mitte zum Rand. */
.am-home .am-autobg > .am-autobg__content { position:relative; z-index:1; }
.am-home .am-autobg--center .am-autobg__sticky { --am-x:0%; }
.am-home .am-autobg--center .am-autobg__sticky img { object-position:center 45%; }
@media (min-width:1001px) {
  /* Desktop: Tresor vollstaendig sichtbar statt angeschnitten; Flaeche in der Randfarbe des Bildes */
  .am-home .am-autobg--center .am-autobg__sticky { background:#010202; }
  .am-home .am-autobg--center .am-autobg__sticky img { object-fit:contain; object-position:center; }
}
.am-home .am-autobg--center .am-autobg__sticky::after { background:radial-gradient(ellipse 70% 65% at 50% 50%, rgba(28,26,23,0.58), rgba(28,26,23,0.9) 100%); }
@media (max-width:1000px) {
  .am-home .am-autobg--center .am-autobg__sticky::after { background:rgba(28,26,23,0.8); }
}
.am-home #datenschutz .am-card--dark { background:rgba(43,38,32,0.8); border-color:rgba(212,175,125,0.22); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:inset 0 1px 0 rgba(255,255,255,0.05); }
@media (prefers-reduced-transparency: reduce) {
  .am-home #datenschutz .am-card--dark { background:#2b2620; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* === Was wir nicht uebernehmen: "Durchgestrichen" (Stufe 16) ===
   Ruhige Zeilen; beim Hineinscrollen zieht sich eine goldene Linie durch den Begriff.
   Ohne scroll-driven animations oder bei reduzierter Bewegung ist die Linie sofort da. */
.am-home .am-split--limits { grid-template-columns:0.8fr 1.2fr; }
.am-home .am-strikelist__mark { display:block; margin-top:28px; color:#e9dcc6; line-height:0; }
.am-home .am-strikelist { list-style:none; margin:0; padding:0; border-top:1px solid #e6e1d3; }
.am-home .am-strikelist li { display:grid; grid-template-columns:0.9fr 1.1fr; gap:32px; align-items:baseline; padding:26px 0; border-bottom:1px solid #e6e1d3; }
.am-home .am-strikelist__title { margin:0; font-family:'Manrope',sans-serif; font-size:var(--fs-xl); line-height:1.4; color:#1C1A17; }
.am-home .am-strikelist__title strong { font-weight:700; }
.am-home .am-strikelist__text { margin:0; font-size:var(--fs-md); line-height:1.65; color:#5c554c; }
.am-home .am-strike { background-image:linear-gradient(#B08542, #B08542); background-repeat:no-repeat; background-position:0 60%; background-size:100% 2px; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
@keyframes am-streichen { from { background-size:0% 2px; } to { background-size:100% 2px; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-strike { animation:am-streichen linear both; animation-timeline:view(); animation-range:entry 60% cover 30%; }
  }
}
@media (max-width:1000px) {
  .am-home .am-split--limits { grid-template-columns:1fr; gap:28px; }
  .am-home .am-strikelist__mark { display:none; }
  .am-home .am-strikelist li { grid-template-columns:1fr; gap:6px; padding:22px 0; }
}

/* === Was wir automatisieren: dunkler Abschnitt mit Hintergrundbild und Parallax (Stufe 14) ===
   Das Bild steht per position:sticky im Bildschirm, waehrend der Inhalt darueber scrollt.
   Zusaetzlich verschiebt und vergroessert es sich leicht (CSS scroll-driven, nur transform).
   Ohne Unterstuetzung oder bei reduzierter Bewegung bleibt es ruhig stehen. */
.am-home .am-autobg { position:relative; overflow:hidden; overflow:clip; view-timeline-name:--am-auto; }
.am-home .am-autobg__layer { position:absolute; inset:0; pointer-events:none; }
.am-home .am-autobg__sticky { position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; --am-x:16%; }
.am-home .am-autobg__sticky img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:translate3d(var(--am-x), 0, 0) scale(1.1); }
.am-home .am-autobg__sticky::after { content:""; position:absolute; inset:0; background:linear-gradient(to right, rgba(28,26,23,0.94) 0%, rgba(28,26,23,0.86) 42%, rgba(28,26,23,0.45) 70%, rgba(28,26,23,0.3) 100%); }
.am-home .am-autobg__layer::before, .am-home .am-autobg__layer::after { content:""; position:absolute; left:0; right:0; height:180px; z-index:1; }
.am-home .am-autobg__layer::before { top:0; background:linear-gradient(to bottom, #1C1A17, rgba(28,26,23,0)); }
.am-home .am-autobg__layer::after { bottom:0; background:linear-gradient(to top, #1C1A17, rgba(28,26,23,0)); }
.am-home .am-autobg > section { position:relative; z-index:1; }
@keyframes am-auto-parallax { from { transform:translate3d(var(--am-x), -4%, 0) scale(1.08); } to { transform:translate3d(var(--am-x), 4%, 0) scale(1.18); } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-autobg__sticky img { animation:am-auto-parallax linear both; animation-timeline:--am-auto; animation-range:cover; }
  }
}
@media (max-width:1000px) {
  .am-home .am-autobg__sticky { --am-x:0%; }
  .am-home .am-autobg__sticky::after { background:rgba(28,26,23,0.82); }
}

/* Texte hell */
.am-home .am-autobg .am-kicker { color:#D4AF7D; }
.am-home .am-autobg .am-h2, .am-home .am-autobg .am-h3 { color:#fff; }
.am-home .am-autobg .am-intro, .am-home .am-autobg .am-text, .am-home .am-autobg .am-text--lead, .am-home .am-autobg .am-rule { color:#d8d1c5; }
.am-home .am-autobg .am-rule { border-top-color:#3d372f; }
.am-home .am-autobg .am-rule strong { color:#fff; }
.am-home .am-autobg .am-fine { color:#b8b0a4; }
.am-home .am-autobg .am-iconbox--solid { background:#FFC266; color:#1C1A17; box-shadow:0 10px 30px -12px rgba(255,194,102,0.45); }
.am-home .am-autobg .am-story__step { border-left-color:#3d372f; }
.am-home .am-autobg .am-story--js .am-story__step[data-active] { border-left-color:#D4AF7D; }

/* Glas statt Flaeche: Beispiel-Bildschirm und Baustein-Leiste */
.am-home .am-autobg .am-demo { background:rgba(28,26,23,0.8); border:1px solid rgba(212,175,125,0.22); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 40px 80px -40px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.05); }
.am-home .am-autobg .am-demo__rows li + li { border-top-color:rgba(61,55,47,0.8); }
.am-home .am-autobg .am-more { background:rgba(43,38,32,0.82); border:1px solid rgba(212,175,125,0.22); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.am-home .am-autobg .am-more__list li + li { border-left-color:rgba(212,175,125,0.22); }
.am-home .am-autobg .am-more .am-tile { background:#3d372f; color:#FFC266; }
.am-home .am-autobg .am-more .am-text { color:#d8d1c5; }
@media (prefers-reduced-transparency: reduce) {
  .am-home .am-autobg .am-demo, .am-home .am-autobg .am-more { background:#1C1A17; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* === Was wir automatisieren: Scroll-Geschichte (Stufe 13) ===
   Desktop: links drei Schritte, rechts ein stehender Beispiel-Bildschirm, der zum aktiven Schritt wechselt.
   Handy: unter jedem Schritt sein eigener Bildschirm. Ohne JavaScript ist alles sofort sichtbar. */
.am-home .am-story { display:grid; grid-template-columns:1.05fr 0.95fr; gap:72px; align-items:start; margin:8px 0 64px 0; }
.am-home .am-story__steps { list-style:none; margin:0; padding:0; }
.am-home .am-story__step { display:flex; flex-direction:column; padding:6px 0 6px 28px; border-left:2px solid #e6e1d3; transition:border-color 200ms ease; }
.am-home .am-story__step + .am-story__step { margin-top:56px; }
.am-home .am-story__step .am-rule { margin-top:6px; }
.am-home .am-story__step > .am-demo { margin-top:28px; }
.am-home .am-story__stage { display:none; }

/* Beispiel-Bildschirm */
.am-home .am-demo { background:#1C1A17; border-radius:16px; overflow:hidden; box-shadow:0 40px 80px -44px rgba(138,102,48,0.55), 0 18px 36px -24px rgba(28,26,23,0.6); }
.am-home .am-demo__bar { display:flex; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid #3d372f; }
.am-home .am-demo__dots { display:flex; gap:6px; }
.am-home .am-demo__dots i { width:8px; height:8px; border-radius:50%; background:#3d372f; }
.am-home .am-demo__title { color:#d8d1c5; font-size:var(--fs-sm); font-weight:600; }
.am-home .am-demo__rows { list-style:none; margin:0; padding:6px 0; }
.am-home .am-demo__rows li { display:flex; align-items:center; gap:14px; padding:14px 20px; }
.am-home .am-demo__rows li + li { border-top:1px solid #2b2620; }
.am-home .am-demo__icon { width:36px; height:36px; border-radius:8px; background:#2b2620; color:#D4AF7D; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.am-home .am-demo__main { display:flex; flex-direction:column; min-width:0; flex:1; }
.am-home .am-demo__main strong { color:#fff; font-size:var(--fs-md); font-weight:600; font-variant-numeric:tabular-nums; }
.am-home .am-demo__main small { color:#b8b0a4; font-size:var(--fs-xs); }
.am-home .am-chip { flex-shrink:0; font-size:var(--fs-xs); font-weight:700; padding:4px 10px; border-radius:4px; background:#3d372f; color:#e8e4dc; }
.am-home .am-chip--ok { background:#FFC266; color:#1C1A17; }
.am-home .am-demo__caption { margin:0; padding:12px 20px 16px; border-top:1px solid #3d372f; color:#d8d1c5; font-size:var(--fs-xs); }

/* Mit JavaScript: Bildschirme bauen sich auf, wenn ihr Schritt aktiv wird (Eintritt langsam und gestaffelt, Austritt schnell) */
.am-home .am-story--js .am-demo__rows li { opacity:0; transform:translateY(8px); transition:opacity 150ms ease, transform 150ms ease; }
.am-home .am-story--js .am-chip { opacity:0; transform:scale(0.9); transition:opacity 150ms ease, transform 150ms ease; }
.am-home .am-story--js .am-demo[data-active] .am-demo__rows li { opacity:1; transform:none; transition:opacity 250ms var(--ease-out), transform 250ms var(--ease-out); transition-delay:calc(var(--n) * 70ms + 120ms); }
.am-home .am-story--js .am-demo[data-active] .am-chip { opacity:1; transform:none; transition:opacity 200ms var(--ease-out), transform 200ms var(--ease-out); transition-delay:calc(var(--n) * 70ms + 300ms); }
.am-home .am-story--js .am-story__step[data-active] { border-left-color:#B08542; }

@media (min-width:1001px) {
  .am-home .am-story--js .am-story__step { min-height:50vh; justify-content:center; }
  .am-home .am-story--js .am-story__step:first-child { justify-content:flex-start; }
  .am-home .am-story--js .am-story__step + .am-story__step { margin-top:0; }
  .am-home .am-story--js .am-story__step > .am-demo { display:none; }
  .am-home .am-story--js .am-story__stage { display:block; position:sticky; top:18vh; min-height:360px; }
  .am-home .am-story--js .am-story__stage .am-demo { position:absolute; top:0; left:0; right:0; opacity:0; transform:translateY(12px) scale(0.98); transition:opacity 150ms ease, transform 150ms ease; }
  .am-home .am-story--js .am-story__stage .am-demo[data-active] { opacity:1; transform:none; transition:opacity 250ms var(--ease-out), transform 250ms var(--ease-out); }
}
@media (max-width:1000px) {
  .am-home .am-story { grid-template-columns:1fr; gap:0; }
}

/* Weitere Bausteine: ruhige Leiste statt Einzelkarten */
.am-home .am-more { background:#f3e9da; border-radius:16px; padding:32px 12px; }
.am-home .am-more__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); }
.am-home .am-more__list li { padding:4px 22px; }
.am-home .am-more__list li + li { border-left:1px solid rgba(138,102,48,0.25); }
.am-home .am-more .am-tile { background:#fff; }
.am-home .am-more .am-badge { background:#fff; }
@media (max-width:1000px) {
  .am-home .am-more__list { grid-template-columns:repeat(2, 1fr); row-gap:28px; }
  .am-home .am-more__list li:nth-child(odd) { border-left:0; }
}
@media (max-width:620px) {
  .am-home .am-more__list { grid-template-columns:1fr; }
  .am-home .am-more__list li { border-left:0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .am-home .am-story--js .am-demo__rows li, .am-home .am-story--js .am-chip, .am-home .am-story--js .am-story__stage .am-demo { transform:none !important; transition:opacity 150ms ease !important; transition-delay:0s !important; }
}

/* Hero-Beispielkarte: Schritte haken sich beim Scrollen nacheinander ab.
   Zweck: Erklaerung (Ablauf eines Wochenendes). Reines CSS, nur opacity und transform,
   linear an den Scrollweg gekoppelt. Ohne Unterstuetzung oder bei reduzierter Bewegung
   bleibt die Karte im Endzustand (alle Schritte abgehakt, wie bisher). */
.am-home .am-herocard .am-dot--done { position:relative; background:#3d372f; }
.am-home .am-herocard .am-dot--done::before { content:""; position:absolute; inset:0; border-radius:50%; background:#FFC266; }
.am-home .am-herocard .am-dot svg { position:relative; }
@keyframes am-abhaken { from { opacity:0; transform:scale(0.6); } to { opacity:1; transform:none; } }
@keyframes am-aufhellen { from { opacity:0.7; } to { opacity:1; } }
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .am-home .am-herocard .am-dot svg, .am-home .am-herocard .am-dot--done::before { animation:am-abhaken linear both; }
    .am-home .am-herocard .am-steps-list li > span:last-child { animation:am-aufhellen linear both; }
    /* Desktop: Karte steht beim Laden im Bild; erster Schritt ist schon erledigt, die anderen folgen zuegig auf den ersten 17 % Scrollweg */
    @media (min-width:1001px) {
      .am-home .am-herocard .am-steps-list li:first-child * , .am-home .am-herocard .am-steps-list li:first-child > span:last-child, .am-home .am-herocard .am-steps-list li:first-child .am-dot::before { animation:none; }
      .am-home .am-herocard .am-steps-list li svg, .am-home .am-herocard .am-steps-list li > span:last-child, .am-home .am-herocard .am-dot--done::before { animation-timeline:scroll(root); }
      .am-home .am-herocard .am-steps-list li:nth-child(2) svg, .am-home .am-herocard .am-steps-list li:nth-child(2) > span:last-child, .am-home .am-herocard .am-steps-list li:nth-child(2) .am-dot::before { animation-range:3vh 7vh; }
      .am-home .am-herocard .am-steps-list li:nth-child(3) svg, .am-home .am-herocard .am-steps-list li:nth-child(3) > span:last-child, .am-home .am-herocard .am-steps-list li:nth-child(3) .am-dot::before { animation-range:8vh 12vh; }
      .am-home .am-herocard .am-steps-list li:nth-child(4) svg, .am-home .am-herocard .am-steps-list li:nth-child(4) > span:last-child, .am-home .am-herocard .am-steps-list li:nth-child(4) .am-dot::before { animation-range:13vh 17vh; }
    }
    /* Handy/Tablet: Karte liegt unter den Buttons; jeder Schritt hakt sich ab, sobald er im unteren Viertel des Bildschirms auftaucht */
    @media (max-width:1000px) {
      .am-home .am-herocard .am-steps-list li svg, .am-home .am-herocard .am-steps-list li > span:last-child, .am-home .am-herocard .am-dot--done::before { animation-timeline:view(); animation-range:cover 8% cover 22%; }
    }
  }
}

/* Mobile Ueberschriften der Startseite auf der Skala (globale Regeln fuer Unterseiten bleiben) */
@media (max-width:1000px) {
  .am-home h1 { font-size:var(--fs-3xl) !important; }
  .am-home h2 { font-size:var(--fs-2xl) !important; }
}
@media (max-width:620px) {
  .am-home [data-r=headcta] { font-size:var(--fs-sm) !important; }
}

/* === Stufe 22: Weitere Leistungen, Datenschutz-Link, schraeger Strich === */
.am-home .am-more-kopf { text-align:center; margin:44px 0 18px 0; }
.am-home .am-more-kopf__titel { margin:0 0 4px 0; }
.am-home .am-more-kopf__text { margin:0; color:#5c554c; }
.am-home .am-autobg .am-more-kopf__titel { color:#fff; }
.am-home .am-autobg .am-more-kopf__text { color:#d8d1c5; }
.am-home .am-more__link { display:block; height:100%; color:inherit; text-decoration:none; border-radius:10px; }
.am-home .am-more__link .am-h3 { transition:color 160ms ease; }
@media (hover: hover) and (pointer: fine) {
  .am-home .am-more__link:hover .am-h3 { color:#8a6630; }
  .am-home .am-autobg .am-more__link:hover .am-h3 { color:#FFC266; }
}
.am-home .am-more__link:focus-visible { outline:2px solid #FFC266; outline-offset:4px; }
.am-home .am-more-mehr { text-align:center; margin:18px 0 0 0; }
.am-home .am-more-mehr a, .am-home .am-ds-mehr a { font-size:var(--fs-md); font-weight:600; color:#FFC266; text-decoration:underline; text-decoration-color:rgba(255,194,102,0.45); text-underline-offset:5px; }
.am-home .am-ds-mehr { text-align:center; margin:26px 0 0 0; }

/* Was wir nicht uebernehmen: schraeger Strich, je Textzeile einzeln, nacheinander ausgeloest.
   Der Strich ist ein geneigter Farbstreifen im Hintergrund, der von links nach rechts aufgezogen wird. */
.am-home .am-strike { background-image:linear-gradient(-3.5deg, transparent calc(50% - 1px), #B08542 calc(50% - 1px), #B08542 calc(50% + 1px), transparent calc(50% + 1px)); background-repeat:no-repeat; background-position:0 58%; background-size:0% 74%; -webkit-box-decoration-break:clone; box-decoration-break:clone; transition:background-size 550ms cubic-bezier(0.22,0.61,0.36,1); }
.am-home .am-strike.is-struck { background-size:100% 74%; }
@supports (animation-timeline: view()) {
  .am-home .am-strikelist li .am-strike { animation:none; }
}
@media (prefers-reduced-motion: reduce) {
  .am-home .am-strike { background-size:100% 74%; transition:none; }
}

/* === Stufe 21: mehr Hoehe im Abschluss, damit das Buero-Bild ganz zu sehen ist === */
.am-home .am-autobg--short { padding-top:230px; padding-bottom:240px; }
.am-home .am-autobg--short .am-autobg__photo { top:-16%; height:132%; }
.am-home .am-autobg--short .am-autobg__photo img { object-position:center 50%; }
@media (max-width:1000px) {
  .am-home .am-autobg--short { padding-top:130px; padding-bottom:140px; }
}

/* === Stufe 24: Ratenziffern, Teambild, Zustaendigkeiten === */
/* Die Ziffern sind exakt wie die Bereichsnummern der Loesungsseite gesetzt. */
.am-home .am-raten2 { margin:72px 0 34px 0; }
.am-home .am-raten2__reihe { display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,4vw,56px); }
.am-home .am-raten2__block + .am-raten2__block { border-left:1px solid #3d372f; padding-left:clamp(20px,4vw,56px); }
.am-home .am-raten2__nr { display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(56px,7vw,96px); line-height:1; letter-spacing:-0.02em; color:transparent; -webkit-text-stroke:1.5px #e0d5be; }
.am-home .am-raten2__zeile { margin:6px 0 0 0; font-family:'Manrope',sans-serif; font-weight:700; font-size:var(--fs-lg); line-height:1.35; color:#1C1A17; }
.am-home .am-raten2__klein { margin:22px 0 0 0; font-size:var(--fs-sm); line-height:1.6; color:#5c554c; }
@media (max-width:640px) {
  .am-home .am-raten2 { margin-top:52px; }
  .am-home .am-raten2__reihe { grid-template-columns:1fr; }
  .am-home .am-raten2__block + .am-raten2__block { border-left:0; border-top:1px solid #3d372f; padding-left:0; padding-top:20px; }
}


/* Zustaendigkeiten unter den Profilen */
.am-home .am-zust__kopf { margin:14px 0 2px 0; font-size:var(--fs-xs); font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:#8a6630; }
.am-home .am-zust__text { margin:0; font-size:var(--fs-sm); line-height:1.6; color:#5c554c; }

/* === Stufe 25: gelieferte Zeichen im Hero, neuer Zwischenkopf === */
/* Die Zeichen leuchten golden auf Schwarz; "screen" blendet das Schwarz aus,
   damit kein Kasten um das Bild steht. */
.am-home .am-heroicon { display:block; width:54px; height:54px; margin:-4px 0 10px -4px; line-height:0; }
.am-home .am-heroicon img { width:100%; height:100%; object-fit:contain; mix-blend-mode:screen; }
@media (prefers-reduced-transparency: reduce) {
  .am-home .am-heroicon img { mix-blend-mode:normal; }
}

/* Zwischenkopf vor den Produktkacheln */
.am-home .am-wende { max-width:760px; margin:52px auto 26px; text-align:center; }
.am-home .am-wende__linie { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:22px; }
.am-home .am-wende__linie span { display:block; width:min(150px, 22vw); height:1px; background:linear-gradient(to right, rgba(212,175,125,0), rgba(212,175,125,0.55)); }
.am-home .am-wende__linie span:last-child { background:linear-gradient(to left, rgba(212,175,125,0), rgba(212,175,125,0.55)); }
.am-home .am-wende__linie i { display:block; width:7px; height:7px; border:1px solid #D4AF7D; transform:rotate(45deg); }
.am-home .am-wende__titel { margin:0 0 8px 0; font-family:'Manrope',sans-serif; font-weight:800; font-size:var(--fs-2xl); line-height:1.2; letter-spacing:-0.01em; color:#fff; text-wrap:balance; }
.am-home .am-wende__claim { margin:0 0 20px 0; font-family:'Instrument Serif',serif; font-style:italic; font-size:var(--fs-xl); line-height:1.35; color:#FFC266; text-wrap:balance; }
.am-home .am-wende__platte { background:rgba(28,26,23,0.78); border:1px solid rgba(212,175,125,0.22); border-radius:14px; padding:18px 22px; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.am-home .am-wende__intro { margin:0; font-size:var(--fs-md); line-height:1.75; color:#e2dbcf; text-align:left; text-wrap:pretty; }
@media (prefers-reduced-transparency: reduce) {
  .am-home .am-wende__platte { background:#1C1A17; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media (max-width:640px) {
  .am-home .am-wende { margin-top:38px; }
  .am-home .am-wende__platte { padding:16px 18px; }
}

/* === Stufe 26: Zahlungsangabe als schlanke Leiste === */
.am-home .am-raten3 { margin:44px 0 30px 0; }
.am-home .am-raten3__leiste { display:flex; align-items:center; gap:10px; }
.am-home .am-raten3__spur { flex:1; height:3px; border-radius:2px; background:#e0d5be; overflow:hidden; }
.am-home .am-raten3__fuellung { display:block; height:100%; width:100%; background:#FFC266; transform-origin:left; }
.am-home .am-raten3__marke { width:11px; height:11px; border-radius:50%; background:#FFC266; box-shadow:0 0 0 4px rgba(255,194,102,0.22); flex-shrink:0; }
.am-home .am-raten3__zeilen { display:flex; justify-content:space-between; gap:16px; margin-top:12px; }
.am-home .am-raten3__zeile { margin:0; font-size:var(--fs-md); line-height:1.4; color:#5c554c; }
.am-home .am-raten3__zeile strong { display:block; font-family:'Manrope',sans-serif; font-weight:800; font-size:var(--fs-xl); line-height:1.15; color:#1C1A17; }
.am-home .am-raten3__zeile--rechts { text-align:right; }
.am-home .am-raten3__klein { margin:16px 0 0 0; text-align:left; font-size:var(--fs-sm); line-height:1.6; color:#6b635a; }
/* Die goldene Haelfte zieht sich beim Scrollen auf, die Marke setzt sich danach */
@keyframes am-rate-auf { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes am-rate-marke { from { transform:scale(0.2); opacity:0; } to { transform:none; opacity:1; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    /* Zeitachse haengt am ganzen Block, nicht am 3 Pixel hohen Balken */
    .am-home .am-raten3 { view-timeline-name:--am-rate; }
    .am-home .am-raten3__fuellung { animation:am-rate-auf var(--ease-out) both; animation-timeline:--am-rate; animation-range:entry 20% cover 48%; }
    .am-home .am-raten3__marke { animation:am-rate-marke var(--ease-out) both; animation-timeline:--am-rate; animation-range:entry 90% cover 50%; }
  }
}
@media (max-width:620px) {
  .am-home .am-raten3 { margin-top:34px; }
  .am-home .am-raten3__zeilen { flex-direction:column; gap:10px; }
  .am-home .am-raten3__zeile--rechts { text-align:left; }
}
/* === Ende Startseite-Bausteine === */
