/* ============================================================
   MAXsolutions — Design 2026 · „Austria Guide Editorial"
   Richtung: Austria-Guide-Cover + Premium-Editorial-Corporate
   Serifen-Display, kantige Karten, malerische Wien-Illustrationen
   Rot #BC0B1D · Ink #20211F · Warm-Weiß
   ============================================================ */

/* ---------- Schriften (lokal, DSGVO-konform) ---------- */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/public-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/public-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/public-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/public-sans-latin-700-normal.woff2') format('woff2')}
/* Kyrillisch (RU) und Devanagari (HI): Noto Sans als Ergänzung derselben Familie per unicode-range */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/noto-sans-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/noto-sans-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/noto-sans-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/noto-sans-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/noto-sans-devanagari-devanagari-400-normal.woff2') format('woff2');
  unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/noto-sans-devanagari-devanagari-500-normal.woff2') format('woff2');
  unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/noto-sans-devanagari-devanagari-600-normal.woff2') format('woff2');
  unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/noto-sans-devanagari-devanagari-700-normal.woff2') format('woff2');
  unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}

/* ---------- Grundwerte ---------- */
:root{
  --rot:#bc0b1d; --rot-dunkel:#a30919; --rot-hell:#ff9099;
  --ink:#20211f; --graphit:#20211f; --graphit-tief:#191a18;
  --grau-text:#4e514d; --muted:#747872; --logo-grau:#8f928b;
  --linie:#dedfdb; --soft:#f5f4f1; --warm:#faf8f5; --hellgrau:#f5f4f1; --weiss:#fff;
  --display:Georgia,'Times New Roman',serif;
  --text:'Public Sans',Arial,Helvetica,sans-serif;
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--text);color:var(--ink);background:#fff;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
h4{color:var(--ink)}
h2{font-size:clamp(32px,3.8vw,50px);letter-spacing:-.025em}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(var(--maxw),calc(100% - 48px));margin:auto}
:focus-visible{outline:2px solid var(--rot);outline-offset:3px}
.dunkel :focus-visible{outline-color:#fff}

/* Kicker */
.kicker{display:flex;align-items:center;gap:12px;color:var(--rot);font-size:12px;
  font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.kicker::before{content:"";display:inline-block;width:30px;height:2px;background:var(--rot);flex:0 0 auto}
.dunkel .kicker{color:var(--rot-hell)}
.dunkel .kicker::before{background:var(--rot-hell)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-height:48px;padding:0 23px;text-decoration:none;font-weight:700;font-size:14px;
  font-family:var(--text);border:1px solid var(--ink);transition:.2s ease;background:#fff;color:var(--ink)}
.btn::after{content:"→"}
.btn-rot{color:#fff;background:var(--rot);border-color:var(--rot)}
.btn-rot:hover{background:var(--rot-dunkel);border-color:var(--rot-dunkel)}
.btn-linie{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn-linie:hover{border-color:#fff}
.btn-linie-dunkel{background:#fff}
.btn-linie-dunkel:hover{border-color:var(--rot);color:var(--rot)}
.btn-weiss{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}
.btn-weiss:hover{color:var(--rot)}

/* ---------- Navigation ---------- */
header.site{background:#fff;border-bottom:1px solid var(--linie);position:sticky;top:0;z-index:100}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{flex:0 0 auto;text-decoration:none;font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.05;display:flex;align-items:center}
.brand img{display:block;height:44px;width:auto}
@media(max-width:620px){.brand img{height:36px}}
.brand strong{color:var(--rot);font-weight:800}
.brand small{display:block;margin-top:-1px;font-size:8px;font-weight:700;letter-spacing:.17em;
  color:var(--muted);text-transform:uppercase}
.menu{display:flex;align-items:center;gap:22px;list-style:none}
.menu>li{position:relative}
.menu a{text-decoration:none;font-size:13px;font-weight:700;color:var(--ink);
  padding:8px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s}
.menu a:hover{color:var(--rot)}
.menu>li>a.aktiv{color:var(--rot);border-bottom-color:var(--rot)}
.menu .sub{position:absolute;top:100%;left:0;min-width:280px;background:#fff;
  border:1px solid var(--linie);box-shadow:0 8px 24px rgba(0,0,0,.08);
  list-style:none;padding:8px 0;display:none}
.menu li:hover .sub,.menu li:focus-within .sub{display:block}
.menu .sub a{display:block;padding:11px 22px;font-size:14px;font-weight:500;
  color:var(--grau-text);border-bottom:0;transition:background .12s,color .12s}
.menu .sub a:hover{background:var(--soft);color:var(--rot-dunkel)}
.menu a.navbtn{display:inline-flex;align-items:center;gap:12px;background:var(--rot);
  color:#fff !important;padding:12px 20px;font-weight:700;font-size:13px;
  border-bottom:0 !important;transition:background .15s}
.menu a.navbtn::after{content:"→"}
.menu a.navbtn:hover{background:var(--rot-dunkel)}
.menu>li:has(>.sub)>a::after{content:" ▾";font-size:9px;opacity:.55;vertical-align:1px}
.burger{display:none;background:none;border:1px solid var(--linie);
  padding:9px 12px;font-size:18px;line-height:1;cursor:pointer;color:var(--ink)}

/* ---------- Hero (Startseite, Split) ---------- */
.hero{overflow:hidden;border-bottom:1px solid var(--linie)}
.hero-grid{min-height:640px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:stretch}
.hero-copy{padding:84px 54px 68px max(24px,calc((100vw - var(--maxw))/2));
  display:flex;flex-direction:column;justify-content:center;background:#fff;position:relative;z-index:2}
.hero-copy h1{max-width:670px;font-size:clamp(44px,5vw,74px);text-transform:uppercase;margin-bottom:26px}
.hero-copy h1 span{display:block;color:var(--rot)}
.hero-copy .intro{max-width:550px;font-family:var(--display);font-size:22px;line-height:1.35;margin-bottom:16px}
.hero-copy .sub{max-width:550px;font-size:16px;color:var(--grau-text);margin-bottom:28px}
.aktionen{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-note{margin-top:18px;font-size:13px;font-weight:700;color:var(--muted)}
.hero-image{min-height:640px;position:relative;background:var(--soft)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.12) 23%,transparent 48%)}
.hero-ort{position:absolute;right:18px;bottom:18px;background:rgba(32,33,31,.8);color:#fff;
  font-size:12.5px;font-weight:600;padding:9px 14px;display:inline-flex;gap:8px;align-items:center;z-index:2}
.hero-ort::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rot)}

/* ---------- Trust ---------- */
.trust{border-bottom:1px solid var(--linie);background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:26px 28px;border-right:1px solid var(--linie)}
.trust-item:last-child{border-right:0}
.trust-item b{display:block;margin-bottom:3px;font-size:14px}
.trust-item span{font-size:13px;color:var(--muted)}

/* ---------- Abschnitte ---------- */
.abschnitt{padding:96px 0}
.abschnitt.grau{background:var(--soft)}
.abschnitt.warm{background:var(--warm)}
.abschnitt h2{margin:0 0 20px}
.abschnitt .unter{color:var(--grau-text);max-width:64ch;margin-bottom:48px;font-size:17px;line-height:1.6}
.section-head{margin-bottom:54px;max-width:820px}
.section-head p{margin-top:18px;color:var(--grau-text);font-size:17px;max-width:58ch}

/* ---------- Journey (5 Schritte) ---------- */
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.j-step{text-align:center;padding:8px}
.j-nr{width:74px;height:74px;border:1px solid #d8cbc5;border-radius:50%;margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;color:var(--rot);
  font-family:var(--display);font-size:26px}
.j-title{font-size:15px;font-weight:700;margin-bottom:8px}
.j-desc{color:var(--muted);font-size:13px;line-height:1.5}

/* ---------- Pakete (Karten) ---------- */
.pakete{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.pakete.zwei{grid-template-columns:1fr 1fr;max-width:920px}
.paket{border:1px solid var(--linie);padding:34px 30px;background:#fff;
  display:flex;flex-direction:column;position:relative}
.paket.mitte,.paket.hervor{border-top:4px solid var(--rot)}
.paket-badge{position:absolute;top:-1px;right:24px;background:var(--rot);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px}
.paket h3{font-size:29px;margin-bottom:4px}
.paket .plabel{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;
  color:var(--rot);margin-bottom:7px}
.paket .ppos{color:var(--muted);font-size:15px;margin:4px 0 4px;line-height:1.45}
.paket .preis{font-family:var(--display);color:var(--rot);font-size:15px;margin:14px 0 0}
.paket .preis b{font-size:36px;font-weight:700;line-height:1;letter-spacing:-.01em}
.paket .pnote{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.55}
.paket .plus{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--rot);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);
  padding:13px 0;margin:18px 0;font-family:var(--text)}
.paket ul{list-style:none;display:grid;gap:12px;font-size:14px;color:var(--grau-text)}
.paket ul li{padding-left:24px;position:relative;line-height:1.5}
.paket ul li::before{content:"✓";position:absolute;left:0;color:var(--rot);font-weight:800}
.paket h4{font-family:var(--text);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:800;color:var(--muted);margin:22px 0 10px}
.paket .ergebnis{margin-top:16px;padding:13px 16px;background:var(--soft);
  font-size:13.5px;font-weight:600;color:var(--ink)}
.paket .phonorar{margin-top:auto;padding-top:18px;border-top:1px solid var(--linie);
  font-size:13.5px;font-weight:600;color:var(--ink)}
.paket .btn{margin-top:18px;width:100%}
.paket .pfuss{margin-top:12px;font-size:13px;color:var(--muted)}
.paket.premium{background:var(--ink);color:#d7d8d5;border-color:var(--ink)}
.paket.premium h3,.paket.premium .preis,.paket.premium .preis b{color:#fff}
.paket.premium .plabel{color:var(--rot-hell)}
.paket.premium .ppos,.paket.premium .pnote,.paket.premium .pfuss{color:#c8cbc5}
.paket.premium ul{color:#d7d8d5}
.paket.premium ul li::before{color:var(--rot-hell)}
.paket.premium .plus{border-color:#444;color:var(--rot-hell)}
.paket.premium h4{color:#a9aca6}
.paket.premium .ergebnis{background:rgba(255,255,255,.07);color:#e7e8e5}
.paket.premium .phonorar{color:#e7e8e5;border-top-color:#444}
.paket.premium .btn-linie-dunkel{background:#fff}
.paket.premium .pnote strong{color:#e7e8e5}

/* Ablauf-Pills */
.ablauf3{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 10px}
.ablauf3 .schritt{display:inline-flex;align-items:center;gap:10px;background:#fff;
  border:1px solid var(--linie);padding:12px 18px;font-size:14px;font-weight:600;color:var(--ink)}
.ablauf3 .schritt i{font-style:normal;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--rot);color:var(--rot);font-family:var(--display);
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.ablauf3 .pfeil{color:var(--rot);font-weight:700;font-size:18px}

/* ---------- Seitenkopf (Unterseiten, hell + Illustration) ---------- */
.kopf{background:#fff;border-bottom:1px solid var(--linie);overflow:hidden}
.kopf .kopf-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;min-height:380px}
.kopf .kopf-copy{padding:64px 48px 56px max(24px,calc((100vw - var(--maxw))/2));
  display:flex;flex-direction:column;justify-content:center}
.kopf .pfad{font-size:12.5px;color:var(--muted);letter-spacing:.06em;margin-bottom:18px}
.kopf .pfad a{color:var(--muted);text-decoration:none;transition:color .15s}
.kopf .pfad a:hover{color:var(--rot)}
.kopf h1{font-size:clamp(34px,3.8vw,52px);max-width:22ch}
.kopf p.intro{margin-top:18px;font-size:17px;color:var(--grau-text);max-width:60ch;line-height:1.6}
.kopf-bild{position:relative;min-height:300px;background:var(--soft)}
.kopf-bild img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.kopf-bild::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.1) 26%,transparent 50%)}
.kopf.schlicht{padding:64px 0 56px}
.kopf.schlicht h1{max-width:none}
.mini-verfahren{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.mini-verfahren span{font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--muted);
  border:1px solid var(--linie);padding:6px 14px}
.mini-verfahren span.hier{background:var(--rot);border-color:var(--rot);color:#fff}

/* ---------- Karten ---------- */
.karten{display:grid;gap:24px}
.karten.zwei{grid-template-columns:1fr 1fr}
.karten.drei{grid-template-columns:repeat(3,1fr)}
.karte{background:#fff;border:1px solid var(--linie);padding:34px 30px;
  display:flex;flex-direction:column;gap:13px}
.karte.hell{background:#fff}
.karte:hover{border-color:#c9cac5}
.karte h3{font-size:24px;margin-bottom:2px}
.karte p{font-size:15px;color:var(--grau-text);flex:1;line-height:1.6}
.karte .mehr{font-size:12.5px;font-weight:800;color:var(--rot-dunkel);text-decoration:none;
  letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;
  border-bottom:2px solid var(--rot);padding-bottom:3px;transition:color .15s}
.karte .mehr:hover{color:var(--rot)}
.karte .knr{font-family:var(--display);font-size:15px;color:var(--rot);letter-spacing:.02em}
.karte .pfuss{font-size:13px;color:var(--muted);flex:none}

/* Prüflisten */
.pruefliste{list-style:none;display:grid;gap:11px}
.pruefliste li{padding-left:26px;position:relative;font-size:15px;color:var(--grau-text)}
.pruefliste li::before{content:"✓";position:absolute;left:0;color:var(--rot);font-weight:800}
.pruefliste li b{color:var(--ink)}

/* Kennzahlen */
.zahlenband{background:var(--soft);padding:64px 0;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.zahlen-reihe{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.zahl b{display:block;font-family:var(--display);font-size:46px;font-weight:700;
  color:var(--ink);line-height:1}
.zahl b i{font-style:normal;color:var(--rot)}
.zahl span{display:block;margin-top:10px;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);font-weight:700}
.stand{margin-top:24px;font-size:13px;color:var(--muted)}
.dunkel .stand{color:#a9aca6}

/* Tabellen */
.tabelle{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.tabelle th{text-align:left;font-family:var(--text);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:2px solid var(--ink)}
.tabelle td{padding:14px 16px;border-bottom:1px solid var(--linie);vertical-align:top}
.tabelle td:first-child{font-weight:600}
.tabelle .wert{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Hinweise */
.hinweis{background:#fdf0f1;border-left:4px solid var(--rot);padding:18px 22px;
  font-size:14.5px;color:#5a1218;margin:28px 0 0}
.hinweis.neutral{background:var(--soft);border-left-color:var(--logo-grau);color:var(--grau-text)}

/* ---------- Bänder ---------- */
.band{background:var(--ink);color:#fff;padding:72px 0}
.band h2{color:#fff;margin-bottom:14px}
.band h2 em{font-style:normal;color:var(--rot-hell)}
.band p{color:#c8cbc5;max-width:56ch;margin-bottom:30px;font-size:16px;line-height:1.6}
.band.rot{background:var(--rot);padding:55px 0}
.band.rot h2{font-size:clamp(28px,3vw,38px)}
.band.rot p{color:#fadcdf;margin-bottom:0}
.band-flex{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.band-flex p{margin-bottom:0}

/* Verfahrensleiste (dunkel) */
.verfahren{background:var(--ink);color:#fff;padding:72px 0}
.verfahren .vkopf{display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:44px;gap:24px;flex-wrap:wrap}
.verfahren h2{font-size:clamp(26px,2.8vw,36px);color:#fff}
.verfahren .vkopf p{max-width:46ch;font-size:15px;color:#a9aca6}
.leiste{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}
.faden{position:absolute;top:26px;left:7%;right:7%;height:1px;background:rgba(255,255,255,.2)}
.faden i{position:absolute;top:0;bottom:0;left:0;width:0;background:var(--rot);display:block;transition:width 1.2s ease-out}
.leiste.an .faden i{width:100%}
.station{position:relative;padding:0 20px 0 0}
.station .nr{width:52px;height:52px;border-radius:50%;border:1px solid var(--rot-hell);
  color:var(--rot-hell);background:var(--ink);display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:22px;margin-bottom:18px;position:relative;z-index:2}
.station h3{font-family:var(--text);font-size:16px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:0}
.station p{font-size:14px;color:#a9aca6;margin-bottom:10px}
.dauer{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;
  color:var(--rot-hell);font-variant-numeric:tabular-nums}

/* ---------- Phase-1-Block ---------- */
.phase1-block{border:1px solid var(--linie);border-top:4px solid var(--rot);
  padding:38px 36px;max-width:680px;background:#fff;margin-top:36px}
.phase1-preis{display:flex;align-items:baseline;gap:10px;margin:18px 0 6px}
.phase1-preis .betrag{font-family:var(--display);font-size:44px;font-weight:700;
  color:var(--rot);line-height:1;letter-spacing:-.02em}
.phase1-preis .einheit{font-size:14px;color:var(--muted)}
.phase1-anrechnung{display:inline-flex;align-items:center;gap:8px;margin-top:12px;
  font-size:13px;font-weight:700;color:var(--rot-dunkel);background:#fdf0f1;padding:8px 14px}
.phase1-anrechnung::before{content:"✓";font-weight:800}
.phase1-block .plabel{text-transform:uppercase;letter-spacing:.14em;font-size:11px;
  font-weight:800;color:var(--rot);margin-bottom:7px}
.phase1-block .pnote{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.phase1-block .pfuss{font-size:13px;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:0;max-width:860px}
.faq details{background:#fff;border:1px solid var(--linie)}
.faq details+details{margin-top:-1px}
.faq summary{cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-family:var(--display);font-size:18px;font-weight:700;color:var(--ink);transition:color .15s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:24px;top:26px;width:9px;height:9px;
  border-right:2px solid var(--rot);border-bottom:2px solid var(--rot);
  transform:rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(-135deg);top:29px}
.faq summary:hover{color:var(--rot-dunkel)}
.faq summary:focus-visible{outline:2px solid var(--rot);outline-offset:-2px}
.faq details p{padding:0 22px 20px;font-size:15px;color:var(--grau-text);max-width:70ch;line-height:1.6}
.faq .dbody{padding:0 22px 22px}
.faq .dbody p{padding:0;margin:0 0 12px;font-size:15px;color:var(--grau-text);max-width:70ch;line-height:1.6}
.faq .dbody p:last-child{margin-bottom:0}
.faq .dbody ul{list-style:none;display:grid;gap:8px;font-size:14px;color:var(--grau-text);margin:0 0 12px}
.faq .dbody ul li{padding-left:20px;position:relative}
.faq .dbody ul li::before{content:"—";position:absolute;left:0;color:var(--rot)}

/* ---------- Referenzen ---------- */
.reffilter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.reffilter button{font-family:var(--text);font-size:13px;font-weight:600;padding:9px 16px;
  border:1px solid var(--linie);background:#fff;cursor:pointer;color:var(--ink);
  transition:background .15s,color .15s,border-color .15s}
.reffilter button.an{background:var(--ink);border-color:var(--ink);color:#fff}
.refland{margin:34px 0 12px;font-family:var(--display);font-size:17px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--rot-dunkel)}
.refgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.refkarte{background:#fff;border:1px solid var(--linie);padding:22px 20px 18px}
.refkarte:hover{border-color:#c9cac5}
.refkarte .rkat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.refkarte h4{font-family:var(--display);font-size:18px;margin:8px 0 5px}
.refkarte p{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.refkarte .eigen{display:inline-block;margin-top:8px;font-size:10px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rot-dunkel);
  border:1px solid var(--rot-hell);padding:3px 10px}

/* ---------- Zeitleiste ---------- */
.zeitleiste{list-style:none;position:relative;padding-left:26px}
.zeitleiste::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:var(--linie)}
.zeitleiste li{position:relative;padding:0 0 24px 18px}
.zeitleiste li::before{content:"";position:absolute;left:-26px;top:7px;width:13px;height:13px;
  border-radius:50%;background:#fff;border:3px solid var(--rot)}
.zeitleiste .zj{font-family:var(--display);font-weight:700;font-size:14px;color:var(--rot-dunkel);
  letter-spacing:.04em;font-variant-numeric:tabular-nums}
.zeitleiste b{display:block;font-size:15px}
.zeitleiste span{font-size:14px;color:var(--muted)}

/* ---------- Kooperationen ---------- */
.koop{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.koopkarte{background:#fff;border:1px solid var(--linie);padding:32px 30px}
.koopkarte:hover{border-color:#c9cac5}
.koopkarte .klogo{height:40px;display:flex;align-items:center;margin-bottom:18px}
.koopkarte .klogo img{max-height:36px;width:auto}
.koopkarte h3{font-size:24px;margin-bottom:4px}
.koopkarte .krolle{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:800;color:var(--rot-dunkel);margin-bottom:14px}
.koopkarte p{font-size:15px;color:var(--grau-text);line-height:1.6}
.koopkarte a.mehr{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:800;
  color:var(--rot-dunkel);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:2px solid var(--rot);padding-bottom:3px;transition:color .15s}
.banklogos{display:flex;gap:34px;align-items:center;flex-wrap:wrap;margin-top:22px}
.banklogos img{height:26px;width:auto;opacity:.75}

/* ---------- Formular ---------- */
.formular{display:grid;gap:20px;max-width:720px}
.formular .zeile{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feld label{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;color:var(--ink)}
.feld input,.feld select,.feld textarea{width:100%;font-family:var(--text);font-size:15px;
  padding:13px 14px;border:1px solid var(--linie);background:#fff;color:var(--ink);
  transition:border-color .15s,outline .15s}
.feld input:focus,.feld select:focus,.feld textarea:focus{outline:2px solid var(--rot);outline-offset:0;border-color:var(--rot)}
.feld .pflicht{color:var(--rot)}
.einschaetzung{background:var(--soft);padding:18px 22px;font-size:14.5px;display:none}
.einschaetzung.da{display:block}
.einschaetzung b{color:var(--rot-dunkel)}
.zusatzfelder{display:grid;gap:20px}
.zusatzfelder[hidden]{display:none}
.formstatus{font-size:14px;color:var(--muted)}
.formstatus:empty{display:none}
.formstatus.fehler{color:var(--rot-dunkel);font-weight:600}
.feld.auswahl{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start}
.feld.auswahl input{width:19px;height:19px;margin-top:2px;accent-color:var(--rot);flex:0 0 auto}
.feld.auswahl label{margin:0;font-size:14.5px;font-weight:400;letter-spacing:0;line-height:1.5}
.feld.auswahl label a{color:var(--rot-dunkel);font-weight:600}
button.btn{cursor:pointer}

/* ---------- Kontaktdaten ---------- */
.kontaktgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
.kdaten{display:grid;gap:4px;font-size:15px;overflow-wrap:anywhere}
.kdaten b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:18px;display:block}
.kdaten a{color:var(--rot-dunkel);text-decoration:none;font-weight:600;transition:color .15s}
.kdaten a:hover{color:var(--rot)}

/* ---------- Startseiten-Sektionen ---------- */
.service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.service-feature{background:#fff;border:1px solid var(--linie);padding:38px}
.service-feature h3{font-size:32px;margin-bottom:16px}
.service-feature p{color:var(--grau-text)}
.service-feature .mehr{display:inline-block;margin-top:18px;font-size:12.5px;font-weight:800;
  color:var(--rot-dunkel);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:2px solid var(--rot);padding-bottom:3px}
.mini-services{display:grid;gap:0}
.mini-service{background:transparent;border-bottom:1px solid var(--linie);padding:20px 0}
.mini-service b{display:block;margin-bottom:5px;font-size:15px}
.mini-service span{color:var(--muted);font-size:14px}

.discovery{background:#f8f4ef}
.discovery-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;align-items:center}
.discovery-image{height:520px}
.discovery-image img{width:100%;height:100%;object-fit:cover}
.discovery-copy h2{margin-bottom:20px}
.discovery-copy>p{color:var(--grau-text);margin-bottom:30px}
.discovery-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.discovery-card{border:1px solid #dacfc7;background:#fff;padding:24px}
.discovery-card b{display:block;text-transform:uppercase;font-size:12px;letter-spacing:.1em}
.discovery-card .price{font-family:var(--display);color:var(--rot);font-size:28px;margin:12px 0}
.discovery-card .price i{font-style:normal;font-size:14px}
.discovery-card p{font-size:13px;color:var(--muted)}
.discovery-card .mehr{display:inline-block;margin-top:12px;font-size:11.5px;font-weight:800;
  color:var(--rot-dunkel);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;
  border-bottom:2px solid var(--rot);padding-bottom:2px}

.guide{display:grid;grid-template-columns:270px 1fr;gap:55px;align-items:center}
.guide-cover{position:relative;box-shadow:0 18px 40px rgba(0,0,0,.18);aspect-ratio:3/4;overflow:hidden;background:var(--ink)}
.guide-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.guide-cover .gc-text{position:absolute;left:0;right:0;top:0;padding:22px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.92) 62%,rgba(255,255,255,0));color:var(--ink)}
.guide-cover .gc-text .gk{color:var(--rot);font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:800}
.guide-cover .gc-text .gt{font-family:var(--display);font-weight:700;font-size:25px;
  line-height:1.05;letter-spacing:-.01em;margin-top:6px;text-transform:uppercase}
.guide-cover .gc-text .gt span{color:var(--rot);display:block}
.guide h2{max-width:650px;margin-bottom:20px}
.guide>div>p{max-width:700px;color:var(--grau-text);margin-bottom:25px}
.guide-topics{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.guide-topics span{padding:8px 12px;border:1px solid var(--linie);font-size:12px;background:#fff}

.references{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.reference{border-top:1px solid var(--linie);padding-top:22px}
.reference .category{color:var(--rot);text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:800}
.reference h3{font-size:24px;margin:8px 0}
.reference p{color:var(--muted)}
.reference a{font-weight:700;text-decoration:none;color:var(--ink)}
.reference a:hover{color:var(--rot)}

/* ---------- Footer ---------- */
footer{background:#202220;color:#fff;padding:58px 0 28px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;color:#fff}
footer ul{list-style:none;display:grid;gap:9px}
footer a{color:#d3d5d1;text-decoration:none;font-size:13px;transition:color .15s}
footer a:hover{color:#fff}
footer p{color:#b9bcb6;font-size:13px}
footer .fmarke{font-size:22px;font-weight:800;letter-spacing:-.03em;color:#fff}
footer .fmarke strong{color:var(--rot-hell)}
footer .fmarke small{display:block;font-size:8px;font-weight:700;letter-spacing:.17em;
  color:#a9aca6;text-transform:uppercase}
footer .sig{color:var(--rot-hell);font-weight:700;margin-top:12px;display:block}
.funten{border-top:1px solid #3b3d3a;margin-top:40px;padding-top:22px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#a9aca6}
.funten a{color:#a9aca6}
.funten a:hover{color:#fff}

/* Sonstiges Bestehendes */
.preis{font-family:var(--display);font-size:15px;color:var(--rot);margin:4px 0 0}
.preis b{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;display:inline-block;margin-right:6px}
.preistabelle{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.preistabelle th{text-align:left;font-family:var(--text);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);padding:14px 18px;background:var(--soft);border-bottom:1px solid var(--linie)}
.preistabelle td{padding:15px 18px;border-bottom:1px solid var(--linie);vertical-align:middle}
.preistabelle td:first-child{font-weight:600;color:var(--ink)}
.preistabelle tr:last-child td{border-bottom:0}
.preistabelle .preis-wert{font-family:var(--display);font-size:18px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums}
.residence-platzhalter{background:var(--ink);color:#c8cbc5;padding:52px 36px;text-align:center;margin-top:28px}
.residence-platzhalter .rp-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:800;color:var(--rot-hell);margin-bottom:12px}
.residence-platzhalter .rp-titel{font-family:var(--display);font-weight:700;font-size:26px;color:#fff;margin-bottom:12px}
.residence-platzhalter p{font-size:14.5px;max-width:56ch;margin:0 auto;line-height:1.6}
.beweise{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#b9bcb6;list-style:none}
.beweise li{border:1px solid rgba(255,255,255,.18);padding:7px 14px}

/* ---------- Responsive ---------- */
@media(max-width:1180px){.menu{gap:14px}.menu a{font-size:12px}}
@media(max-width:1080px){
  .menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--linie);flex-direction:column;align-items:stretch;
    padding:12px 20px;gap:2px;max-height:calc(100vh - 78px);overflow-y:auto}
  .menu.offen{display:flex}
  .menu a{padding:12px 6px;border-bottom:0;font-size:14px}
  .menu>li:has(>.sub)>a::after{content:""}
  body.menu-offen{overflow:hidden}
  .menu .sub{position:static;display:block;border:0;box-shadow:none;padding:0 0 6px 16px;min-width:0}
  .burger{display:block}
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:70px 28px 48px}
  .hero-image{min-height:420px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr 1fr;gap:28px 16px}
  .pakete,.pakete.zwei{grid-template-columns:1fr}
  .service-grid,.discovery-layout,.guide{grid-template-columns:1fr}
  .guide-cover{width:260px}
  .karten.zwei,.karten.drei,.koop{grid-template-columns:1fr}
  .kopf .kopf-grid{grid-template-columns:1fr}
  .kopf .kopf-copy{padding:56px 28px 40px}
  .kopf-bild{min-height:260px}
  .kopf-bild::after{background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 40%)}
  .leiste{grid-template-columns:1fr;gap:28px}
  .faden{display:none}
  .zahlen-reihe,.refgrid{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .formular .zeile{grid-template-columns:1fr}
  .kontaktgrid{grid-template-columns:1fr;gap:44px}
}
@media(max-width:620px){
  .wrap{width:min(100% - 32px,var(--maxw))}
  .abschnitt{padding:72px 0}
  .hero-copy h1{font-size:42px}
  .hero-image{min-height:340px}
  .trust-grid,.journey,.discovery-options,.references,.zahlen-reihe,.refgrid,.fgrid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--linie)}
  .trust-item:last-child{border-bottom:0}
  .discovery-image{height:380px}
  .band-flex{align-items:flex-start;flex-direction:column}
  .aktionen{flex-direction:column;align-items:stretch}
  .aktionen .btn{width:100%}
  .band{padding:60px 0}
  .verfahren{padding:56px 0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .faden i{transition:none}
}

/* ---------- Sprachumschalter ---------- */
.menu li.lang{display:flex;gap:2px;align-items:center;margin-left:4px;padding-left:14px;border-left:1px solid var(--linie)}
.menu li.lang a{font-size:11.5px;letter-spacing:.08em;padding:6px 5px;border-bottom:0;color:var(--muted)}
.menu li.lang a.aktiv{color:var(--rot)}
.menu li.lang a:hover{color:var(--ink)}
@media(max-width:1140px){.menu li.lang{border-left:0;padding-left:0;margin:6px 0 0}}
