/* =====================================================================
   MERIDIAN — Kapitalmarkt-Coaching · Design-System v2 ("Agentur-Level")
   ---------------------------------------------------------------------
   Premium FinTech / Private-Banking-Ästhetik:
   Midnight-Navy + Champagner-Gold + kühler Azur-Akzent, Glassmorphism,
   immersive Hero, Premium-Motion, generative Marktgrafiken.
   Vollständig responsive, barrierearm, ohne externe Abhängigkeiten.
   ===================================================================== */

/* 1. DESIGN-TOKENS ---------------------------------------------------- */
:root {
  /* Navy / Tiefen */
  --navy-900:#060e20;
  --navy-800:#0a1730;
  --navy-700:#0c1e3d;
  --navy-600:#13294e;
  --navy-500:#1d3a68;

  /* Neutrale (hell) */
  --ink:#0d1b30;
  --text:#333f4e;
  --muted:#6b7686;
  --paper:#ffffff;
  --bone:#f6f5f0;
  --bg:#fbfaf6;
  --mist:#eef0f4;
  --hairline:#e6e3da;
  --hairline-2:#e9ebef;

  /* Akzente */
  --gold:#c2a15a;
  --gold-bright:#e6cd86;
  --gold-deep:#947733;       /* goldener Text auf Hell (Kontrast) */
  --gold-soft:#ecdfbf;
  --gold-tint:#faf4e6;
  --azure:#5b8def;           /* kühler Daten-Akzent */
  --teal:#27b2a0;

  --green:#1f7a57; --green-bg:#e8f4ee;
  --red:#c0473f;   --red-bg:#f8eceb;

  /* Verläufe */
  --grad-gold: linear-gradient(135deg,#f4e4b6 0%,#cda655 46%,#9c7a2f 100%);
  --grad-disp: linear-gradient(110deg,#ffffff 0%,#f3e8cf 38%,#d8b876 78%);
  --grad-disp-dark: linear-gradient(110deg,#16284a 0%,#1d3a68 50%,#0c1e3d 100%);
  --grad-azuregold: linear-gradient(120deg,var(--azure),var(--gold));

  /* Glas */
  --glass-dark:#ffffff10;
  --glass-dark-2:#ffffff18;
  --glass-dark-brd:#ffffff24;
  --glass-light:#ffffffb8;
  --glass-light-brd:#ffffffe6;
  --blur: blur(18px) saturate(165%);
  --blur-strong: blur(26px) saturate(180%);

  /* Typo */
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;

  /* Radius */
  --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:34px;

  /* Schatten / Glow */
  --sh-sm:0 1px 2px rgba(10,23,48,.04), 0 2px 8px rgba(10,23,48,.045);
  --sh-md:0 3px 10px rgba(10,23,48,.04), 0 14px 34px rgba(10,23,48,.08);
  --sh-lg:0 6px 18px rgba(10,23,48,.05), 0 26px 60px rgba(10,23,48,.11);
  --sh-xl:0 12px 32px rgba(6,14,32,.10), 0 48px 110px rgba(6,14,32,.22);
  --glow-gold:0 20px 60px rgba(194,161,90,.30);
  --glow-azure:0 20px 60px rgba(91,141,239,.25);

  /* Layout */
  --container:1200px;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --section-y:clamp(4.5rem,9vw,8rem);

  /* Motion */
  --t-fast:.18s cubic-bezier(.4,0,.2,1);
  --t:.34s cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* 2. RESET & BASIS ---------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:96px; }
body{
  font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.0625rem);
  line-height:1.7;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video,canvas{ display:block; max-width:100%; }
img{ height:auto; }
ul,ol{ list-style:none; padding:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:none; background:none; color:inherit; }
input,textarea,select{ font:inherit; color:inherit; }
::selection{ background:var(--gold-soft); color:var(--ink); }
:focus-visible{ outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:4px; }

/* 3. TYPOGRAFIE ------------------------------------------------------- */
h1,h2,h3,h4{ font-family:var(--serif); color:var(--ink); line-height:1.1; font-weight:600; letter-spacing:-.018em; }
h1{ font-size:clamp(2.6rem,1.6rem + 4.6vw,5rem); }
h2{ font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem); line-height:1.12; }
h3{ font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem); }
h4{ font-size:1.05rem; font-family:var(--sans); font-weight:650; letter-spacing:0; }
p{ color:var(--text); }
p+p{ margin-top:1rem; }
strong{ color:var(--ink); font-weight:650; }

.lead{ font-size:clamp(1.1rem,1.02rem + .5vw,1.32rem); line-height:1.62; color:#46546a; font-weight:400; }

/* Gradient-Display-Text */
.text-grad{
  background:var(--grad-disp);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.text-grad-gold{
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.text-accent{
  background:linear-gradient(110deg,var(--navy-700) 10%,var(--gold-deep) 90%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* Eyebrow / Kicker-Pill */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--sans); font-size:.74rem; font-weight:650;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep);
  margin-bottom:1.15rem;
}
.eyebrow::before{ content:""; width:28px; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.eyebrow.is-centered{ justify-content:center; }
.eyebrow.on-dark{ color:var(--gold-bright); }
.eyebrow.on-dark::before{ background:linear-gradient(90deg,transparent,var(--gold-bright)); }

.pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .9rem; border-radius:999px;
  font-size:.78rem; font-weight:600; letter-spacing:.02em;
  background:#fff; border:1px solid var(--hairline);
  color:var(--navy-600); box-shadow:var(--sh-sm);
}
.pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(194,161,90,.15); }

/* 4. LAYOUT ----------------------------------------------------------- */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.container--narrow{ max-width:840px; }
.container--wide{ max-width:1340px; }

.section{ padding-block:var(--section-y); position:relative; }
.section--tight{ padding-block:clamp(2.5rem,5vw,4rem); }
.section--alt{ background:linear-gradient(180deg,var(--bone),#fff); }
.section--mist{ background:var(--mist); }

/* Dunkle Premium-Sektion (ersetzt/erweitert .section--navy) */
.section--navy,.section--dark{
  position:relative; overflow:hidden; color:#cdd7e6;
  background:
    radial-gradient(1100px 600px at 12% -10%, rgba(91,141,239,.18), transparent 60%),
    radial-gradient(900px 600px at 92% 110%, rgba(194,161,90,.18), transparent 60%),
    linear-gradient(180deg,var(--navy-800),var(--navy-900));
}
.section--navy h1,.section--navy h2,.section--navy h3,
.section--dark h1,.section--dark h2,.section--dark h3{ color:#fff; }
.section--navy .lead,.section--dark .lead{ color:#aab8cd; }

.section-head{ max-width:760px; margin-bottom:clamp(2.25rem,4.5vw,3.5rem); }
.section-head.is-centered{ margin-inline:auto; text-align:center; }
.section-head p{ margin-top:.95rem; color:var(--muted); font-size:1.1rem; }

.grid{ display:grid; gap:clamp(1.1rem,2.2vw,1.7rem); }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }

.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.split--media-first .split__media{ order:-1; }

/* Bento */
.bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(1rem,2vw,1.5rem); }
.bento__item{ grid-column:span 2; }
.bento__item.is-wide{ grid-column:span 4; }
.bento__item.is-half{ grid-column:span 3; }
.bento__item.is-full{ grid-column:span 6; }

/* Atmosphäre */
.grain{ position:relative; }
.grain::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
}
.grid-overlay{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 85%);
  mask-image:radial-gradient(80% 70% at 50% 30%,#000,transparent 85%);
}
.aurora{ position:absolute; inset:-20% -10% auto -10%; height:120%; z-index:0; pointer-events:none; filter:blur(40px); opacity:.6; }
.aurora b{ position:absolute; border-radius:50%; filter:blur(20px); }

/* 5. BUTTONS ---------------------------------------------------------- */
.btn{
  position:relative; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:1rem 1.7rem; border-radius:12px;
  font-family:var(--sans); font-size:.98rem; font-weight:650; letter-spacing:.005em; line-height:1;
  border:1px solid transparent; white-space:nowrap; overflow:hidden;
  transition:transform var(--t-fast),box-shadow var(--t),background var(--t),color var(--t),border-color var(--t);
}
.btn svg{ width:18px; height:18px; }
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
/* Sheen */
.btn::after{
  content:""; position:absolute; inset:0; z-index:-1; transform:translateX(-120%);
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35) 50%,transparent 80%);
  transition:transform .7s var(--ease-out);
}
.btn:hover::after{ transform:translateX(120%); }

.btn--primary{ background:var(--navy-800); color:#fff; box-shadow:var(--sh-sm); }
.btn--primary:hover{ background:var(--navy-700); box-shadow:var(--sh-md); }

.btn--gold{ background:var(--grad-gold); color:#2a2007; box-shadow:var(--sh-sm); }
.btn--gold:hover{ box-shadow:var(--glow-gold); }

.btn--ghost{ background:transparent; color:var(--navy-800); border-color:var(--hairline); }
.btn--ghost:hover{ border-color:var(--navy-700); background:#fff; }

.btn--light{ background:var(--glass-dark-2); color:#fff; border-color:var(--glass-dark-brd); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur); }
.btn--light:hover{ background:#ffffff26; }

.btn--lg{ padding:1.15rem 2.1rem; font-size:1.04rem; border-radius:14px; }
.btn--block{ width:100%; }

.link-arrow{ display:inline-flex; align-items:center; gap:.45rem; font-weight:650; color:var(--navy-800); transition:gap var(--t-fast),color var(--t-fast); }
.link-arrow svg{ width:16px; height:16px; transition:transform var(--t-fast); }
.link-arrow:hover{ color:var(--gold-deep); }
.link-arrow:hover svg{ transform:translateX(5px); }
.on-dark .link-arrow,.link-arrow.on-dark{ color:#fff; }

/* 6. SCROLL-PROGRESS -------------------------------------------------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg,var(--azure),var(--gold-bright),var(--gold));
  z-index:300; transition:width .1s linear; pointer-events:none;
}

/* 7. HEADER / NAV ----------------------------------------------------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:transparent; border-bottom:1px solid transparent;
  transition:background var(--t),border-color var(--t),box-shadow var(--t);
}
.site-header.is-scrolled{
  background:var(--glass-light);
  backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur);
  border-bottom-color:var(--hairline);
  box-shadow:0 6px 30px rgba(10,23,48,.07);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:76px; }
.brand{ display:inline-flex; align-items:center; gap:.7rem; }
.brand__mark{ width:40px; height:40px; flex:none; filter:drop-shadow(0 6px 14px rgba(6,14,32,.28)); }
.brand__text{ display:flex; flex-direction:column; line-height:1.05; }
.brand__name{ font-family:var(--serif); font-size:1.2rem; font-weight:600; letter-spacing:.16em; color:var(--ink); }
.brand__sub{ font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); font-weight:650; }

.nav__links{ display:flex; align-items:center; gap:.25rem; }
.nav__links a{ padding:.55rem .9rem; border-radius:9px; font-size:.95rem; font-weight:500; color:var(--navy-500); transition:color var(--t-fast),background var(--t-fast); }
.nav__links a:hover{ color:var(--navy-800); background:rgba(13,27,48,.05); }
.nav__links a[aria-current="page"]{ color:var(--navy-800); font-weight:650; }
.nav__links>.btn{ display:none; }
.nav__cta{ display:flex; align-items:center; gap:.6rem; }

.nav__toggle{ display:none; width:46px; height:46px; border-radius:12px; border:1px solid var(--hairline); background:#fff; }
.nav__toggle span,.nav__toggle span::before,.nav__toggle span::after{
  display:block; width:20px; height:2px; background:var(--navy-800); border-radius:2px; margin-inline:auto;
  transition:transform var(--t),opacity var(--t),background var(--t);
}
.nav__toggle span{ position:relative; }
.nav__toggle span::before{ content:""; position:absolute; top:-6px; left:0; }
.nav__toggle span::after{ content:""; position:absolute; top:6px; left:0; }
.nav.is-open .nav__toggle span{ background:transparent; }
.nav.is-open .nav__toggle span::before{ transform:translateY(6px) rotate(45deg); }
.nav.is-open .nav__toggle span::after{ transform:translateY(-6px) rotate(-45deg); }

/* Transparent über dunklem Hero (nur Seiten mit data-hero-dark) */
body[data-hero-dark] .site-header:not(.is-scrolled) .brand__name{ color:#fff; }
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__links a{ color:#c8d3e4; }
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__links a:hover{ color:#fff; background:rgba(255,255,255,.08); }
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__toggle{ background:var(--glass-dark-2); border-color:var(--glass-dark-brd); }
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__toggle span,
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__toggle span::before,
body[data-hero-dark] .site-header:not(.is-scrolled) .nav__toggle span::after{ background:#fff; }

/* 8. HERO (immersiv, dunkel) ----------------------------------------- */
.hero{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:min(94vh,920px);
  display:flex; align-items:center;
  padding-block:clamp(6rem,12vh,9rem) clamp(3rem,6vh,5rem);
  margin-top:-76px; padding-top:calc(clamp(6rem,12vh,9rem) + 76px);
  background:
    radial-gradient(1200px 720px at 82% -12%, rgba(91,141,239,.12), transparent 55%),
    radial-gradient(1000px 800px at -6% 10%, rgba(194,161,90,.16), transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#fdfcf9 55%,var(--bone) 100%);
  color:var(--text);
}
.hero__canvas,.hero__media{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.hero__media{ object-fit:cover; opacity:.22; }
.hero__scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0) 62%,rgba(255,255,255,.7) 100%);
}
.hero .container{ position:relative; z-index:2; width:100%; }
.hero__grid{ display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(2rem,5vw,4rem); align-items:center; }

.hero h1{ color:var(--ink); margin-bottom:1.4rem; letter-spacing:-.022em; }
.hero__lead{ max-width:36ch; margin-bottom:2.2rem; color:#46546a; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2.4rem; }
.hero__trust{ display:flex; flex-wrap:wrap; gap:1.4rem 2.4rem; padding-top:1.7rem; border-top:1px solid var(--hairline); }
.hero__trust-item b{ display:block; font-family:var(--serif); font-size:1.7rem; color:var(--ink); font-weight:600; }
.hero__trust-item span{ font-size:.84rem; color:var(--muted); }

.scroll-cue{
  position:absolute; left:50%; bottom:1.6rem; transform:translateX(-50%); z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
}
.scroll-cue i{ width:22px; height:34px; border:1px solid rgba(13,27,48,.18); border-radius:14px; position:relative; }
.scroll-cue i::after{ content:""; position:absolute; left:50%; top:7px; width:3px; height:7px; border-radius:2px; background:var(--gold-bright); transform:translateX(-50%); animation:cue 1.8s infinite; }
@keyframes cue{ 0%{opacity:0; transform:translate(-50%,0)} 40%{opacity:1} 80%{opacity:0; transform:translate(-50%,10px)} }

/* Glas-Marktkarte */
.market-card{
  position:relative;
  background:linear-gradient(165deg,#ffffff,#fbfaf6);
  border:1px solid var(--hairline-2); border-radius:var(--r-lg);
  box-shadow:var(--sh-xl); padding:1.6rem;
}
.market-card::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(160deg,rgba(194,161,90,.5),transparent 45%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.market-card__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.1rem; }
.market-card__title{ font-size:.74rem; font-weight:650; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.market-card__chart{ margin-bottom:1.1rem; border-radius:14px; overflow:hidden; background:linear-gradient(180deg,#fff,#faf9f4); }
.market-card__chart svg{ width:100%; height:auto; }
.market-card .market-grid{ grid-template-columns:1fr 1fr; gap:.7rem; }
.market-card .market-tile{ background:var(--bone); border-color:var(--hairline-2); box-shadow:none; }
.market-card .market-tile__name{ color:var(--ink); }
.market-card .market-tile__value{ color:var(--ink); }
.market-card .market-tile__sym{ color:var(--muted); }

/* Ticker / Marquee */
.ticker{ position:relative; z-index:2; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); background:#fff; overflow:hidden; }
.ticker__mask{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.ticker__track{ display:inline-flex; gap:2.5rem; padding:.85rem 0; white-space:nowrap; will-change:transform; animation:marquee 38s linear infinite; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker__item{ display:inline-flex; align-items:center; gap:.6rem; font-size:.9rem; font-variant-numeric:tabular-nums; color:var(--muted); }
.ticker__item b{ color:var(--ink); font-weight:600; letter-spacing:.02em; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* 9. KOMPONENTEN ------------------------------------------------------ */

/* Vertrauensleiste */
.trustbar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem 2.75rem; color:var(--muted); }
.trustbar__item{ display:inline-flex; align-items:center; gap:.55rem; font-size:.92rem; font-weight:550; }
.trustbar__item svg{ width:20px; height:20px; color:var(--gold-deep); flex:none; }

/* Karten (Glas-Hell) */
.card{
  position:relative; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r);
  padding:1.85rem; box-shadow:var(--sh-sm); height:100%;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.card--hover:hover{ transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--hairline); }
.card__icon{ width:50px; height:50px; display:grid; place-items:center; border-radius:14px; background:var(--gold-tint); color:var(--gold-deep); margin-bottom:1.15rem; box-shadow:inset 0 0 0 1px var(--gold-soft); }
.card__icon svg{ width:24px; height:24px; }
.card h3{ margin-bottom:.55rem; }
.card p{ color:var(--muted); font-size:.98rem; }

/* Glas-Karte auf Dunkel */
.glass{
  position:relative;
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  border:1px solid var(--glass-dark-brd); border-radius:var(--r-lg);
  backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur);
  box-shadow:var(--sh-lg);
}
.glass.card h3,.section--dark .card h3,.section--navy .card h3{ color:#fff; }
.section--dark .card,.section--navy .card{ background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02)); border-color:var(--glass-dark-brd); color:#b9c5d8; }
.section--dark .card p,.section--navy .card p{ color:#9fadc4; }
.section--dark .card__icon,.section--navy .card__icon{ background:rgba(194,161,90,.16); color:var(--gold-bright); box-shadow:inset 0 0 0 1px rgba(230,205,134,.25); }

/* Nummerierte Themen-Karte */
.topic{ display:flex; gap:1rem; padding:1.45rem; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r); box-shadow:var(--sh-sm); transition:transform var(--t),box-shadow var(--t); height:100%; }
.topic--hover:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); }
.topic__num{ flex:none; font-family:var(--serif); font-size:1.05rem; font-weight:600; color:var(--gold-deep); width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--gold-soft); border-radius:50%; background:var(--gold-tint); }
.topic h3{ font-size:1.1rem; margin-bottom:.3rem; }
.topic p{ font-size:.94rem; color:var(--muted); }

/* Stats / Counter */
.stat{ text-align:center; padding:1.5rem 1rem; }
.stat b{ display:block; font-family:var(--serif); font-size:clamp(2.2rem,1.4rem + 2.6vw,3.2rem); color:var(--ink); font-weight:600; line-height:1; }
.section--navy .stat b,.section--dark .stat b{ color:#fff; }
.stat .text-grad-gold{ display:inline-block; }
.stat span{ display:block; margin-top:.55rem; font-size:.94rem; color:var(--muted); }
.section--navy .stat span,.section--dark .stat span{ color:#9fadc4; }

/* Markt-Tiles */
.market-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.market-tile{ background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r); padding:1.3rem 1.4rem; box-shadow:var(--sh-sm); transition:transform var(--t),box-shadow var(--t); }
.market-tile:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); }
.market-tile__top{ display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.market-tile__name{ font-weight:650; color:var(--ink); font-size:1rem; }
.market-tile__sym{ font-size:.72rem; color:var(--muted); letter-spacing:.04em; }
.market-tile__value{ font-family:var(--serif); font-size:1.75rem; color:var(--ink); margin:.55rem 0 .35rem; font-variant-numeric:tabular-nums; }
.market-tile__change{ display:inline-flex; align-items:center; gap:.3rem; font-size:.9rem; font-weight:650; font-variant-numeric:tabular-nums; }
.is-up{ color:var(--green); } .is-down{ color:var(--red); }
.market-card .is-up{ color:var(--green); } .market-card .is-down{ color:var(--red); }
.market-tile__spark{ margin-top:.75rem; height:38px; }

/* Tops & Flops des Tages */
.movers-tabs{ display:flex; gap:.5rem; margin-bottom:1.6rem; }
.movers-tab{ padding:.5rem 1.2rem; border-radius:999px; border:1px solid var(--hairline-2); background:#fff; color:var(--muted); font-weight:650; font-size:.9rem; cursor:pointer; transition:background .18s,color .18s,border-color .18s; }
.movers-tab:hover{ border-color:var(--gold); }
.movers-tab.is-active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.movers-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; }
.movers-col__title{ font-size:1.02rem; margin:0 0 .85rem; display:flex; align-items:center; gap:.4rem; }
.movers-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.movers-row{ display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:.9rem; padding:.75rem .95rem; border-radius:13px; background:#fff; border:1px solid var(--hairline-2); box-shadow:0 1px 2px rgba(13,27,48,.03); }
.movers-row__name{ font-weight:620; color:var(--ink); }
.movers-row__val{ color:var(--muted); font-size:.86rem; font-variant-numeric:tabular-nums; }
.movers-row__chg{ font-weight:720; font-variant-numeric:tabular-nums; white-space:nowrap; }
.movers-loading{ list-style:none; color:var(--muted); padding:.75rem .2rem; font-size:.9rem; }
@media (max-width:640px){ .movers-grid{ grid-template-columns:1fr; gap:1.2rem; } }

/* =====================  MERIDIAN Akademie / Mitgliederbereich  ===================== */
.btn--sm{ padding:.5rem 1rem; font-size:.86rem; }
.member-notice{ display:flex; gap:1.1rem; align-items:flex-start; background:linear-gradient(180deg,#fff,#faf9f4); border:1px solid var(--hairline-2); border-radius:16px; padding:1.5rem 1.7rem; box-shadow:0 6px 24px rgba(13,27,48,.05); }
.member-notice svg{ flex:none; width:30px; height:30px; color:var(--gold); margin-top:2px; }
.member-notice strong{ display:block; font-size:1.05rem; }
.member-notice p{ color:var(--muted); margin:.35rem 0 1rem; }
.member-notice--slim{ padding:.9rem 1.1rem; margin-bottom:1.6rem; border-radius:12px; }
.member-notice--slim svg{ width:22px; height:22px; }
.member-notice--slim p,.member-notice--slim strong{ display:inline; font-size:.92rem; margin:0; }
.member-notice--slim a{ color:var(--azure,#5b8def); white-space:nowrap; }

.course-progress{ display:flex; align-items:center; gap:1rem; margin:0 0 1.8rem; }
.course-progress__bar{ flex:1; height:8px; border-radius:999px; background:var(--bone); overflow:hidden; }
.course-progress__bar span{ display:block; height:100%; background:linear-gradient(90deg,var(--gold),#d8be84); border-radius:999px; transition:width .5s; }
.course-progress span:last-child{ font-size:.86rem; color:var(--muted); white-space:nowrap; }

.akademie-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.3rem; }
.module-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--hairline-2); border-radius:16px; padding:1.4rem 1.5rem; text-decoration:none; color:inherit; box-shadow:0 2px 10px rgba(13,27,48,.04); transition:transform .18s,box-shadow .18s,border-color .18s; }
.module-card:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(13,27,48,.10); border-color:var(--gold); }
.module-card__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.7rem; }
.module-card__num{ font-size:1.3rem; font-weight:800; color:var(--gold); letter-spacing:.02em; }
.module-card__title{ font-size:1.08rem; margin:.1rem 0 .4rem; line-height:1.3; }
.module-card__summary{ font-size:.9rem; color:var(--muted); line-height:1.55; flex:1; }
.module-card__foot{ display:flex; justify-content:space-between; align-items:center; margin-top:1rem; font-size:.8rem; color:var(--muted); }
.module-card__bar{ height:5px; border-radius:999px; background:var(--bone); overflow:hidden; margin-top:.6rem; }
.module-card__bar span{ display:block; height:100%; background:var(--green); border-radius:999px; transition:width .4s; }

.badge{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.02em; padding:.25rem .65rem; border-radius:999px; }
.badge--todo{ background:var(--bone); color:var(--muted); }
.badge--doing{ background:#fff5e0; color:#9a6a12; }
.badge--done{ background:var(--green-bg); color:var(--green); }

.akademie-module{ max-width:780px; }
.module-meta{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:.6rem; }
.module-bar{ height:7px; border-radius:999px; background:var(--bone); overflow:hidden; margin-bottom:2rem; }
.module-bar span{ display:block; height:100%; background:linear-gradient(90deg,var(--green),#3a9b73); border-radius:999px; transition:width .4s; }
.module-block{ margin:0 0 2rem; }
.module-block h3{ font-size:1.15rem; margin:0 0 .8rem; }
.module-block--accent{ background:linear-gradient(180deg,#fff,#faf9f4); border:1px solid var(--hairline-2); border-left:3px solid var(--gold); border-radius:12px; padding:1.2rem 1.4rem; }
.goal-list{ margin:0; padding-left:1.1rem; color:var(--muted); line-height:1.8; }

.lesson-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; counter-reset:lesson; }
.lesson{ border:1px solid var(--hairline-2); border-radius:12px; background:#fff; overflow:hidden; }
.lesson.is-done{ border-color:#c3e3d4; background:linear-gradient(180deg,#fff,#f3faf6); }
.lesson__head{ width:100%; display:flex; align-items:center; gap:.9rem; padding:.85rem 1.1rem; background:none; border:0; cursor:pointer; text-align:left; font:inherit; }
.lesson__check{ flex:none; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--hairline-2); display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; color:#fff; }
.lesson.is-done .lesson__check{ background:var(--green); border-color:var(--green); }
.lesson__title{ flex:1; font-weight:600; counter-increment:lesson; }
.lesson__title::before{ content:counter(lesson) ". "; color:var(--gold); font-weight:700; }
.lesson__dur{ font-size:.8rem; color:var(--muted); white-space:nowrap; }
.lesson__body{ padding:0 1.1rem 1.2rem; border-top:1px solid var(--hairline-2); }
.lesson__body p{ color:var(--muted); line-height:1.65; margin:1rem 0; }
.lesson__media{ margin:1rem 0; aspect-ratio:16/9; background:linear-gradient(135deg,#0d1b30,#1c3055); border-radius:12px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.85); font-weight:600; letter-spacing:.02em; }
.lesson__assets{ display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1rem; }
.asset{ font-size:.8rem; color:var(--muted); background:var(--bone); border:1px solid var(--hairline-2); border-radius:999px; padding:.35rem .8rem; }

.quiz__q{ border:1px solid var(--hairline-2); border-radius:12px; padding:1rem 1.2rem; margin:0 0 .9rem; }
.quiz__q legend{ font-weight:650; padding:0 .4rem; }
.quiz__opt{ display:flex; align-items:center; gap:.6rem; padding:.4rem 0; cursor:pointer; color:var(--ink); }
.quiz__opt input{ width:17px; height:17px; accent-color:var(--gold); }
.quiz__q.is-correct{ border-color:#c3e3d4; background:var(--green-bg); }
.quiz__q.is-wrong{ border-color:#eccdca; background:var(--red-bg); }
.quiz__result{ font-weight:650; margin:.6rem 0 0; }
@media (max-width:640px){ .akademie-grid{ grid-template-columns:1fr; } }

/* Lektions-Volltext (Private-Banking-Niveau) */
.lesson__body .ls-goal{ display:flex; gap:.6rem; align-items:flex-start; background:var(--green-bg); border:1px solid #c3e3d4; border-radius:10px; padding:.8rem 1rem; margin:.4rem 0 1.2rem; font-size:.93rem; color:#1c5a41; }
.ls-goal__tag{ flex:none; font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--green); color:#fff; padding:.22rem .5rem; border-radius:5px; margin-top:1px; }
.lesson__body .ls-sec{ margin:0 0 1.1rem; }
.lesson__body .ls-sec p{ color:var(--ink); line-height:1.72; margin:0 0 .9rem; }
.lesson__body .ls-main h4{ font-size:1.04rem; margin:1.6rem 0 .6rem; color:var(--ink); }
.lesson__body .ls-main ul,.lesson__body .ls-main ol{ color:var(--ink); line-height:1.7; margin:.5rem 0 1rem; padding-left:1.2rem; }
.lesson__body .ls-main li{ margin:.32rem 0; }
.merksatz{ background:linear-gradient(180deg,#fff,#faf9f4); border-left:3px solid var(--gold); border-radius:8px; padding:.8rem 1.1rem; margin:1.1rem 0; font-size:.95rem; line-height:1.65; }
.merksatz strong{ color:#9a6a12; }
.ls-table{ width:100%; border-collapse:collapse; margin:1.1rem 0; font-size:.9rem; }
.ls-table th,.ls-table td{ text-align:left; padding:.55rem .7rem; border-bottom:1px solid var(--hairline-2); vertical-align:top; }
.ls-table th{ color:var(--muted); font-weight:650; font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; }
.ls-box{ border-radius:12px; padding:1rem 1.2rem; margin:1.3rem 0; }
.ls-box h4{ margin:0 0 .5rem; font-size:.96rem; }
.ls-box p{ margin:.4rem 0; line-height:1.7; }
.ls-example{ background:#eef4ff; border:1px solid #d4e2fb; color:#22365c; }
.ls-example h4{ color:#2b5bb5; }
.ls-summary{ background:var(--bone); border:1px solid var(--hairline-2); }
.ls-summary ul{ margin:.3rem 0 0; padding-left:1.1rem; line-height:1.75; }
.ls-check{ border:1px solid var(--hairline-2); border-radius:10px; padding:.2rem .9rem; margin:1.3rem 0 .4rem; background:#fff; }
.ls-check summary{ cursor:pointer; font-weight:650; padding:.65rem 0; color:var(--ink); }
.ls-check>div{ padding:0 0 .8rem; color:var(--muted); line-height:1.68; }
.ls-check p{ margin:.3rem 0; }
.market-tile__spark svg{ width:100%; height:38px; }

.market-badge{ display:inline-flex; align-items:center; gap:.45rem; font-size:.74rem; font-weight:650; letter-spacing:.04em; padding:.32rem .7rem; border-radius:999px; background:var(--gold-tint); color:var(--gold-deep); border:1px solid var(--gold-soft); }
.market-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold-deep); }
.market-badge.is-live{ background:var(--green-bg); color:var(--green); border-color:#c3e3d4; }
.market-badge.is-live .dot{ background:var(--green); animation:pulse 2s infinite; }
.market-card .market-badge{ background:var(--gold-tint); color:var(--gold-deep); border-color:var(--gold-soft); }
@keyframes pulse{ 0%,100%{opacity:1} 50%{opacity:.3} }

.market-meta{ display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.market-updated{ font-size:.85rem; color:var(--muted); }

/* Marktkommentar */
.commentary{ border-left:3px solid var(--gold); padding:.35rem 0 .35rem 1.4rem; }
.commentary h3{ font-size:1.15rem; margin-bottom:.4rem; }
.commentary time{ font-size:.82rem; color:var(--muted); display:block; margin-bottom:.55rem; }

/* Timeline */
.timeline{ display:grid; gap:1.25rem; }
.timeline__step{ position:relative; display:grid; grid-template-columns:64px 1fr; gap:1.25rem; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r); padding:1.6rem; box-shadow:var(--sh-sm); transition:transform var(--t),box-shadow var(--t); }
.timeline__step:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); }
.timeline__num{ width:50px; height:50px; display:grid; place-items:center; border-radius:14px; background:var(--grad-gold); color:#241a05; font-family:var(--serif); font-size:1.25rem; font-weight:700; box-shadow:var(--sh-sm); }
.timeline__step h3{ margin-bottom:.4rem; }
.timeline__step p{ color:var(--muted); font-size:.98rem; }

/* Akkordeon */
.accordion{ border-top:1px solid var(--hairline); }
.accordion__item{ border-bottom:1px solid var(--hairline); }
.accordion__trigger{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; text-align:left; padding:1.5rem 0; font-family:var(--serif); font-size:clamp(1.1rem,1rem + .4vw,1.25rem); font-weight:600; color:var(--ink); transition:color var(--t-fast); }
.accordion__trigger:hover{ color:var(--gold-deep); }
.accordion__icon{ flex:none; width:32px; height:32px; border-radius:50%; border:1px solid var(--hairline); display:grid; place-items:center; position:relative; transition:background var(--t),border-color var(--t); }
.accordion__icon::before,.accordion__icon::after{ content:""; position:absolute; background:var(--navy-800); transition:transform var(--t),background var(--t); }
.accordion__icon::before{ width:12px; height:2px; }
.accordion__icon::after{ width:2px; height:12px; }
.accordion__trigger[aria-expanded="true"] .accordion__icon{ background:var(--navy-800); border-color:var(--navy-800); }
.accordion__trigger[aria-expanded="true"] .accordion__icon::before{ background:#fff; }
.accordion__trigger[aria-expanded="true"] .accordion__icon::after{ transform:scaleY(0); }
.accordion__panel{ overflow:hidden; max-height:0; transition:max-height var(--t); }
.accordion__panel-inner{ padding-bottom:1.5rem; color:var(--muted); max-width:72ch; }

/* Zitat */
.quote{ font-family:var(--serif); font-size:clamp(1.5rem,1.1rem + 1.7vw,2.3rem); line-height:1.38; color:var(--ink); font-weight:500; }
.quote__mark{ color:var(--gold); font-size:1.4em; line-height:0; vertical-align:-.35em; margin-right:.08em; }
.section--dark .quote,.section--navy .quote{ color:#fff; }

/* CTA-Band */
.cta-band{ position:relative; overflow:hidden; isolation:isolate; border-radius:var(--r-xl); padding:clamp(2.75rem,6vw,5rem); color:#fff; text-align:center;
  background:
    radial-gradient(700px 360px at 85% -30%, rgba(91,141,239,.30), transparent 60%),
    radial-gradient(700px 360px at 10% 130%, rgba(194,161,90,.30), transparent 60%),
    linear-gradient(160deg,var(--navy-700),var(--navy-900));
  box-shadow:var(--sh-xl);
}
.cta-band::before{ content:""; position:absolute; inset:0; z-index:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:48px 48px; -webkit-mask-image:radial-gradient(70% 80% at 50% 30%,#000,transparent); mask-image:radial-gradient(70% 80% at 50% 30%,#000,transparent); }
.cta-band>*{ position:relative; z-index:1; }
.cta-band h2{ color:#fff; margin-bottom:.9rem; }
.cta-band p{ color:#b9c5d8; max-width:58ch; margin-inline:auto; margin-bottom:2rem; }
.cta-band .hero__actions{ justify-content:center; margin-bottom:0; }

/* Hinweis-/Disclaimer-Box */
.notice{ display:flex; gap:1rem; padding:1.4rem 1.6rem; border-radius:var(--r); background:#fff; border:1px solid var(--hairline); font-size:.94rem; color:var(--muted); box-shadow:var(--sh-sm); }
.notice svg{ width:22px; height:22px; color:var(--gold-deep); flex:none; margin-top:1px; }
.notice strong{ color:var(--ink); }
.notice--risk{ background:linear-gradient(180deg,#fdf9ef,#fff); border-color:var(--gold-soft); }

/* Werte-/Check-Liste */
.checklist{ display:grid; gap:.95rem; }
.checklist li{ display:flex; gap:.8rem; align-items:flex-start; color:var(--text); }
.checklist svg{ flex:none; width:24px; height:24px; margin-top:1px; color:var(--green); }
.checklist .x{ color:var(--red); }
.section--dark .checklist li,.section--navy .checklist li{ color:#c3cee0; }

/* Medien-Rahmen (für echte Fotos) */
.media-frame{ position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-lg); background:var(--mist); }
.media-frame::before{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; padding:1px; background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(194,161,90,.4) 60%,transparent); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.media-frame img,.media-frame svg{ width:100%; display:block; }
.media-frame--tall{ aspect-ratio:4/5; }
.profile-photo{ border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--hairline); box-shadow:var(--sh-lg); background:var(--bone); }
.profile-photo svg,.profile-photo img{ width:100%; display:block; }

/* Facts */
.facts{ display:grid; gap:.9rem; }
.facts li{ display:grid; grid-template-columns:150px 1fr; gap:1rem; padding-bottom:.9rem; border-bottom:1px solid var(--hairline); font-size:.96rem; }
.facts b{ color:var(--ink); } .facts span{ color:var(--muted); }

/* Pricing */
.price-card{ position:relative; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r-lg); padding:2.1rem; box-shadow:var(--sh-sm); display:flex; flex-direction:column; height:100%; transition:transform var(--t),box-shadow var(--t); }
.price-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); }
.price-card.is-featured{ border-color:transparent; box-shadow:var(--glow-gold); }
.price-card.is-featured::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; background:var(--grad-gold); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.price-card.is-featured::after{ content:"Empfohlen"; position:absolute; top:-13px; right:1.6rem; background:var(--grad-gold); color:#241a05; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.34rem .8rem; border-radius:999px; box-shadow:var(--sh-sm); }
.price-card h3{ font-size:1.35rem; }
.price-card__price{ font-family:var(--serif); font-size:2.2rem; color:var(--ink); margin:.5rem 0 .25rem; }
.price-card__price small{ font-size:.9rem; color:var(--muted); font-family:var(--sans); }
.price-card .checklist{ margin:1.3rem 0 1.85rem; }
.price-card .btn{ margin-top:auto; }

/* --- Personal-Brand-Teaser (Startseite) --- */
.persona{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
.persona__photo{ position:relative; }
.persona__plate{ position:absolute; left:1rem; bottom:1rem; right:1rem; z-index:2; display:flex; align-items:center; gap:.7rem; padding:.7rem .9rem; border-radius:14px; background:var(--glass-light); border:1px solid var(--glass-light-brd); box-shadow:var(--sh-md); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur); }
.persona__plate b{ display:block; color:var(--ink); font-size:.95rem; line-height:1.1; }
.persona__plate span{ font-size:.8rem; color:var(--muted); }
.creds{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.1rem 0 1.3rem; }
.creds span{ font-size:.8rem; font-weight:600; color:var(--navy-600); background:#fff; border:1px solid var(--hairline); border-radius:999px; padding:.36rem .8rem; box-shadow:var(--sh-sm); }

/* --- Grundsätze (Vertrauen) --- */
.principles{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.principle{ display:flex; gap:.9rem; align-items:flex-start; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r); padding:1.3rem 1.4rem; box-shadow:var(--sh-sm); transition:transform var(--t),box-shadow var(--t),border-color var(--t); }
.principle:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:var(--hairline); }
.principle__icon{ width:42px; height:42px; flex:none; display:grid; place-items:center; border-radius:12px; background:var(--gold-tint); color:var(--gold-deep); box-shadow:inset 0 0 0 1px var(--gold-soft); }
.principle__icon svg{ width:21px; height:21px; }
.principle b{ display:block; color:var(--ink); font-size:1rem; margin-bottom:.2rem; }
.principle span{ font-size:.9rem; color:var(--muted); }

/* --- Testimonials / Social Proof --- */
.testimonial{ background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r); padding:1.85rem; box-shadow:var(--sh-sm); height:100%; display:flex; flex-direction:column; transition:transform var(--t),box-shadow var(--t),border-color var(--t); }
.testimonial:hover{ transform:translateY(-3px); box-shadow:var(--sh-md); border-color:var(--hairline); }
.testimonial__stars{ color:var(--gold); letter-spacing:3px; font-size:.95rem; margin-bottom:.85rem; }
.testimonial__quote{ font-family:var(--serif); font-size:1.18rem; line-height:1.5; color:var(--ink); }
.testimonial__author{ margin-top:1.15rem; padding-top:1.15rem; border-top:1px solid var(--hairline); display:flex; align-items:center; gap:.8rem; }
.testimonial__avatar{ width:44px; height:44px; flex:none; border-radius:50%; background:var(--gold-tint); color:var(--gold-deep); display:grid; place-items:center; font-family:var(--serif); font-weight:600; border:1px solid var(--gold-soft); }
.testimonial__author b{ display:block; color:var(--ink); font-size:.92rem; }
.testimonial__author span{ font-size:.84rem; color:var(--muted); }

/* --- Newsletter --- */
.newsletter{ position:relative; overflow:hidden; border-radius:var(--r-xl); padding:clamp(2rem,5vw,3.4rem); background:linear-gradient(165deg,#fff,var(--bone)); border:1px solid var(--hairline-2); box-shadow:var(--sh-md); }
.newsletter::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(520px 240px at 90% -20%, rgba(194,161,90,.14), transparent 60%); }
.newsletter__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.newsletter__list{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.1rem; }
.newsletter__list span{ font-size:.8rem; font-weight:600; color:var(--navy-600); background:#fff; border:1px solid var(--hairline); padding:.32rem .7rem; border-radius:999px; }
.newsletter-form{ display:flex; gap:.6rem; flex-wrap:wrap; }
.newsletter-form input{ flex:1; min-width:200px; padding:.98rem 1.1rem; border:1px solid var(--hairline); border-radius:12px; background:#fff; transition:border-color var(--t-fast),box-shadow var(--t-fast); }
.newsletter-form input:focus{ outline:none; border-color:var(--navy-500); box-shadow:0 0 0 4px rgba(29,58,104,.12); }
.newsletter__note{ font-size:.8rem; color:var(--muted); margin-top:.85rem; }
.newsletter__note a{ color:var(--navy-800); text-decoration:underline; }
.newsletter__status{ display:none; margin-top:.85rem; font-size:.9rem; font-weight:600; }
.newsletter__status.is-success{ display:block; color:var(--green); }
.newsletter__status.is-error{ display:block; color:var(--red); }

/* --- "Warum ich" / Signatur & Statements --- */
.statements{ display:grid; gap:.75rem; margin-top:1.6rem; }
.statement{ display:flex; gap:.85rem; align-items:center; padding:1rem 1.3rem; background:var(--gold-tint); border:1px solid var(--gold-soft); border-radius:var(--r); font-family:var(--serif); font-size:1.12rem; color:var(--ink); }
.statement svg{ width:22px; height:22px; color:var(--gold-deep); flex:none; }
.signature{ font-family:var(--serif); font-size:1.5rem; color:var(--ink); }
.signature small{ display:block; font-family:var(--sans); font-size:.85rem; color:var(--muted); font-weight:500; margin-top:.25rem; }

/* --- CTA-Microcopy (Vertrauen unter Buttons) --- */
.cta-trust{ display:flex; flex-wrap:wrap; gap:.45rem 1.2rem; font-size:.85rem; color:var(--muted); }
.cta-trust span{ display:inline-flex; align-items:center; gap:.4rem; }
.cta-trust svg{ width:15px; height:15px; color:var(--green); flex:none; }
.cta-band .cta-trust{ justify-content:center; color:#aeb9cc; margin-top:1.4rem; }
.cta-band .cta-trust svg{ color:var(--gold-bright); }

@media (max-width:860px){
  .persona,.newsletter__grid{ grid-template-columns:1fr; }
  .principles{ grid-template-columns:1fr; }
  .persona__plate{ position:static; margin-top:.8rem; }
}

/* Seiten-Hero (Subpages) – premium-hell mit Atmosphäre */
.page-hero{ position:relative; overflow:hidden; isolation:isolate; padding-block:clamp(3.5rem,7vw,5.5rem); background:linear-gradient(180deg,var(--bone),#fff); border-bottom:1px solid var(--hairline); }
.page-hero::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(700px 320px at 82% -40%, rgba(194,161,90,.18), transparent 60%),
    radial-gradient(620px 300px at 0% 120%, rgba(91,141,239,.12), transparent 60%);
}
.page-hero::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(13,27,48,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,27,48,.04) 1px,transparent 1px);
  background-size:54px 54px; -webkit-mask-image:radial-gradient(60% 80% at 70% 0%,#000,transparent 75%); mask-image:radial-gradient(60% 80% at 70% 0%,#000,transparent 75%); }
.page-hero>.container{ position:relative; z-index:1; }
.breadcrumb{ font-size:.85rem; color:var(--muted); margin-bottom:1.1rem; display:flex; gap:.5rem; flex-wrap:wrap; }
.breadcrumb a:hover{ color:var(--navy-800); }
.breadcrumb span[aria-current]{ color:var(--navy-500); }
.page-hero h1{ margin-bottom:.9rem; }
.page-hero p{ max-width:62ch; color:var(--navy-500); font-size:1.12rem; }

/* Prose (Recht) */
.prose{ max-width:780px; }
.prose h2{ font-size:1.55rem; margin-top:2.6rem; margin-bottom:.85rem; }
.prose h3{ font-size:1.18rem; margin-top:1.8rem; margin-bottom:.5rem; }
.prose p,.prose li{ color:var(--text); }
.prose p{ margin-bottom:1rem; }
.prose ul{ list-style:disc; padding-left:1.4rem; margin-bottom:1rem; display:grid; gap:.4rem; }
.prose a{ color:var(--navy-800); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold); }
.prose a:hover{ color:var(--gold-deep); }
.prose .placeholder{ background:var(--gold-tint); border-bottom:1px dashed var(--gold); padding:0 .15em; color:var(--gold-deep); font-weight:650; }

/* 10. FORMULARE ------------------------------------------------------- */
.form-card{ position:relative; background:#fff; border:1px solid var(--hairline-2); border-radius:var(--r-lg); padding:clamp(1.85rem,4vw,2.85rem); box-shadow:var(--sh-md); }
.form-grid{ display:grid; gap:1.3rem; grid-template-columns:1fr 1fr; }
.field{ display:flex; flex-direction:column; gap:.45rem; }
.field--full{ grid-column:1/-1; }
.field label{ font-size:.9rem; font-weight:650; color:var(--ink); }
.field label .req{ color:var(--red); }
.field input,.field select,.field textarea{ padding:.9rem 1rem; border:1px solid var(--hairline); border-radius:12px; background:#fff; transition:border-color var(--t-fast),box-shadow var(--t-fast); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--navy-500); box-shadow:0 0 0 4px rgba(29,58,104,.12); }
.field textarea{ min-height:140px; resize:vertical; }
.field .hint{ font-size:.82rem; color:var(--muted); }
.field.has-error input,.field.has-error textarea{ border-color:var(--red); }
.field .error-msg{ font-size:.82rem; color:var(--red); display:none; }
.field.has-error .error-msg{ display:block; }
.consent{ display:flex; gap:.75rem; align-items:flex-start; font-size:.9rem; color:var(--muted); }
.consent input{ margin-top:.25rem; width:18px; height:18px; flex:none; accent-color:var(--navy-800); }
.consent a{ color:var(--navy-800); text-decoration:underline; text-underline-offset:2px; }
.form-status{ display:none; padding:1rem 1.25rem; border-radius:12px; font-size:.95rem; margin-bottom:1.25rem; }
.form-status.is-success{ display:block; background:var(--green-bg); color:var(--green); border:1px solid #c3e3d4; }
.form-status.is-error{ display:block; background:var(--red-bg); color:var(--red); border:1px solid #e9c9c9; }
.hp-field{ position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }

.contact-aside{ display:grid; gap:1.5rem; align-content:start; }
.contact-item{ display:flex; gap:1rem; align-items:flex-start; }
.contact-item__icon{ width:46px; height:46px; flex:none; display:grid; place-items:center; border-radius:14px; background:var(--gold-tint); color:var(--gold-deep); box-shadow:inset 0 0 0 1px var(--gold-soft); }
.contact-item__icon svg{ width:20px; height:20px; }
.contact-item b{ color:var(--ink); display:block; }
.contact-item a,.contact-item span{ color:var(--muted); }
.contact-item a:hover{ color:var(--navy-800); }

/* 11. FOOTER ---------------------------------------------------------- */
.site-footer{ position:relative; overflow:hidden; color:#a9b5c8;
  background:
    radial-gradient(800px 400px at 90% -20%, rgba(91,141,239,.12), transparent 60%),
    radial-gradient(700px 400px at 0% 120%, rgba(194,161,90,.12), transparent 60%),
    linear-gradient(180deg,var(--navy-800),var(--navy-900));
}
.footer-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(1.5rem,4vw,3rem); padding-block:clamp(3.25rem,6vw,4.75rem); position:relative; z-index:1; }
.footer-brand .brand__name{ color:#fff; }
.footer-brand p{ color:#8e9cb4; font-size:.95rem; margin-top:1rem; max-width:36ch; }
.footer-col h4{ color:#fff; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.15rem; }
.footer-col ul{ display:grid; gap:.65rem; }
.footer-col a{ color:#a9b5c8; font-size:.95rem; transition:color var(--t-fast); }
.footer-col a:hover{ color:#fff; }
.footer-col .contact-line{ display:flex; gap:.55rem; align-items:flex-start; font-size:.95rem; }
.footer-col .contact-line svg{ width:16px; height:16px; color:var(--gold-bright); flex:none; margin-top:3px; }
.footer-disclaimer{ border-top:1px solid rgba(255,255,255,.1); padding-block:1.85rem; font-size:.82rem; color:#7e8ca6; line-height:1.65; position:relative; z-index:1; }
.footer-disclaimer strong{ color:#bcc7da; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-block:1.5rem; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; font-size:.85rem; color:#7e8ca6; position:relative; z-index:1; }
.footer-bottom nav{ display:flex; flex-wrap:wrap; gap:1.25rem; }
.footer-bottom a:hover{ color:#fff; }

/* 12. COOKIE-BANNER --------------------------------------------------- */
.cookie{ position:fixed; z-index:200; left:50%; bottom:clamp(1rem,3vw,1.75rem); transform:translateX(-50%) translateY(160%); width:min(700px,calc(100% - 2rem));
  background:var(--glass-light); border:1px solid var(--glass-light-brd); border-radius:var(--r-lg); box-shadow:var(--sh-lg);
  backdrop-filter:var(--blur-strong); -webkit-backdrop-filter:var(--blur-strong); padding:1.6rem; transition:transform var(--t); }
.cookie.is-visible{ transform:translateX(-50%) translateY(0); }
.cookie h4{ margin-bottom:.4rem; }
.cookie p{ font-size:.9rem; color:var(--muted); margin-bottom:1.1rem; }
.cookie p a{ color:var(--navy-800); text-decoration:underline; }
.cookie__actions{ display:flex; flex-wrap:wrap; gap:.65rem; }
.cookie__actions .btn{ padding:.75rem 1.3rem; font-size:.9rem; }

/* 13. UTILITIES & REVEAL --------------------------------------------- */
.skip-link{ position:absolute; left:1rem; top:-100px; z-index:400; background:var(--navy-800); color:#fff; padding:.75rem 1.25rem; border-radius:10px; transition:top var(--t); }
.skip-link:focus{ top:1rem; }
.text-center{ text-align:center; }
.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-0{margin-bottom:0}
.muted{ color:var(--muted); } .gold{ color:var(--gold-deep); }
.divider{ height:1px; background:var(--hairline); border:0; margin:0; }
.flow>*+*{ margin-top:1rem; }
.tag{ display:inline-block; font-size:.75rem; font-weight:650; letter-spacing:.06em; padding:.32rem .72rem; border-radius:999px; background:var(--gold-tint); color:var(--gold-deep); border:1px solid var(--gold-soft); }

.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); will-change:opacity,transform; }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal--zoom{ transform:scale(.94); }
.reveal--left{ transform:translateX(-30px); }
.reveal--right{ transform:translateX(30px); }
.reveal[data-delay="1"]{ transition-delay:.09s }
.reveal[data-delay="2"]{ transition-delay:.18s }
.reveal[data-delay="3"]{ transition-delay:.27s }
.reveal[data-delay="4"]{ transition-delay:.36s }
.reveal[data-delay="5"]{ transition-delay:.45s }

/* 14. RESPONSIVE ------------------------------------------------------ */
@media (max-width:1040px){
  .bento__item,.bento__item.is-wide,.bento__item.is-half{ grid-column:span 3; }
  .bento{ grid-template-columns:repeat(6,1fr); }
}
@media (max-width:980px){
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1/-1; }
}
@media (max-width:860px){
  .nav__toggle{ display:grid; place-items:center; }
  .nav__cta .btn{ display:none; }
  .nav__links{ position:fixed; inset:76px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--glass-light); backdrop-filter:var(--blur-strong); -webkit-backdrop-filter:var(--blur-strong);
    border-bottom:1px solid var(--hairline); box-shadow:var(--sh-lg); padding:.75rem var(--gutter) 1.5rem;
    transform:translateY(-130%); transition:transform var(--t); max-height:calc(100vh - 76px); overflow-y:auto; }
  .nav.is-open .nav__links{ transform:translateY(0); }
  .nav__links a{ padding:.95rem .5rem; border-bottom:1px solid var(--hairline-2); font-size:1.05rem; color:var(--navy-800)!important; background:transparent!important; }
  .nav__links>.btn{ display:inline-flex; justify-content:center; margin-top:1rem; padding:1rem 1.6rem; border-bottom:none; }
  .hero__grid{ grid-template-columns:1fr; gap:2.5rem; }
  .hero{ min-height:auto; }
  .hero__lead{ max-width:none; }
  .split{ grid-template-columns:1fr; }
  .split--media-first .split__media{ order:0; }
  .grid-3{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }
  .form-grid{ grid-template-columns:1fr; }
  .bento__item,.bento__item.is-wide,.bento__item.is-half,.bento__item.is-full{ grid-column:1/-1; }
  .bento{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .grid-4{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .facts li{ grid-template-columns:1fr; gap:.15rem; }
  .timeline__step{ grid-template-columns:1fr; }
  .hero__trust{ gap:1.25rem 1.75rem; }
  .market-card .market-grid{ grid-template-columns:1fr 1fr; }
}

/* 15. REDUCED MOTION / PRINT ----------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
  .reveal{ opacity:1!important; transform:none!important; }
  .ticker__track{ animation:none!important; }
  .hero__canvas{ display:none!important; }
}
@media print{
  .site-header,.cookie,.cta-band,.hero__actions,.nav,.scroll-progress,.ticker,.scroll-cue{ display:none!important; }
  body{ background:#fff; color:#000; }
  .hero,.section--navy,.section--dark,.site-footer{ background:#fff!important; color:#000!important; }
  .section{ padding-block:1rem; }
}
