/* Baeriswyl Beratungen — styles.css (Kaskaden-Reihenfolge aus index.html) */

/* ═══════════════════════════════════════════════
   BAERISWYL BERATUNGEN — MASTER STYLESHEET
   One source of truth. No conflicts.
   ═══════════════════════════════════════════════ */

:root {
  --navy:#1D3A65; --navy-d:#0f1f38; --navy-l:#243f6e;
  --gold:#B09E80; --gold-d:#8a7a61; --gold-l:#cfc0a6;
  --grey:#E9E9E9; --bg:#f8f7f4; --white:#fff;
  --txt:#1a1a2e; --txt-m:#4a5568; --txt-l:#718096;
  --green:#4ade80; --red:#f87171; --orange:#fb923c;
  --maxw:1200px;
  --section-y:104px;          /* einheitlicher vertikaler Sektionsabstand */
  --section-y-sm:72px;
  --gap:24px;
  --card-radius:16px;
  --card-pad:36px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'Comfortaa',sans-serif;
  background:var(--bg); color:var(--txt);
  overflow-x:hidden; line-height:1.6;
}
section[id], footer[id] { scroll-margin-top:64px; }

/* LANGUAGE TOGGLE */
.lang-de .fr, .lang-de .en,
.lang-fr .de, .lang-fr .en,
.lang-en .de, .lang-en .fr { display:none !important; }
.lang-de .de-b, .lang-fr .fr-b, .lang-en .en-b { display:block !important; }
.lang-de .fr-b, .lang-de .en-b,
.lang-fr .de-b, .lang-fr .en-b,
.lang-en .de-b, .lang-en .fr-b { display:none !important; }

/* SHARED PRIMITIVES */
.container { max-width:var(--maxw); margin:0 auto; }
.eyebrow {
  font-size:13px; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold-d);
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
}
.eyebrow::before { content:''; display:inline-block; width:22px; height:1px; background:var(--gold); }
.eyebrow.on-dark { color:var(--gold); }

.h-sec {
  font-family:'DM Serif Display',serif;
  font-size:clamp(48px,7vw,64px); line-height:1.07;
  color:var(--navy); margin-bottom:14px; letter-spacing:-0.01em;
}
.h-sec em { font-style:italic; color:var(--gold-d); }
.h-sec.on-dark { color:#fff; }
.h-sec.on-dark em { color:var(--gold-l); }

.sub-sec {
  font-size:15px; line-height:1.75; color:var(--txt-m);
  font-weight:300; max-width:560px;
}
.sub-sec.on-dark { color:rgba(255,255,255,0.5); }

/* ═══ EINHEITLICHE SEKTIONS-ARCHITEKTUR ═══ */
.section { padding:var(--section-y) 5%; }
.section > .container { max-width:var(--maxw); margin:0 auto; }
.section-head { max-width:720px; margin:0 auto var(--section-y-sm); text-align:center; }
.section-head .eyebrow { justify-content:center; }
.section-head .sub-sec { max-width:600px; margin:0 auto; }
.section-head.left { text-align:left; margin-left:0; }
.section-head.left .eyebrow { justify-content:flex-start; }
.section-head.left .sub-sec { margin-left:0; }
@media(max-width:768px){ :root { --section-y:72px; --section-y-sm:48px; --card-pad:26px; } }

/* Einheitliche Karte */
.u-card { background:var(--white); border:1px solid var(--grey); border-radius:var(--card-radius); padding:var(--card-pad); transition:border-color .25s, box-shadow .25s, transform .25s; }
.u-card:hover { border-color:rgba(176,158,128,0.4); box-shadow:0 12px 40px rgba(29,58,101,0.08); transform:translateY(-3px); }
.u-card.on-dark { background:rgba(255,255,255,0.04); border-color:rgba(176,158,128,0.16); }
.u-card.on-dark:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.4); }

/* dark section texture */
.dark-bg { background:var(--navy-d); position:relative; overflow:hidden; }
.dark-bg > .container, .dark-bg > * { position:relative; z-index:1; }
.dark-bg::before {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(176,158,128,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176,158,128,0.025) 1px, transparent 1px);
  background-size:72px 72px;
}

/* buttons */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; border-radius:5px;
  text-decoration:none; font-size:13px; font-weight:700;
  letter-spacing:0.03em; transition:all .2s; cursor:pointer;
  border:none; font-family:'Comfortaa',sans-serif;
}
.btn-gold {
  background:linear-gradient(180deg, var(--gold-l) 0%, var(--gold) 52%, var(--gold-d) 100%);
  color:var(--navy-d); border-radius:14px; padding:15px 28px;
  text-shadow:0 1px 0 rgba(255,255,255,0.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.5),
    inset 0 -2px 4px rgba(138,122,97,0.45),
    0 6px 14px rgba(29,58,101,0.22),
    0 2px 4px rgba(0,0,0,0.12);
}
.btn-gold:hover {
  transform:translateY(-2px);
  background:linear-gradient(180deg, #ffffff 0%, #f2eee6 100%);
  color:var(--navy-d);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    0 11px 24px rgba(29,58,101,0.26),
    0 3px 6px rgba(0,0,0,0.12);
}
.btn-gold:active {
  transform:translateY(1px);
  box-shadow:
    inset 0 2px 5px rgba(138,122,97,0.5),
    0 2px 6px rgba(29,58,101,0.2);
}
.btn-outline-d { border:1px solid rgba(176,158,128,0.3); color:rgba(255,255,255,0.7); background:transparent; }
.btn-outline-d:hover { border-color:var(--gold); color:var(--gold-l); }
.btn-outline-l { border:1px solid var(--grey); color:var(--navy); background:transparent; }
.btn-outline-l:hover { border-color:var(--gold); color:var(--gold-d); }
.btn-navy { background:var(--navy); color:#fff; }
.btn-navy:hover { background:var(--navy-l); }

nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(10,20,40,0.95); backdrop-filter:blur(20px);
  height:64px; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(176,158,128,0.12);
}
.nav-logo { display:flex; align-items:center; gap:11px; font-weight:700; font-size:20px; color:#fff; text-decoration:none; letter-spacing:0.02em; }
.nav-logo img { width:44px; height:44px; display:block; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; gap:22px; }
.nav-links a { color:var(--gold-l); text-decoration:none; font-size:13px; font-weight:600; letter-spacing:0.03em; transition:color .2s; }
.nav-links a:hover { color:#fff; }
.nav-r { display:flex; align-items:center; gap:10px; }
.lb { background:none; border:none; cursor:pointer; font-family:'Comfortaa',sans-serif; font-size:13px; font-weight:700; color:rgba(255,255,255,0.35); letter-spacing:0.08em; padding:3px 4px; transition:color .2s; }
.lb.on, .lb:hover { color:var(--gold); }
.nav-sep { color:rgba(255,255,255,0.15); font-size:10px; }
.nav-cta { background:var(--gold); color:var(--navy-d); padding:8px 18px; border-radius:4px; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:0.03em; transition:background .2s; }
.nav-cta:hover { background:var(--gold-l); }
@media(max-width:900px){ .nav-links { display:none; } .nav-burger { display:flex; } }
.lang-mini { display:none; position:relative; }
.lang-mini-btn { width:40px; height:40px; border:1px solid rgba(176,158,128,0.30); border-radius:50%; background:none; color:var(--gold); font-family:'Comfortaa',sans-serif; font-weight:700; font-size:13px; cursor:pointer; }
.lang-pop { display:none; position:absolute; right:0; top:48px; background:rgba(10,20,40,0.98); border:1px solid rgba(176,158,128,0.2); border-radius:10px; overflow:hidden; flex-direction:column; z-index:120; }
.lang-pop.open { display:flex; }
.lang-pop button { background:none; border:none; color:rgba(255,255,255,0.8); padding:11px 22px; font-family:'Comfortaa',sans-serif; font-weight:700; font-size:13px; cursor:pointer; text-align:left; }
.lang-pop button:hover { color:var(--gold-l); background:rgba(176,158,128,0.08); }
@media(max-width:1040px){ .nav-r .lb, .nav-r .nav-sep { display:none; } .lang-mini { display:block; } }
@media(max-width:768px){ #hero .hero-bg1, #hero .hero-grid2, #firmen .firmen-blocks, #b2b .firmen-blocks, #partner::before { display:none !important; } }
@media(max-width:600px){ .nav-cta { display:none; } }
.nav-burger { display:none; width:40px; height:40px; border:1px solid rgba(176,158,128,0.25); border-radius:7px; background:transparent; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:0; }
.nav-burger span { display:block; width:18px; height:2px; background:var(--gold); border-radius:2px; transition:all .25s; }
.nav-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-menu { position:fixed; top:64px; left:0; right:0; background:rgba(10,20,40,0.98); backdrop-filter:blur(20px); border-bottom:1px solid rgba(176,158,128,0.15); display:none; flex-direction:column; padding:12px 5% 20px; z-index:99; }
.nav-menu.open { display:flex; }
.nav-menu a { color:rgba(255,255,255,0.75); text-decoration:none; font-size:15px; padding:13px 4px; border-bottom:1px solid rgba(176,158,128,0.08); letter-spacing:0.02em; }
.nav-menu a:last-child { border-bottom:none; }
.nav-menu a:active, .nav-menu a:hover { color:var(--gold-l); }
.nav-menu .nav-menu-cta { margin-top:12px; background:var(--gold); color:var(--navy-d); text-align:center; border-radius:6px; font-weight:700; font-size:14px; padding:14px; border-bottom:none; }

/* ═══ MOBILE MENÜ-LASCHE (Ausbuchtung unter dem DE) ═══ */
.nav-lasche {
  display:none; position:absolute; top:100%; right:14px;
  width:74px; height:28px; border:0; padding:0; cursor:pointer;
  background:rgba(10,20,40,0.97);
  border-radius:0 0 15px 15px;
  box-shadow:0 8px 16px rgba(0,0,0,0.30);
  -webkit-tap-highlight-color:transparent;
}
.nav-lasche span {
  position:absolute; left:50%; top:50%; width:24px; height:2.5px;
  margin:-1px 0 0 -12px; background:var(--gold); border-radius:2px;
  transition:transform .28s ease;
}
.nav-lasche span:nth-child(1){ transform:translateY(-4px); }
.nav-lasche span:nth-child(2){ transform:translateY(4px); }
.nav-lasche.open span:nth-child(1){ transform:rotate(45deg); }
.nav-lasche.open span:nth-child(2){ transform:rotate(-45deg); }
.nav-lasche:focus-visible{ outline:2px solid var(--gold-l); outline-offset:2px; }
@media(max-width:900px){ .nav-lasche{ display:block; } }
@media(prefers-reduced-motion:reduce){ .nav-lasche span{ transition:none; } }

#hero {
  min-height:88vh; background:var(--navy-d);
  position:relative; overflow:hidden;
  display:flex; align-items:center; padding:64px 5% 0;
  background-image: linear-gradient(135deg, rgba(15,31,56,0.95) 0%, rgba(29,58,101,0.85) 45%, rgba(29,58,101,0.60) 100%);
  background-size:cover; background-position:center right;
}
#hero .hero-bg1 {
  content:''; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 90% 80% at 65% 40%, rgba(29,58,101,0.5) 0%, transparent 65%),
    radial-gradient(ellipse 50% 60% at 5% 90%, rgba(176,158,128,0.06) 0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 95% 10%, rgba(176,158,128,0.04) 0%, transparent 50%);
}
#hero .hero-grid2 {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(176,158,128,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176,158,128,0.03) 1px, transparent 1px);
  background-size:60px 60px;
}
#hero .hero-anim { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.orb-frame { border:0; background:transparent; display:block; }
#hero .hero-anim .orb-frame { position:absolute; top:80px; right:0; transform:none; width:56%; max-width:740px; height:74%; max-height:680px; pointer-events:none; }
#leistungen .lst-headrow { display:grid; grid-template-columns:1.1fr 0.9fr; align-items:center; gap:44px; }
#leistungen .lst-orb { width:320px; height:320px; justify-self:center; }
#leistungen .lst-orb .orb-frame { width:100%; height:100%; }
#firmen .firmen-blocks .orb-frame, #b2b .firmen-blocks .orb-frame { width:100%; max-width:300px; height:300px; }
@media(max-width:900px){ #leistungen .lst-headrow { grid-template-columns:1fr; } #leistungen .lst-orb { display:none; } }
#hero .hero-anim svg { position:absolute; top:50%; right:1%; transform:translateY(-50%); width:54%; max-width:660px; height:auto; overflow:visible; opacity:.92; }
#hero .hero-inner { position:relative; z-index:2; }
.iso-cube { transform-box:fill-box; transform-origin:center; opacity:0; will-change:transform,opacity; animation:isoIn 7.5s cubic-bezier(.22,1,.36,1) infinite; animation-delay:var(--d); }
@keyframes isoIn {
  0%   { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.35); }
  16%  { opacity:1; transform:translate(0,0) rotate(0deg) scale(1); }
  84%  { opacity:1; transform:translate(0,0) rotate(0deg) scale(1); }
  100% { opacity:0; transform:translate(calc(var(--dx) * -0.6),calc(var(--dy) * -0.6)) rotate(calc(var(--rot) * -1)) scale(.35); }
}
@media(max-width:900px){ #hero .hero-anim svg { right:50%; transform:translate(50%,-50%); width:80%; opacity:.4; } }
@media(max-width:768px){ #hero .hero-anim{ display:block; } #hero .hero-anim .orb-frame{ top:60px; right:0; width:52%; max-width:188px; height:188px; max-height:188px; opacity:.7; } }
@media(prefers-reduced-motion:reduce){ .iso-cube { animation:none; opacity:1; transform:none; } }
#hero .hero-inner {
  position:relative; z-index:1;
  max-width:var(--maxw); margin:0 auto; width:100%;
  padding:80px 0;
  display:grid; grid-template-columns:1.05fr 0.95fr; gap:72px; align-items:stretch;
}
#hero h1 {
  font-family:'DM Serif Display',serif;
  font-size:clamp(40px,5.2vw,66px); line-height:1.06;
  color:#fff; margin-bottom:26px; letter-spacing:-0.01em;
}
#hero h1 em { font-style:italic; color:var(--gold-l); }
#hero p.hero-h { font-family:'DM Serif Display',serif; font-size:clamp(40px,5.2vw,66px); line-height:1.06; color:#fff; margin:0.67em 0 26px; letter-spacing:-0.01em; }
#hero p.hero-h em { font-style:italic; color:var(--gold-l); }
#hero .hero-sub {
  font-size:16px; line-height:1.78; color:rgba(255,255,255,0.55);
  font-weight:300; margin-bottom:44px; max-width:500px;
}
#hero .hero-btns { display:flex; gap:12px; flex-wrap:nowrap; align-items:stretch; margin-bottom:44px; }
#hero .hero-btns .btn { min-height:58px; justify-content:center; text-align:center; padding:10px 22px; align-items:center; }
@media(max-width:1100px){ #hero .hero-btns { flex-wrap:wrap; } }
#hero .hero-trust { display:flex; gap:34px; flex-wrap:wrap; margin-top:6px; }
#hero .hero-trust-item { display:flex; align-items:center; gap:10px; }
#hero .hero-trust-item svg { width:18px; height:18px; flex-shrink:0; }
#hero .ht-t { font-size:13px; font-weight:600; color:rgba(255,255,255,0.85); }
#hero .ht-s { font-size:11px; color:rgba(255,255,255,0.4); margin-top:1px; }
#hero .hero-r { display:flex; flex-direction:column; }
#hero .quote-card {
  background:rgba(255,255,255,0.032);
  border:1px solid rgba(176,158,128,0.14);
  border-left:3px solid var(--gold);
  border-radius:0 12px 12px 0;
  padding:56px 50px 48px 54px; position:relative;
  height:100%; display:flex; flex-direction:column; justify-content:center;
}
#hero .quote-mark {
  font-family:'DM Serif Display',serif; font-size:64px; line-height:0.6;
  color:rgba(176,158,128,0.12); position:absolute; top:20px; left:22px; pointer-events:none;
}
#hero .quote-text {
  font-family:'DM Serif Display',serif; font-size:27px; line-height:1.58;
  color:rgba(255,255,255,0.85); font-style:italic; margin-bottom:22px;
  position:relative; z-index:1;
}
#hero .quote-author { display:flex; align-items:center; gap:16px; }
#hero .qa-photo {
  width:84px; height:84px; border-radius:50%; object-fit:cover;
  border:2px solid rgba(176,158,128,0.3); flex-shrink:0;
}
#hero .qa-name { font-size:18px; font-weight:600; color:var(--gold-l); }
#hero .qa-role { font-size:14px; color:rgba(255,255,255,0.45); margin-top:2px; }
#hero .qa-firm { font-size:13px; font-weight:600; color:var(--gold-l); margin-top:3px; letter-spacing:0.01em; }
@media(max-width:900px){ #hero .hero-inner { grid-template-columns:1fr; gap:40px; } #hero .hero-r { display:none; } }

#angebot { background:var(--bg); padding:var(--section-y) 5%; }
#angebot .ang-head { text-align:center; max-width:720px; margin:0 auto 44px; }
#angebot .ang-head .eyebrow { color:var(--gold-d); justify-content:center; }
#angebot .ang-head .h-sec { color:var(--navy); }
#angebot .ang-head .h-sec em { color:var(--gold-d); }
#angebot .ang-head .sub-sec { color:var(--txt-m); margin-top:14px; }
#angebot .tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1100px; margin:0 auto; }
#angebot .tile { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--grey); border-radius:16px; padding:34px 30px; text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .25s; }
#angebot .tile:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(29,58,101,0.10); border-color:var(--gold); }
#angebot .tile-num { font-family:'DM Serif Display',serif; font-size:40px; color:rgba(29,58,101,0.16); line-height:1; margin-bottom:14px; }
#angebot .tile-eyebrow { font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-d); margin-bottom:8px; }
#angebot .tile h3 { font-family:'DM Serif Display',serif; font-size:23px; color:var(--navy); margin-bottom:10px; }
#angebot .tile p { font-size:13.5px; line-height:1.7; color:var(--txt-m); font-weight:300; flex:1; margin-bottom:20px; }
#angebot .tile-link { font-size:13px; font-weight:600; color:var(--navy); }
#angebot .tile:hover .tile-link { color:var(--gold-d); }
@media(max-width:900px){ #angebot .tiles { grid-template-columns:1fr; } }

#ansatz { background:var(--navy-d); padding:80px 5% 88px; position:relative; overflow:hidden; }
#ansatz::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right, transparent, rgba(176,158,128,0.3) 30%, rgba(176,158,128,0.3) 70%, transparent); }
#ansatz .merge-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:stretch; max-width:1200px; margin:0 auto; }
#ansatz .h-sec { margin-bottom:40px; }
#ansatz .numbers-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(176,158,128,0.18); border-radius:14px; overflow:hidden; height:100%; }
#ansatz .num-item { background:rgba(15,31,56,0.85); padding:30px 28px; transition:background .2s; }
#ansatz .num-item:hover { background:rgba(176,158,128,0.08); }
#ansatz .num-eyebrow { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
#ansatz .num-value { font-family:'DM Serif Display',serif; font-size:clamp(38px,3.8vw,52px); color:#fff; line-height:1; margin-bottom:8px; }
#ansatz .num-value span { font-size:0.55em; color:var(--gold-l); vertical-align:super; }
#ansatz .num-label { font-size:13px; font-weight:600; color:var(--gold-l); margin-bottom:6px; }
#ansatz .num-desc { font-size:12px; line-height:1.7; color:rgba(255,255,255,0.5); font-weight:300; }
#ansatz .num-ico { margin-bottom:14px; }
#ansatz .num-ico svg { width:38px; height:38px; display:block; }
#ansatz .card { background:rgba(255,255,255,0.032); border:1px solid rgba(176,158,128,0.14); border-radius:16px; overflow:hidden; position:sticky; top:80px; }
#ansatz .card-top { padding:36px 36px 0; }
#ansatz .card-pill { display:inline-block; font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }
#ansatz .card-title { font-family:'DM Serif Display',serif; font-size:26px; color:#fff; line-height:1.25; margin-bottom:16px; }
#ansatz .card-title em { font-style:italic; color:var(--gold-l); }
#ansatz .card-body { font-size:13px; line-height:1.85; color:rgba(255,255,255,0.5); font-weight:300; margin-bottom:28px; }
#ansatz .card-divider { height:1px; background:linear-gradient(to right, rgba(176,158,128,0.15), transparent); margin:0 36px; }
#ansatz .card-checks { padding:24px 36px; display:flex; flex-direction:column; gap:12px; }
#ansatz .check-item { display:flex; align-items:flex-start; gap:12px; }
#ansatz .check-dot { width:18px; height:18px; border-radius:50%; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; font-size:9px; color:var(--gold); }
#ansatz .check-text { font-size:13px; color:rgba(255,255,255,0.65); font-weight:300; line-height:1.5; }
#ansatz .card-footer { padding:20px 36px 28px; border-top:1px solid rgba(176,158,128,0.08); margin-top:4px; }
#ansatz .card-note { font-size:12px; color:var(--gold-l); font-style:italic; line-height:1.6; margin-bottom:14px; }
@media(max-width:900px){ #ansatz .merge-grid { grid-template-columns:1fr; gap:40px; } #ansatz .numbers-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ #ansatz .numbers-grid { grid-template-columns:1fr; } }

#reviews { background:var(--navy-d); padding:56px 0 0; }
#reviews .rv-head { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; margin-bottom:48px; }
#reviews .rv-score-box { display:flex; align-items:center; gap:28px; }
#reviews .rv-score { text-align:center; }
#reviews .rv-score-n { font-family:'DM Serif Display',serif; font-size:64px; color:var(--gold-d); line-height:1; }
#reviews .rv-stars { color:var(--gold); font-size:16px; letter-spacing:3px; margin-top:4px; }
#reviews .rv-score-meta { border-left:1px solid var(--grey); padding-left:28px; }
#reviews .rv-recommend { font-family:'DM Serif Display',serif; font-size:30px; color:var(--gold-d); line-height:1; }
#reviews .rv-recommend-label { font-size:12px; color:var(--gold-d); font-weight:300; margin-top:6px; }
#reviews .rv-nav { display:flex; gap:10px; }
#reviews .rv-arrow { width:44px; height:44px; border-radius:50%; border:1px solid var(--grey); background:var(--white); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; color:var(--navy); }
#reviews .rv-arrow:hover { border-color:var(--gold); background:var(--bg); }
#reviews .rv-arrow svg { width:18px; height:18px; }
#reviews .rv-viewport { overflow:hidden; }
#reviews .rv-track { display:flex; transition:transform .5s cubic-bezier(0.4,0,0.2,1); }
#reviews .rv-slide { min-width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
#reviews .rv-card { border:1px solid var(--grey); border-radius:14px; padding:32px; background:var(--bg); display:flex; flex-direction:column; transition:box-shadow .2s, border-color .2s; }
#reviews .rv-card:hover { border-color:rgba(176,158,128,0.35); box-shadow:0 8px 28px rgba(29,58,101,0.07); }
#reviews .rv-card.featured { background:var(--gold); border-color:var(--gold); }
#reviews .rv-card-stars { color:var(--gold); font-size:13px; letter-spacing:2px; margin-bottom:16px; }
#reviews .rv-quote { font-size:14px; line-height:1.8; color:var(--txt); font-weight:300; flex:1; margin-bottom:24px; }
#reviews .rv-card.featured .rv-quote { color:var(--navy-d); }
#reviews .rv-author { display:flex; align-items:center; gap:14px; }
#reviews .rv-avatar { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg, var(--gold), var(--gold-d)); display:flex; align-items:center; justify-content:center; font-family:'DM Serif Display',serif; font-size:18px; color:#fff; flex-shrink:0; }
#reviews .rv-card.featured .rv-avatar { background:var(--navy-d); color:var(--gold-l); }
#reviews .rv-author-name { font-size:13px; font-weight:600; color:var(--navy); }
#reviews .rv-card.featured .rv-author-name { color:var(--navy-d); }
#reviews .rv-card.featured .rv-card-stars { color:var(--navy-d); }
#reviews .rv-card.featured .rv-quote { color:var(--navy-d); }
#reviews .rv-author-role { font-size:11px; color:var(--txt-l); font-weight:300; margin-top:2px; line-height:1.4; }
#reviews .rv-card.featured .rv-author-role { color:rgba(15,31,56,0.6); }
#reviews .rv-dots { display:flex; justify-content:center; gap:8px; margin-top:32px; }
#reviews .rv-dot { width:8px; height:8px; border-radius:50%; background:var(--grey); cursor:pointer; transition:all .2s; border:none; padding:0; }
#reviews .rv-dot.active { background:var(--gold); width:24px; border-radius:4px; }
#reviews .rv-cta { text-align:center; margin-top:40px; }
@media(max-width:900px){ #reviews .rv-head { grid-template-columns:1fr; } #reviews .rv-slide { grid-template-columns:1fr; } #reviews .rv-nav { display:none; } }

#tools { background:var(--white); padding:90px 5% 40px; position:relative; overflow:hidden; }
#tools::before { content:""; position:absolute; top:0; right:0; width:46%; height:340px; z-index:0; background-image:linear-gradient(to right, var(--white) 0%, rgba(255,255,255,0.85) 22%, rgba(255,255,255,0.45) 100%), url("../assets/asset-e1f0a91a.jpg"); background-size:cover; background-position:center right; opacity:0.55; pointer-events:none; }
#tools > * { position:relative; z-index:1; }
#tools .tools-head { margin-bottom:40px; }
#tools .slogan { font-size:15px; color:var(--txt-m); font-weight:300; margin-top:18px; line-height:1.6; }
#tools .tabs { display:flex; gap:12px; margin-bottom:40px; max-width:none; flex-wrap:wrap; }
#tools .tab { flex:1 1 0; min-width:158px; padding:16px 14px; text-align:center; font-size:12px; font-weight:600; letter-spacing:0.03em; color:var(--txt-m); cursor:pointer; background:var(--white); border:1px solid var(--grey); border-radius:12px; font-family:'Comfortaa',sans-serif; transition:all .2s; line-height:1.4; box-shadow:0 2px 8px rgba(29,58,101,0.05); }
#tools .tab:hover { border-color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 20px rgba(29,58,101,0.10); }
#tools .tab.active { background:var(--navy); color:var(--white); }
#tools .tab .tab-price { display:block; font-size:10px; font-weight:400; opacity:0.65; margin-top:3px; }
#tools .tab.active .tab-price { opacity:0.8; color:var(--gold-l); }
#tools .panel { display:none; }
#tools .panel.active { display:block; }
#tools .calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
#tools .calc-inputs { background:var(--bg); border:1px solid var(--grey); border-radius:14px; padding:36px; }
#tools .calc-inputs h3 { font-size:14px; font-weight:600; color:var(--navy); margin-bottom:28px; }
#tools .sg { margin-bottom:28px; }
#tools .sg:last-child { margin-bottom:0; }
#tools .sg-label { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
#tools .sg-label > span:first-child { font-size:12px; color:var(--txt-m); font-weight:600; }
#tools .sg-val { font-family:'DM Serif Display',serif; font-size:20px; color:var(--navy); }
#tools .sg-unit { font-size:11px; color:var(--gold-d); margin-left:2px; }
#tools input[type=range] { width:100%; -webkit-appearance:none; appearance:none; height:3px; background:var(--grey); border-radius:2px; outline:none; cursor:pointer; }
#tools input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:var(--navy); cursor:pointer; border:2px solid var(--white); box-shadow:0 0 0 2px var(--navy); }
#tools input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--navy); cursor:pointer; border:2px solid var(--white); }
#tools .sg-mm { display:flex; justify-content:space-between; margin-top:5px; }
#tools .sg-mm span { font-size:10px; color:#bbb; }
#tools .calc-results { display:flex; flex-direction:column; gap:16px; }
#tools .rc { background:var(--navy-d); border-radius:12px; padding:24px 28px; position:relative; overflow:hidden; }
#tools .rc-label { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.35); margin-bottom:10px; }
#tools .rc-value { font-family:'DM Serif Display',serif; font-size:32px; color:var(--white); line-height:1; margin-bottom:6px; }
#tools .rc-value.warning { color:var(--orange); }
#tools .rc-sub { font-size:12px; color:rgba(255,255,255,0.4); font-weight:300; }
#tools .rc-bar-wrap { margin-top:14px; background:rgba(255,255,255,0.06); border-radius:4px; height:6px; overflow:hidden; }
#tools .rc-bar { height:100%; border-radius:4px; background:linear-gradient(90deg, var(--gold), var(--gold-l)); transition:width .6s ease; }
#tools .rc-gap { border:2px solid rgba(248,113,113,0.3); border-radius:12px; padding:24px 28px; background:rgba(248,113,113,0.04); }
#tools .gap-label { font-size:10px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--red); opacity:0.8; margin-bottom:8px; }
#tools .gap-value { font-family:'DM Serif Display',serif; font-size:32px; color:var(--red); margin-bottom:6px; }
#tools .gap-sub { font-size:12px; color:var(--txt-m); font-weight:300; }
#tools .calc-cta { background:transparent; border-radius:0; padding:16px 0 0; display:flex; align-items:center; justify-content:space-between; gap:16px; }
#tools .calc-cta p { font-size:13px; color:var(--navy); font-weight:700; line-height:1.5; }
#tools .calc-cta a { white-space:nowrap; flex-shrink:0; }
#tools .calc-disc { font-size:10px; color:#bbb; line-height:1.6; }
#tools .ob-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
#tools .ob-left { background:var(--navy-d); border-radius:14px; padding:40px; position:relative; overflow:hidden; }
#tools .ob-left::before { content:''; position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%; background:rgba(176,158,128,0.06); }
#tools .ob-pill { display:inline-block; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.2); border-radius:20px; padding:5px 14px; font-size:10px; font-weight:700; letter-spacing:0.12em; color:var(--gold); text-transform:uppercase; margin-bottom:20px; position:relative; }
#tools .ob-price { font-family:'DM Serif Display',serif; font-size:52px; color:var(--white); line-height:1; margin-bottom:6px; position:relative; }
#tools .ob-price sup { font-size:22px; color:var(--gold-l); vertical-align:super; }
#tools .ob-price-label { font-size:13px; color:rgba(255,255,255,0.4); margin-bottom:24px; position:relative; }
#tools .ob-title { font-family:'DM Serif Display',serif; font-size:20px; color:var(--white); line-height:1.3; margin-bottom:14px; position:relative; }
#tools .ob-body { font-size:13px; color:rgba(255,255,255,0.5); font-weight:300; line-height:1.75; margin-bottom:28px; position:relative; }
#tools .ob-checks { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; position:relative; }
#tools .ob-check { display:flex; align-items:flex-start; gap:10px; }
#tools .ob-dot { width:16px; height:16px; border-radius:50%; background:rgba(176,158,128,0.15); border:1px solid rgba(176,158,128,0.3); display:flex; align-items:center; justify-content:center; font-size:8px; color:var(--gold); flex-shrink:0; margin-top:2px; }
#tools .ob-check-text { font-size:12px; color:rgba(255,255,255,0.6); font-weight:300; line-height:1.5; }
#tools .ob-cta { display:block; text-align:center; background:var(--gold); color:var(--navy-d); padding:13px; border-radius:6px; text-decoration:none; font-size:13px; font-weight:700; letter-spacing:0.03em; transition:background .2s; position:relative; }
#tools .ob-cta:hover { background:#fff; color:var(--navy-d); }
#tools .ob-note { text-align:center; font-size:11px; color:rgba(255,255,255,0.25); margin-top:10px; position:relative; }
#tools .ob-right { display:flex; flex-direction:column; gap:16px; }
#tools .ob-step { border:1px solid var(--grey); border-radius:10px; padding:22px 24px; display:flex; gap:16px; align-items:flex-start; background:var(--bg); transition:border-color .2s; }
#tools .ob-step:hover { border-color:rgba(176,158,128,0.4); }
#tools .ob-num { width:32px; height:32px; border-radius:50%; background:var(--navy-d); color:var(--gold-l); font-family:'DM Serif Display',serif; font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#tools .ob-step-title { font-size:13px; font-weight:600; color:var(--navy); margin-bottom:5px; }
#tools .ob-step-desc { font-size:12px; color:var(--txt-m); font-weight:300; line-height:1.6; }
#tools .ob-after { background:rgba(29,58,101,0.05); border:1px dashed rgba(29,58,101,0.2); border-radius:10px; padding:18px 24px; font-size:12px; color:var(--txt-m); font-weight:300; line-height:1.6; }
#tools .ob-after strong { color:var(--navy); font-weight:600; }
#tools .pe-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; }
#tools .pe-left h3 { font-family:'DM Serif Display',serif; font-size:28px; color:var(--navy); line-height:1.2; margin-bottom:14px; }
#tools .pe-left h3 em { font-style:italic; color:var(--gold-d); }
#tools .pe-body { font-size:14px; color:var(--txt-m); font-weight:300; line-height:1.8; margin-bottom:28px; }
#tools .pe-features { display:flex; flex-direction:column; gap:14px; margin-bottom:32px; }
#tools .pf { display:flex; gap:14px; align-items:flex-start; }
#tools .pf-icon { width:40px; height:40px; border-radius:10px; background:#f0f0f0; border:1px solid #e0e0e0; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s; }
#tools .pf:hover .pf-icon { background:#e8e8e8; }
#tools .pf-icon svg { width:20px; height:20px; }
#tools .pf-title { font-size:13px; font-weight:600; color:var(--navy); margin-bottom:3px; }
#tools .pf-desc { font-size:12px; color:var(--txt-m); font-weight:300; line-height:1.5; }
#tools .pe-right { background:var(--navy-d); border-radius:14px; padding:36px; }
#tools .pe-right-title { font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
#tools .pe-item { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid rgba(176,158,128,0.08); }
#tools .pe-item:last-child { border-bottom:none; }
#tools .pe-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; opacity:0.6; }
#tools .pe-text { font-size:13px; color:rgba(255,255,255,0.6); font-weight:300; }
#tools .pe-free { margin-top:20px; padding:16px; background:rgba(176,158,128,0.08); border:1px solid rgba(176,158,128,0.18); border-radius:8px; font-size:12px; color:var(--gold-l); text-align:center; font-style:italic; line-height:1.6; }
@media(max-width:900px){ #tools .calc-grid, #tools .ob-grid, #tools .pe-grid { grid-template-columns:1fr; } #tools .tabs { flex-direction:column; } }

/* ONLINE-ANALYSE: launcher button + questionnaire viewer */
#tools .ob-cta { cursor:pointer; border:none; font-family:'Comfortaa',sans-serif; }
#tools .ob-viewer { display:none; }
#tools .ob-viewer.active { display:block; }
#tools .ob-launcher { display:block; }
#tools .ob-launcher.hidden { display:none; }
#tools .ob-viewer-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
#tools .ob-back { display:inline-flex; align-items:center; gap:8px; background:none; border:1px solid var(--grey); border-radius:8px; padding:9px 16px; cursor:pointer; font-family:'Comfortaa',sans-serif; font-size:12px; font-weight:600; color:var(--navy); transition:all .2s; }
#tools .ob-back:hover { border-color:var(--gold); background:var(--bg); }
#tools .ob-back svg { width:16px; height:16px; }
#tools .ob-viewer-title { font-family:'DM Serif Display',serif; font-size:20px; color:var(--navy); flex:1; text-align:center; min-width:160px; }
#tools .ob-newtab { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:var(--gold-d); text-decoration:none; letter-spacing:0.02em; transition:color .2s; }
#tools .ob-newtab:hover { color:var(--gold); }
#tools .ob-newtab svg { width:14px; height:14px; }
#tools .ob-iframe-wrap { border:1px solid var(--grey); border-radius:14px; overflow:hidden; background:#f8f7f4; box-shadow:0 8px 32px rgba(29,58,101,0.08); }
#tools .ob-iframe-wrap iframe { width:100%; height:880px; border:none; display:block; }
@media(max-width:900px){ #tools .ob-iframe-wrap iframe { height:760px; } #tools .ob-viewer-title { order:-1; width:100%; text-align:left; } }

/* RECHNER PANEL */
#tools .rch-intro { margin-bottom:28px; max-width:680px; }
#tools .rch-intro-text { font-size:14px; line-height:1.7; color:var(--txt-m); font-weight:300; }
#tools .rch-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#tools .rch-more { margin-top:20px; text-align:center; font-size:13px; line-height:1.6; color:var(--txt-m); font-weight:300; }
#tools .rch-more a { color:var(--gold-d); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(176,158,128,0.4); }
#tools .rch-more a:hover { color:var(--navy); border-color:var(--navy); }
#tools .rch-card { border:1px solid var(--grey); border-radius:14px; padding:28px 26px; background:var(--bg); cursor:pointer; transition:border-color .2s, box-shadow .2s, transform .2s; display:flex; flex-direction:column; }
#tools .rch-card:hover { border-color:rgba(176,158,128,0.45); box-shadow:0 10px 32px rgba(29,58,101,0.09); transform:translateY(-3px); }
#tools .rch-icon { width:48px; height:48px; border-radius:12px; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.22); display:flex; align-items:center; justify-content:center; margin-bottom:18px; transition:background .2s, border-color .2s; }
#tools .rch-card:hover .rch-icon { background:#e9e4d8; border-color:rgba(176,158,128,0.35); }
#tools .rch-icon svg { width:24px; height:24px; }
#tools .rch-theme { font-size:9px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-d); margin-bottom:8px; }
#tools .rch-title { font-size:15px; font-weight:600; color:var(--navy); margin-bottom:9px; line-height:1.3; }
#tools .rch-desc { font-size:12px; line-height:1.65; color:var(--txt-m); font-weight:300; flex:1; margin-bottom:18px; }
#tools .rch-open { font-size:12px; font-weight:700; color:var(--gold-d); letter-spacing:0.03em; display:inline-flex; align-items:center; gap:5px; transition:gap .2s; }
#tools .rch-card:hover .rch-open { gap:9px; color:var(--gold); }
/* viewer */
#tools .rch-viewer { display:none; }
#tools .rch-viewer.active { display:block; }
#tools .rch-viewer-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
#tools .rch-back { display:inline-flex; align-items:center; gap:8px; background:none; border:1px solid var(--grey); border-radius:8px; padding:9px 16px; cursor:pointer; font-family:'Comfortaa',sans-serif; font-size:12px; font-weight:600; color:var(--navy); transition:all .2s; }
#tools .rch-back:hover { border-color:var(--gold); background:var(--bg); }
#tools .rch-back svg { width:16px; height:16px; }
#tools .rch-viewer-title { font-family:'DM Serif Display',serif; font-size:20px; color:var(--navy); flex:1; text-align:center; min-width:160px; }
#tools .rch-newtab { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:600; color:var(--gold-d); text-decoration:none; letter-spacing:0.02em; transition:color .2s; }
#tools .rch-newtab:hover { color:var(--gold); }
#tools .rch-newtab svg { width:14px; height:14px; }
#tools .rch-iframe-wrap { border:1px solid var(--grey); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 8px 32px rgba(29,58,101,0.08); }
#tools .rch-iframe-wrap iframe { width:100%; min-height:760px; border:none; display:block; }
#tools .rch-disclaimer { font-size:10px; color:#bbb; line-height:1.6; margin-top:12px; }
@media(max-width:900px){ #tools .rch-grid { grid-template-columns:1fr; } #tools .rch-iframe-wrap iframe { min-height:560px; } #tools .rch-viewer-title { order:-1; width:100%; text-align:left; } }

/* ═══ DIENSTLEISTUNGEN — Privat (#leistungen) + Unternehmen (#b2b), beide navy ═══ */
#leistungen { background:var(--navy-d); padding:var(--section-y) 5% var(--section-y-sm); }
#leistungen .lst-head { margin-bottom:var(--section-y-sm); }
#leistungen .lst-head .sub-sec { margin-top:14px; }
#leistungen .eyebrow { color:var(--gold-l); }
#leistungen .h-sec { color:#fff; }
#leistungen .h-sec em { color:var(--gold-l); }
#leistungen .sub-sec { color:rgba(255,255,255,0.65); }

#leistungen .svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
#leistungen .svc { background:rgba(255,255,255,0.04); border:1px solid rgba(176,158,128,0.16); border-radius:var(--card-radius); padding:var(--card-pad); transition:background .25s, border-color .25s, transform .25s; display:flex; flex-direction:column; position:relative; }
#leistungen .svc:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.4); transform:translateY(-3px); }
#leistungen .svc-n { font-family:'DM Serif Display',serif; font-size:52px; color:rgba(207,192,166,0.35); line-height:1; margin-bottom:18px; transition:color .3s; }
#leistungen .svc:hover .svc-n { color:var(--gold-l); }
#leistungen .svc h3 { font-size:18px; font-weight:700; color:var(--gold-l); margin-bottom:6px; }
#leistungen .svc-tag { font-size:10px; font-weight:700; letter-spacing:0.08em; color:var(--gold); text-transform:uppercase; margin-bottom:18px; display:block; }
#leistungen .svc-anchor { position:relative; border-color:rgba(176,158,128,0.45); }
#leistungen .svc-anchor-badge { position:absolute; top:18px; right:18px; display:inline-block; background:var(--gold); color:var(--navy-d); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:5px 13px; border-radius:999px; }
#leistungen .svc-acc { margin-bottom:18px; }
#leistungen .acc-trigger { display:flex; align-items:center; justify-content:space-between; cursor:pointer; padding:10px 0; border-bottom:1px solid rgba(176,158,128,0.18); transition:border-color .2s; }
#leistungen .acc-trigger:hover { border-color:rgba(176,158,128,0.45); }
#leistungen .acc-label { font-size:11px; font-weight:700; letter-spacing:0.06em; color:rgba(255,255,255,0.85); text-transform:uppercase; }
#leistungen .acc-icon { width:18px; height:18px; border-radius:50%; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.3); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--gold-l); flex-shrink:0; transition:all .2s; }
#leistungen .acc-trigger.open .acc-icon { background:var(--gold); color:var(--navy-d); transform:rotate(45deg); }
#leistungen .acc-body { display:none; padding:10px 0 4px; }
#leistungen .acc-body.open { display:block; }
#leistungen .acc-body ul { padding-left:14px; }
#leistungen .acc-body li { font-size:12px; line-height:1.75; color:rgba(255,255,255,0.8); font-weight:300; margin-bottom:3px; }
#leistungen .svc-benefits { display:flex; flex-direction:column; gap:9px; margin-bottom:22px; flex:1; }
#leistungen .svc-benefit { display:flex; align-items:flex-start; gap:10px; }
#leistungen .sb-dot { width:16px; height:16px; border-radius:50%; background:rgba(176,158,128,0.28); border:1px solid rgba(176,158,128,0.65); display:flex; align-items:center; justify-content:center; font-size:8px; color:var(--gold-l); flex-shrink:0; margin-top:2px; }
#leistungen .sb-text { font-size:12px; line-height:1.6; color:rgba(255,255,255,0.88); font-weight:300; }
#leistungen .svc-link { font-size:12px; font-weight:700; color:var(--gold-l); text-decoration:none; letter-spacing:0.04em; display:inline-flex; align-items:center; gap:5px; transition:gap .2s; margin-top:auto; }
#leistungen .svc:hover .svc-link { gap:9px; }
@media(max-width:900px){ #leistungen .svc-grid { grid-template-columns:1fr; } }

/* Anker-Karte (Umfassende Finanzplanung) — sichtbarer Höhepunkt der Treppe */
#leistungen .svc.svc-anchor { background:linear-gradient(180deg, rgba(176,158,128,0.14), rgba(176,158,128,0.05)); border-color:rgba(176,158,128,0.55); box-shadow:0 18px 50px rgba(0,0,0,0.28); }
#leistungen .svc.svc-anchor:hover { border-color:var(--gold); background:linear-gradient(180deg, rgba(176,158,128,0.18), rgba(176,158,128,0.07)); }
#leistungen .svc.svc-anchor .svc-n { color:var(--gold-l); }
#leistungen .svc.svc-anchor h3 { color:#fff; }
#leistungen .svc-anchor-badge { position:absolute; top:18px; right:18px; display:inline-block; background:var(--gold); color:var(--navy-d); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:5px 13px; border-radius:999px; }

/* ═══ FIRMEN & UNTERNEHMER (#firmen) — navy, gleiche Kartensprache wie B2B ═══ */
#firmen { background:var(--white); padding:var(--section-y-sm) 5%; }
#firmen .b2b-head { margin-bottom:var(--section-y-sm); }
#firmen .b2b-head .sub-sec { margin-top:14px; }
#firmen .b2b-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
#firmen .b2b-card { background:rgba(255,255,255,0.04); border:1px solid rgba(176,158,128,0.16); border-radius:var(--card-radius); padding:var(--card-pad); transition:background .25s, border-color .25s, transform .25s; display:flex; flex-direction:column; }
#firmen .b2b-card.b2b-anchor { position:relative; border-color:rgba(176,158,128,0.5); box-shadow:0 18px 50px rgba(0,0,0,0.10); }
#firmen .b2b-anchor-badge { position:absolute; top:18px; right:18px; display:inline-block; background:var(--gold); color:var(--navy-d); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:5px 13px; border-radius:999px; }
#firmen .b2b-card:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.4); transform:translateY(-3px); }
#firmen .b2b-num { font-family:'DM Serif Display',serif; font-size:52px; color:rgba(207,192,166,0.35); line-height:1; margin-bottom:18px; transition:color .3s; }
#firmen .b2b-card:hover .b2b-num { color:var(--gold-l); }
#firmen .b2b-card h3 { font-size:18px; font-weight:700; color:var(--gold-l); margin-bottom:6px; }
#firmen .b2b-sub { font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; display:block; }
#firmen .b2b-body { font-size:13px; line-height:1.8; color:rgba(255,255,255,0.6); font-weight:300; margin-bottom:18px; }
#firmen .b2b-qs { margin-bottom:18px; flex:1; }
#firmen .b2b-ql { font-size:10px; font-weight:700; letter-spacing:0.06em; color:rgba(255,255,255,0.4); text-transform:uppercase; margin-bottom:8px; }
#firmen .b2b-qs ul { padding-left:14px; }
#firmen .b2b-qs li { font-size:12px; line-height:1.75; color:rgba(255,255,255,0.6); font-weight:300; margin-bottom:3px; }
#firmen .b2b-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
#firmen .b2b-tag { border:1px solid rgba(176,158,128,0.25); color:var(--gold-l); padding:3px 12px; border-radius:20px; font-size:10px; }
@media(max-width:900px){ #firmen .b2b-grid { grid-template-columns:1fr; } }
#firmen .firmen-intro { display:grid; grid-template-columns:1.1fr 0.9fr; gap:52px; align-items:center; margin-bottom:var(--section-y-sm); }
#firmen .firmen-intro .b2b-head { margin-bottom:0; }
#firmen .firmen-blocks { display:flex; flex-direction:column; align-items:center; gap:16px; }
#firmen .firmen-blocks { overflow:visible; }
#firmen .firmen-blocks svg { width:100%; max-width:165px; height:auto; display:block; overflow:visible; transform:rotate(90deg); transform-origin:center; }
#firmen .firmen-cap { font-size:11.5px; letter-spacing:0.02em; color:var(--gold-d); text-align:center; max-width:300px; line-height:1.6; margin:0; }
#firmen .fb-piece { transform-box:fill-box; transform-origin:center; opacity:0; animation:fbIn 6s cubic-bezier(.34,1.4,.5,1) infinite; }
@keyframes fbIn { 0%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.55)} 13%{opacity:1;transform:translate(0,0) scale(1)} 86%{opacity:1;transform:translate(0,0) scale(1)} 100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.55)} }
@media(max-width:900px){ #firmen .firmen-intro { grid-template-columns:1fr; gap:32px; } #firmen .firmen-blocks svg { max-width:210px; } }
#b2b .firmen-intro { display:grid; grid-template-columns:1.15fr 0.85fr; gap:52px; align-items:center; margin-bottom:var(--section-y-sm); }
#b2b .firmen-intro .b2b-head { margin-bottom:0; }
#b2b .firmen-blocks { display:flex; flex-direction:column; align-items:center; overflow:visible; }
#b2b .firmen-blocks svg { width:100%; max-width:165px; height:auto; display:block; overflow:visible; transform:rotate(90deg); transform-origin:center; }
@media(max-width:900px){ #b2b .firmen-intro { grid-template-columns:1fr; gap:28px; } #b2b .firmen-blocks { justify-content:center; } #b2b .firmen-blocks svg { max-width:200px; } }
@media(prefers-reduced-motion:reduce){ #firmen .fb-piece { animation:none; opacity:1; transform:none; } }

/* Unternehmen */
#b2b { background:var(--white); padding:var(--section-y-sm) 5% var(--section-y); }
#b2b .b2b-head { margin-bottom:var(--section-y-sm); }
#b2b .b2b-head .sub-sec { margin-top:14px; }
#b2b .b2b-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap); max-width:820px; margin:0 auto; }
#b2b .b2b-card { background:rgba(255,255,255,0.04); border:1px solid rgba(176,158,128,0.16); border-radius:var(--card-radius); padding:var(--card-pad); transition:background .25s, border-color .25s, transform .25s; display:flex; flex-direction:column; }
#b2b .b2b-card:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.4); transform:translateY(-3px); }
#b2b .b2b-num { font-family:'DM Serif Display',serif; font-size:52px; color:rgba(207,192,166,0.35); line-height:1; margin-bottom:18px; transition:color .3s; }
#b2b .b2b-card:hover .b2b-num { color:var(--gold-l); }
#b2b .b2b-card h3 { font-size:18px; font-weight:700; color:var(--gold-l); margin-bottom:6px; }
#b2b .b2b-sub { font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; display:block; }
#b2b .b2b-body { font-size:13px; line-height:1.8; color:rgba(255,255,255,0.6); font-weight:300; margin-bottom:18px; }
#b2b .b2b-qs { margin-bottom:18px; flex:1; }
#b2b .b2b-ql { font-size:10px; font-weight:700; letter-spacing:0.06em; color:rgba(255,255,255,0.4); text-transform:uppercase; margin-bottom:8px; }
#b2b .b2b-qs ul { padding-left:14px; }
#b2b .b2b-qs li { font-size:12px; line-height:1.75; color:rgba(255,255,255,0.6); font-weight:300; margin-bottom:3px; }
#b2b .b2b-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
#b2b .b2b-tag { border:1px solid rgba(176,158,128,0.25); color:var(--gold-l); padding:3px 12px; border-radius:20px; font-size:10px; }
@media(max-width:900px){ #b2b .b2b-grid { grid-template-columns:1fr; } }

/* ═══ Kompakter Pfad-Block (Firmen + B2B), weiss ═══ */
.flow { margin-top:52px; padding-top:42px; border-top:1px solid rgba(29,58,101,0.12); }
.flow-h { font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-d); margin-bottom:30px; }
.flow-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative; }
.flow-steps::before { content:''; position:absolute; top:21px; left:16%; right:16%; height:1px; background:rgba(29,58,101,0.12); z-index:0; }
.flow-step { position:relative; z-index:1; }
.flow-num { width:44px; height:44px; border-radius:50%; background:var(--bg); border:1px solid rgba(176,158,128,0.5); color:var(--gold-d); font-family:'DM Serif Display',serif; font-size:19px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.flow-step h4 { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:7px; }
.flow-step p { font-size:12.5px; line-height:1.7; color:var(--txt-m); font-weight:300; }
.flow-docs { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.flow-doc { border:1px solid rgba(176,158,128,0.4); color:var(--gold-d); padding:3px 11px; border-radius:20px; font-size:10px; line-height:1.4; }
.flow-cta { margin-top:34px; }
@media(max-width:760px){ .flow-steps { grid-template-columns:1fr; gap:24px; } .flow-steps::before { display:none; } }

/* ═══ Firmen + B2B auf weiss: Text-/Karten-Farben ═══ */
#firmen .eyebrow.on-dark, #b2b .eyebrow.on-dark { color:var(--gold-d); }
#firmen .h-sec.on-dark, #b2b .h-sec.on-dark { color:var(--navy); }
#firmen .h-sec.on-dark em, #b2b .h-sec.on-dark em { color:var(--gold-d); }
#firmen .sub-sec.on-dark, #b2b .sub-sec.on-dark { color:var(--txt-m); }
#firmen .b2b-card, #b2b .b2b-card { background:var(--bg); border-color:rgba(29,58,101,0.12); }
#firmen .b2b-card:hover, #b2b .b2b-card:hover { background:rgba(29,58,101,0.04); border-color:var(--navy); }
#firmen .b2b-num, #b2b .b2b-num { color:rgba(29,58,101,0.18); }
#firmen .b2b-card:hover .b2b-num, #b2b .b2b-card:hover .b2b-num { color:var(--gold-d); }
#firmen .b2b-card h3, #b2b .b2b-card h3 { color:var(--navy); }
#firmen .b2b-sub, #b2b .b2b-sub { color:var(--gold-d); }
#firmen .b2b-body, #b2b .b2b-body { color:var(--txt-m); }
#firmen .b2b-ql, #b2b .b2b-ql { color:var(--txt-m); }
#firmen .b2b-qs li, #b2b .b2b-qs li { color:var(--txt); }
#firmen .b2b-tag, #b2b .b2b-tag { border-color:rgba(176,158,128,0.4); color:var(--gold-d); }

#prozess { background:var(--white); padding:var(--section-y) 5%; }
#prozess .proz-head { margin-bottom:48px; }
#prozess .proz-head .sub-sec { margin-top:14px; }
#prozess .path-tabs { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin:0 auto 44px; max-width:980px; }
#prozess .path-tab { background:var(--bg); border:1px solid rgba(29,58,101,0.15); border-radius:14px; overflow:hidden; cursor:pointer; transition:all .2s; position:relative; }
#prozess .path-tab::after { content:"▾"; position:absolute; top:18px; right:22px; z-index:2; color:var(--navy); font-size:15px; transition:transform .25s; opacity:0.7; }
#prozess .path-tab.active::after { transform:rotate(180deg); color:var(--gold-l); }
#prozess .path-tab:hover { background:rgba(29,58,101,0.05); border-color:var(--navy); }
#prozess .path-tab.active { background:var(--navy-d); border-color:var(--navy-d); }
#prozess .pt-label { font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); margin-bottom:7px; }
#prozess .pt-title { font-size:14px; font-weight:600; color:#fff; margin-bottom:5px; }
#prozess .pt-sub { font-size:11px; color:rgba(255,255,255,0.4); font-weight:300; line-height:1.5; }
#prozess .pt-price { display:inline-block; margin-top:10px; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.2); border-radius:20px; padding:3px 12px; font-size:10px; color:var(--gold-l); font-weight:600; }
#prozess .ppanel { display:none; }
#prozess .ppanel.active { display:block; }
#prozess .steps-wrap { position:relative; }
#prozess .steps-line { position:absolute; left:27px; top:28px; bottom:28px; width:1px; background:linear-gradient(to bottom, transparent, rgba(176,158,128,0.2) 8%, rgba(176,158,128,0.2) 92%, transparent); }
#prozess .pstep { display:grid; grid-template-columns:56px 1fr; gap:28px; align-items:start; padding:28px 0; border-bottom:1px solid rgba(176,158,128,0.07); position:relative; transition:all .2s; }
#prozess .pstep:first-child { padding-top:0; }
#prozess .pstep:last-child { border-bottom:none; padding-bottom:0; }
#prozess .pstep:hover .pstep-dot { background:rgba(176,158,128,0.18); border-color:rgba(176,158,128,0.5); }
#prozess .pstep:hover .pstep-title { color:var(--gold-d); }
#prozess .pstep-dot { width:56px; height:56px; border-radius:50%; background:rgba(176,158,128,0.12); border:1px solid rgba(176,158,128,0.4); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1; transition:all .2s; }
#prozess .pstep-dot svg { width:22px; height:22px; }
#prozess .pstep.hl .pstep-dot { background:rgba(176,158,128,0.15); border-color:rgba(176,158,128,0.5); }
#prozess .pstep.hl .pstep-title { color:var(--gold-d); }
#prozess .pstep.hl .pstep-desc { color:var(--txt); }
#prozess .pstep-content { padding-top:12px; }
#prozess .pstep-num { font-size:9px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-d); margin-bottom:5px; }
#prozess .pstep-title { font-family:'DM Serif Display',serif; font-size:20px; color:var(--navy); margin-bottom:8px; transition:color .2s; }
#prozess .pstep-desc { font-size:13px; line-height:1.75; color:var(--txt-m); font-weight:300; max-width:640px; }
#prozess .pstep-incl { display:inline-flex; align-items:center; gap:6px; margin-top:10px; background:rgba(29,58,101,0.07); border:1px solid rgba(29,58,101,0.2); border-radius:20px; padding:4px 12px; font-size:10px; color:var(--navy); font-weight:600; }
#prozess .pstep-incl::before { content:'✓'; }
#prozess .pstep-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
#prozess .pstep-tag { border:1px solid rgba(176,158,128,0.18); color:rgba(255,255,255,0.4); padding:3px 12px; border-radius:20px; font-size:10px; letter-spacing:0.03em; }
#prozess .doc-list { margin-top:16px; border:1px solid rgba(176,158,128,0.12); border-radius:10px; overflow:hidden; }
#prozess .doc-item { display:flex; align-items:center; gap:12px; padding:9px 16px; border-bottom:1px solid rgba(176,158,128,0.07); transition:background .15s; cursor:pointer; }
#prozess .doc-item:last-child { border-bottom:none; }
#prozess .doc-item:hover { background:rgba(176,158,128,0.05); }
#prozess .doc-cb { width:16px; height:16px; border-radius:4px; border:1px solid rgba(176,158,128,0.3); background:rgba(255,255,255,0.03); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .2s; font-size:9px; color:var(--navy-d); }
#prozess .doc-cb.on { background:var(--gold); border-color:var(--gold); }
#prozess .doc-text { font-size:12px; color:rgba(255,255,255,0.5); font-weight:300; line-height:1.4; }
#prozess .doc-note { margin-top:9px; font-size:11px; color:rgba(176,158,128,0.45); font-style:italic; }
#prozess .proz-cta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-top:48px; padding-top:40px; border-top:1px solid rgba(176,158,128,0.1); }
#prozess .proz-cta-text { font-size:14px; color:rgba(255,255,255,0.5); font-weight:300; max-width:460px; line-height:1.6; }
#prozess .proz-cta-text strong { color:var(--gold-l); font-weight:600; }
#prozess .proz-cta-btns { display:flex; gap:12px; flex-wrap:wrap; }
@media(max-width:900px){ #prozess .path-tabs { grid-template-columns:1fr; } }
#prozess .doc-toggle { display:inline-flex; align-items:center; gap:8px; background:rgba(176,158,128,0.08); border:1px solid rgba(176,158,128,0.3); border-radius:8px; padding:10px 18px; color:var(--gold-l); font-size:12px; font-weight:600; cursor:pointer; font-family:'Comfortaa',sans-serif; margin:14px 0 4px; transition:all .2s; }
#prozess .doc-toggle:hover { background:rgba(176,158,128,0.15); }
#prozess .doc-toggle .doc-arrow { transition:transform .25s; }
#prozess .doc-toggle.open .doc-arrow { transform:rotate(180deg); }
#prozess .doc-list { display:none; }
#prozess .doc-toggle.open + .doc-list { display:block; }
#prozess .pstep { padding-bottom:14px; }
#prozess .h-sec { color:var(--navy); }
#prozess .h-sec em { color:var(--gold-d); }
#prozess .sub-sec { color:var(--txt-m); }
#prozess .eyebrow { color:var(--navy); }
#prozess .path-tab .pt-title { color:var(--navy); }
#prozess .path-tab.active .pt-title { color:#fff; }
#prozess .path-tab .pt-sub { color:var(--txt-m); }
#prozess .path-tab.active .pt-sub { color:rgba(255,255,255,0.7); }
#prozess .ppanel { background:var(--bg); border:1px solid var(--grey); border-radius:12px; padding:32px; margin-top:0; }
#prozess .doc-toggle { background:rgba(29,58,101,0.07); border:1px solid rgba(29,58,101,0.2); color:var(--navy); }
#prozess .doc-toggle:hover { background:rgba(29,58,101,0.12); }
#prozess .pstep-tag { background:rgba(176,158,128,0.12); color:var(--gold-d); border:1px solid rgba(176,158,128,0.3); }

#prozess .ppanel p { color:var(--txt); }
#prozess .ppanel li { color:var(--txt-m); }
#prozess .ppanel strong { color:var(--navy); }
#prozess .ppanel .pstep-incl { color:var(--navy); }
#prozess .h-sec { color:var(--navy); }
#prozess .sub-sec { color:var(--txt-m); }
#prozess .eyebrow { color:var(--gold-d); }
#prozess .pt-title { font-family:'DM Serif Display',serif; font-size:17px; color:var(--navy); margin-bottom:4px; font-weight:400; }
#prozess .path-tab.active .pt-title { color:#fff; }
#prozess .pt-sub { font-size:12px; color:var(--txt-m); font-weight:300; }
#prozess .path-tab.active .pt-sub { color:rgba(255,255,255,0.7); }
#prozess .pt-meta { font-size:10px; color:var(--gold-d); font-weight:600; letter-spacing:0.05em; margin-bottom:6px; }
#prozess .path-tab.active .pt-meta { color:var(--gold-l); }
#prozess .pt-img { height:160px; background-size:cover; background-position:center; position:relative; }
#prozess .pt-img::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(15,31,56,0.1), rgba(15,31,56,0.35)); }
#prozess .pt-img-illus { background:#0f1f38; }
#prozess .pt-img-illus svg { width:100%; height:100%; display:block; }
#prozess .pt-body { padding:24px 28px 28px; }
#prozess .path-tab.active .pt-img::after { background:linear-gradient(to bottom, rgba(15,31,56,0.2), rgba(15,31,56,0.5)); }
#prozess .article-teaser { margin-top:0; display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--navy-d); border-radius:16px; overflow:hidden; }
#prozess .at-content { padding:48px; }
#prozess .at-pill { display:inline-block; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(176,158,128,0.25); border-radius:20px; padding:4px 14px; margin-bottom:20px; }
#prozess .at-title { font-family:'DM Serif Display',serif; font-size:26px; color:#fff; line-height:1.25; margin-bottom:14px; }
#prozess .at-title em { font-style:italic; color:var(--gold-l); }
#prozess .at-quote { border-left:3px solid var(--gold); padding:14px 0 14px 20px; margin-bottom:28px; }
#prozess .at-quote p { font-family:'DM Serif Display',serif; font-size:15px; font-style:italic; color:rgba(255,255,255,0.75); line-height:1.6; }
#prozess .at-body { font-size:13px; line-height:1.85; color:rgba(255,255,255,0.5); font-weight:300; margin-bottom:28px; }
#prozess .at-visual { min-height:320px; background:linear-gradient(135deg, var(--navy) 0%, var(--navy-d) 100%); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
#prozess .at-visual::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 80% at 50% 50%, rgba(176,158,128,0.08) 0%, transparent 70%); }
#prozess .at-visual-text { position:relative; z-index:1; text-align:center; padding:40px; }
#prozess .at-visual-num { font-family:'DM Serif Display',serif; font-size:80px; line-height:1; color:rgba(176,158,128,0.15); display:block; margin-bottom:16px; }
#prozess .at-visual-label { font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:rgba(176,158,128,0.35); font-weight:600; line-height:1.6; }
@media(max-width:900px){ #prozess .article-teaser { grid-template-columns:1fr; } #prozess .at-visual { min-height:200px; } #prozess .at-content { padding:32px; } }

/* Beratungspfad: blauer Hintergrund */
#prozess { background:var(--navy-d); }
#prozess .eyebrow { color:var(--gold); }
#prozess .h-sec { color:#fff; }
#prozess .h-sec em { color:var(--gold-l); }
#prozess .sub-sec { color:rgba(255,255,255,0.6); }
#prozess .path-tab.active { border-color:var(--gold); }

#team { background:var(--navy-d); padding:var(--section-y) 5%; position:relative; overflow:hidden; }
#team::after { display:none; }
#team > .container { position:relative; z-index:1; }
#team .team-head { margin-bottom:60px; }
#team .team-head .sub-sec { margin-top:14px; }
#team .team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:48px; }
#team .tc { background:rgba(255,255,255,0.04); border:1px solid rgba(176,158,128,0.16); border-radius:16px; overflow:hidden; transition:background .25s, border-color .25s, transform .25s; }
#team .tc:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.4); transform:translateY(-3px); }
#team .tc-photo { display:flex; align-items:center; justify-content:center; padding:36px 0 24px; background:rgba(255,255,255,0.03); border-bottom:1px solid rgba(176,158,128,0.16); }
#team .tc-photo img { width:140px; height:140px; border-radius:50%; object-fit:cover; display:block; border:3px solid rgba(176,158,128,0.3); box-shadow:0 4px 20px rgba(0,0,0,0.3); transition:box-shadow .3s, transform .3s; }
#team .tc:hover .tc-photo img { box-shadow:0 8px 32px rgba(29,58,101,0.22); transform:scale(1.04); }
#team .tc-body { padding:24px 28px 28px; }
#team .tc-name { font-size:17px; font-weight:700; color:#fff; margin-bottom:3px; }
#team .tc-role { font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-l); margin-bottom:16px; }
#team .tc-bio { font-size:13px; line-height:1.78; color:rgba(255,255,255,0.65); font-weight:300; margin-bottom:18px; }
#team .tc-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:16px; }
#team .tc-tag { background:rgba(176,158,128,0.1); border:1px solid rgba(176,158,128,0.25); color:var(--gold-l); font-size:10px; padding:3px 10px; border-radius:20px; letter-spacing:0.02em; }
#team .tc-reg { display:flex; align-items:center; gap:8px; padding-top:14px; border-top:1px solid rgba(176,158,128,0.16); }
#team .tc-reg-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
#team .tc-reg-text { font-size:10px; color:rgba(255,255,255,0.5); letter-spacing:0.04em; }
#team .finma-box { max-width:480px; margin:0 auto 0; background:rgba(255,255,255,0.05); border:1px solid rgba(176,158,128,0.2); border-radius:10px; padding:18px 24px; display:flex; align-items:center; gap:18px; }
#team .finma-logo { flex-shrink:0; display:flex; align-items:center; gap:6px; }
#team .finma-cross { font-size:20px; font-weight:900; color:#fff; line-height:1; }
#team .finma-word { font-size:16px; font-weight:700; color:#fff; letter-spacing:-0.5px; line-height:1; }
#team .finma-text { font-size:12px; color:rgba(255,255,255,0.7); line-height:1.6; }
#team .article-teaser { margin-top:64px; display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--navy-d); border-radius:16px; overflow:hidden; }
#team .at-content { padding:48px; background:#fff; }
#team .at-pill { display:inline-block; font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-d); border:1px solid rgba(176,158,128,0.25); border-radius:20px; padding:4px 14px; margin-bottom:20px; }
#team .at-title { font-family:'DM Serif Display',serif; font-size:26px; color:var(--navy); line-height:1.25; margin-bottom:14px; }
#team .at-title em { font-style:italic; color:var(--gold-d); }
#team .at-quote { border-left:3px solid var(--gold); padding:14px 0 14px 20px; margin-bottom:28px; }
#team .at-quote p { font-family:'DM Serif Display',serif; font-size:15px; font-style:italic; color:var(--navy); line-height:1.6; }
#team .at-body { font-size:13px; line-height:1.85; color:rgba(29,58,101,0.7); font-weight:300; margin-bottom:28px; }
#team .at-visual { min-height:320px; background:linear-gradient(135deg, var(--navy-l) 0%, var(--navy-d) 100%); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
#team .at-visual::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 80% at 50% 50%, rgba(176,158,128,0.08) 0%, transparent 70%); }
#team .at-visual-text { position:relative; z-index:1; text-align:center; padding:40px; }
#team .at-visual-num { font-family:'DM Serif Display',serif; font-size:80px; line-height:1; color:rgba(176,158,128,0.15); display:block; margin-bottom:16px; }
#team .at-visual-label { font-size:11px; letter-spacing:0.15em; text-transform:uppercase; color:rgba(176,158,128,0.35); font-weight:600; line-height:1.6; }
#team .at-visual .at-visual-text { text-align:left; width:100%; max-width:300px; }
#team .at-info-slogan { font-family:'DM Serif Display',serif; font-size:22px; color:#fff; line-height:1.3; margin-bottom:26px; }
#team .at-info-link { display:block; font-size:14px; font-weight:700; letter-spacing:0.04em; color:var(--gold-l); text-decoration:none; padding:13px 0; border-top:1px solid rgba(176,158,128,0.22); transition:color .2s, padding-left .2s; }
#team .at-info-link:last-child { border-bottom:1px solid rgba(176,158,128,0.22); }
#team .at-info-link::after { content:" \2192"; }
#team .at-info-link:hover { color:#fff; padding-left:6px; }
#team .at-info-btns { display:flex; flex-direction:column; gap:10px; margin-top:22px; }
#team .at-info-btns .btn { width:100%; justify-content:center; }
@media(max-width:900px){ #team .team-grid { grid-template-columns:1fr; } #team .article-teaser { grid-template-columns:1fr; } #team .at-visual { min-height:200px; } }
#team .tm-name { color:#fff; }
#team .tm-role { color:var(--gold-l); }
#team .tm-bio { color:rgba(255,255,255,0.65); }
#team .finma-text { color:rgba(255,255,255,0.7); }
#team .h-sec { color:#fff; }
#team .sub-sec { color:rgba(255,255,255,0.65); }
#team .eyebrow { color:var(--gold-l); }
#team .dark-bg, #team.dark-bg {}

#partner { background:var(--white); padding:var(--section-y) 5%; position:relative; overflow:hidden; }
#partner > .container { position:relative; z-index:1; }
#partner::before { content:""; position:absolute; top:0; right:0; bottom:0; width:58%; z-index:0; pointer-events:none; background-image:linear-gradient(to right, var(--white) 0%, rgba(255,255,255,0.82) 32%, rgba(255,255,255,0.5) 100%), url("../assets/asset-a03fe6ba.jpg"); background-size:auto, cover; background-position:center, center right; background-repeat:no-repeat; }
@media(max-width:900px){ #partner::before { width:100%; opacity:.5; } }
#partner .pa-head { margin-bottom:var(--section-y-sm); }
#partner .pa-head .sub-sec { margin-top:14px; }
#partner .pa-cat { margin-bottom:32px; }
#partner .pa-cat-title { cursor:pointer; user-select:none; }
#partner .pa-cat-title::after { content:"▾"; color:var(--gold-d); font-size:14px; margin-left:10px; transition:transform .25s; display:inline-block; }
#partner .pa-cat.open .pa-cat-title::after { transform:rotate(180deg); }
#partner .pa-grid { display:none; margin-top:16px; grid-template-columns:repeat(4,1fr); gap:14px; }
#partner .pa-cat.open .pa-grid { display:grid; }
#partner .pa-cat:last-of-type { margin-bottom:0; }
#partner .pa-cat-title { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
#partner .pa-cat-title h3 { font-size:13px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--navy); white-space:nowrap; }
#partner .pa-cat-line { flex:1; height:1px; background:linear-gradient(to right, rgba(176,158,128,0.5), transparent); }
#partner .pa-card { background:var(--bg); border:1px solid var(--grey); border-radius:12px; padding:28px 24px; transition:border-color .2s, box-shadow .2s, transform .2s; display:flex; flex-direction:column; }
#partner .pa-card:hover { border-color:rgba(176,158,128,0.4); box-shadow:0 8px 28px rgba(29,58,101,0.08); transform:translateY(-2px); }
#partner .pa-logo-box { height:64px; border-radius:8px; background:var(--white); border:1px dashed var(--grey); display:flex; align-items:center; justify-content:center; padding:12px 16px; margin-bottom:16px; }
#partner .pa-logo-name { font-size:14px; font-weight:600; color:var(--navy); text-align:center; line-height:1.3; text-decoration:none; transition:color .2s; }
#partner a.pa-logo-name:hover { color:var(--gold-d); text-decoration:underline; }
#partner .pa-desc { font-size:12px; line-height:1.65; color:var(--txt-m); font-weight:300; flex:1; }
#partner .pa-note { margin-top:56px; background:var(--navy-d); border:1px solid var(--navy-d); border-left:5px solid var(--gold); border-radius:0 14px 14px 0; padding:36px 40px; display:flex; align-items:center; gap:22px; box-shadow:0 12px 40px rgba(15,31,56,0.12); }
#partner .pa-note-icon { width:52px; height:52px; border-radius:12px; background:rgba(176,158,128,0.15); border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#partner .pa-note-icon svg { width:26px; height:26px; }
#partner .pa-note-text { font-size:15px; line-height:1.75; color:rgba(255,255,255,0.75); font-weight:300; }
#partner .pa-note-text strong { color:var(--gold-l); font-weight:700; font-size:18px; display:block; margin-bottom:4px; }
@media(max-width:900px){ #partner .pa-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ #partner .pa-grid { grid-template-columns:1fr; } }
#partner .h-sec { color:var(--navy); }
#partner .h-sec em { color:var(--gold-d); }
#partner .sub-sec { color:var(--txt-m); }
#partner .eyebrow { color:var(--gold-d); }
#partner .pa-logo-name { color:var(--navy); }

#kontakt { background:var(--navy-d); padding:var(--section-y) 5% 0; position:relative; overflow:hidden; }
#kontakt::before { content:''; position:absolute; inset:0; z-index:0; background:none; }
#kontakt .kt-inner { position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; }
#kontakt .kt-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-bottom:80px; }
#kontakt .kt-head { margin-bottom:40px; } #kontakt .kt-head h2 { color:#fff; }
#kontakt .kt-channels { display:flex; flex-direction:column; gap:14px; margin-bottom:36px; }
#kontakt .kt-channel { display:flex; align-items:center; gap:16px; padding:18px 22px; background:rgba(255,255,255,0.03); border:1px solid rgba(176,158,128,0.14); border-radius:12px; text-decoration:none; transition:all .2s; }
#kontakt .kt-channel:hover { background:rgba(176,158,128,0.08); border-color:rgba(176,158,128,0.35); transform:translateX(3px); }
#kontakt .kt-ch-icon { width:42px; height:42px; border-radius:10px; background:rgba(176,158,128,0.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#kontakt .kt-ch-icon svg { width:20px; height:20px; }
#kontakt .kt-ch-label { font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:3px; }
#kontakt .kt-ch-value { font-size:15px; color:#fff; font-weight:600; }
#kontakt .kt-address { display:flex; align-items:flex-start; gap:16px; padding-top:28px; border-top:1px solid rgba(176,158,128,0.12); }
#kontakt .kt-address svg { width:20px; height:20px; flex-shrink:0; margin-top:2px; }
#kontakt .kt-address-text { font-size:14px; color:rgba(255,255,255,0.6); font-weight:300; line-height:1.7; }
#kontakt .kt-address-text strong { color:#fff; font-weight:600; display:block; margin-bottom:2px; }
#kontakt .kt-form-wrap { background:rgba(255,255,255,0.03); border:1px solid rgba(176,158,128,0.14); border-radius:16px; padding:40px; }
#kontakt .kt-form-title { font-family:'DM Serif Display',serif; font-size:24px; color:#fff; margin-bottom:6px; }
#kontakt .kt-form-sub { font-size:13px; color:rgba(255,255,255,0.45); font-weight:300; margin-bottom:28px; }
#kontakt .kt-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:24px; }
#kontakt .kt-path { padding:12px 8px; border:1px solid rgba(176,158,128,0.2); border-radius:8px; background:transparent; cursor:pointer; text-align:center; transition:all .2s; font-family:'Comfortaa',sans-serif; }
#kontakt .kt-path:hover { border-color:rgba(176,158,128,0.4); }
#kontakt .kt-path.active { background:rgba(176,158,128,0.12); border-color:var(--gold); }
#kontakt .kt-path-label { font-size:11px; font-weight:600; color:#fff; line-height:1.3; }
#kontakt .kt-path-meta { font-size:9px; color:var(--gold-l); margin-top:3px; }
#kontakt .kt-field { margin-bottom:16px; }
#kontakt .kt-field label { display:block; font-size:11px; font-weight:600; color:rgba(255,255,255,0.55); margin-bottom:6px; letter-spacing:0.03em; }
#kontakt .kt-field input, #kontakt .kt-field textarea { width:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(176,158,128,0.25); border-radius:8px; padding:12px 14px; color:#fff; font-size:13px; font-family:'Comfortaa',sans-serif; transition:border-color .2s; }
#kontakt .kt-field input:focus, #kontakt .kt-field textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(176,158,128,0.15); }
#kontakt .kt-field input::placeholder, #kontakt .kt-field textarea::placeholder { color:rgba(255,255,255,0.3); }
#kontakt .kt-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#kontakt .kt-submit { width:100%; justify-content:center; margin-top:8px; }
#kontakt .kt-form-note { font-size:11px; color:rgba(255,255,255,0.3); text-align:center; margin-top:14px; line-height:1.6; }
@media(max-width:900px){ #kontakt .kt-grid { grid-template-columns:1fr; gap:40px; } #kontakt .kt-form-wrap { padding:28px; } }

/* MEMBER BAR */
#kontakt .member-bar { position:relative; z-index:1; background:linear-gradient(135deg, rgba(176,158,128,0.12), rgba(176,158,128,0.04)); border:1px solid rgba(176,158,128,0.22); border-radius:14px; padding:26px 28px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-top:28px; }
#kontakt .member-left { display:flex; align-items:center; gap:18px; }
#kontakt .member-icon { width:48px; height:48px; border-radius:12px; background:rgba(176,158,128,0.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#kontakt .member-icon svg { width:24px; height:24px; }
#kontakt .member-title { font-size:16px; font-weight:600; color:#fff; margin-bottom:3px; }
#kontakt .member-sub { font-size:12px; color:rgba(255,255,255,0.45); font-weight:300; }

/* FOOTER */
#kontakt .ft-social { display:flex; gap:10px; margin-top:14px; }
#kontakt .ft-social a { width:34px; height:34px; border-radius:8px; border:1px solid rgba(29,58,101,0.18); display:flex; align-items:center; justify-content:center; color:var(--navy); transition:all .2s; }
#kontakt .ft-social a:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
#kontakt .ft-social svg { width:17px; height:17px; }
#kontakt .ft { position:relative; z-index:1; width:100vw; margin-left:calc(50% - 50vw); padding:38px 0 26px; background-image:linear-gradient(rgba(255,255,255,0.55), rgba(255,255,255,0.66)), url("../assets/asset-4d027785.jpg"); background-size:cover; background-position:center 68%; }
#kontakt .ft-grid { display:grid; grid-template-columns:1.8fr 1.2fr 1fr; gap:34px; margin:0 auto 22px; align-items:start; width:90%; max-width:var(--maxw); }
#kontakt .ft-col { padding-top:60px; }
#kontakt .ft-logo { font-family:'DM Serif Display',serif; font-size:24px; color:var(--navy); margin-bottom:12px; }
#kontakt .ft-logo span { color:var(--gold-d); }
#kontakt .ft-desc { font-size:12px; color:#5a6b85; font-weight:400; line-height:1.7; max-width:300px; }
#kontakt .ft-col-title { font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-d); margin-bottom:12px; }
#kontakt .ft-col a { display:block; font-size:13px; color:#3a4a63; text-decoration:none; margin-bottom:7px; transition:color .2s; }
#kontakt .ft-col a:hover { color:var(--navy); }
#kontakt .ft-nav-links { display:grid; grid-auto-flow:column; grid-template-rows:repeat(3,auto); column-gap:26px; row-gap:0; }
#kontakt .ft-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid rgba(29,58,101,0.10); flex-wrap:wrap; gap:14px; width:90%; max-width:var(--maxw); margin:0 auto; }
#kontakt .ft-copy { font-size:11.5px; color:var(--navy); font-weight:600; }
#kontakt .ft-legal { display:flex; gap:18px; flex-wrap:wrap; }
#kontakt .ft-legal a { font-size:11px; color:#7a869b; text-decoration:none; transition:color .2s; }
#kontakt .ft-legal a:hover { color:var(--navy); }
@media(max-width:900px){ #kontakt .ft-grid { grid-template-columns:1fr; gap:28px; } #kontakt .ft-col { padding-top:0; } }
@media(max-width:600px){ #kontakt .ft-col { display:none; } #kontakt .ft-grid { gap:18px; margin-bottom:16px; } }

/* WHATSAPP FLOAT */
.wa-float { position:fixed; bottom:24px; right:24px; width:56px; height:56px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); z-index:200; transition:transform .2s; }
.portal-float { position:fixed; right:24px; bottom:96px; width:56px; height:56px; border-radius:50%; z-index:200; box-shadow:0 6px 24px rgba(15,31,56,0.45); transition:transform .2s; display:block; }
.portal-float:hover { transform:scale(1.08); }
.portal-float img { width:100%; height:100%; display:block; border-radius:50%; }
.portal-float.pf-on-dark { box-shadow:0 6px 24px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.18); }
.wa-float:hover { transform:scale(1.08); }
.wa-float svg { width:30px; height:30px; }

/* FAB ATTENTION SHAKE + SPEECH BUBBLE */
.wa-float svg, .portal-float img { transform-origin:center; }
@keyframes fabShake {
  0%,100% { transform:rotate(0); }
  12% { transform:rotate(-15deg); }
  26% { transform:rotate(12deg); }
  40% { transform:rotate(-10deg); }
  54% { transform:rotate(8deg); }
  68% { transform:rotate(-5deg); }
  82% { transform:rotate(3deg); }
}
.fab-shake { animation:fabShake .65s ease; }
.fab-bubble {
  position:absolute; right:70px; top:50%;
  transform:translateY(-50%) translateX(8px) scale(.85);
  white-space:nowrap; font-family:'Comfortaa',sans-serif;
  font-size:13px; font-weight:600; letter-spacing:.01em;
  padding:9px 14px; border-radius:11px; pointer-events:none;
  opacity:0; visibility:hidden;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  box-shadow:0 8px 24px rgba(10,20,40,0.22);
  --bubble-bg:var(--navy);
}
.fab-bubble::after {
  content:''; position:absolute; right:-6px; top:50%;
  transform:translateY(-50%);
  border-top:6px solid transparent; border-bottom:6px solid transparent;
  border-left:7px solid var(--bubble-bg);
}
.fab-bubble.show { opacity:1; visibility:visible; transform:translateY(-50%) translateX(0) scale(1); }
.fab-bubble.on-light { background:var(--navy); color:#fff; --bubble-bg:var(--navy); }
.fab-bubble.on-dark  { background:#fff; color:var(--navy); --bubble-bg:#fff; }
@media (prefers-reduced-motion:reduce) {
  .fab-shake { animation:none; }
}
#kontakt .kt-grid { position:relative; z-index:1; }
#kontakt .eyebrow { color:var(--gold-d); }
#kontakt .h-sec { color:#fff; }
#kontakt .h-sec em { color:var(--gold-l); }
#kontakt .eyebrow { color:var(--gold-l); }

.imp-overlay { position:fixed; inset:0; background:rgba(10,20,40,0.7); backdrop-filter:blur(4px); z-index:300; display:none; align-items:center; justify-content:center; padding:20px; }
.imp-overlay.open { display:flex; }
.imp-card { background:var(--white); border-radius:16px; max-width:480px; width:100%; padding:36px; position:relative; max-height:85vh; overflow-y:auto; }
.imp-close { position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%; border:1px solid var(--grey); background:var(--bg); cursor:pointer; font-size:16px; color:var(--navy); line-height:1; }
.imp-card h3 { font-family:'DM Serif Display',serif; font-size:24px; color:var(--navy); margin-bottom:20px; }
.imp-card dl { font-size:13px; line-height:1.7; color:var(--txt-m); }
.imp-card dt { font-weight:700; color:var(--navy); margin-top:14px; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; }
.imp-card dd { margin:2px 0 0 0; }

.ds-overlay { position:fixed; inset:0; background:rgba(10,20,40,0.7); backdrop-filter:blur(4px); z-index:300; display:none; align-items:center; justify-content:center; padding:20px; }
.ds-overlay.open { display:flex; }
.ds-card { background:var(--white); border-radius:16px; max-width:680px; width:100%; padding:40px 38px; position:relative; max-height:85vh; overflow-y:auto; }
.ds-close { position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%; border:1px solid var(--grey); background:var(--bg); cursor:pointer; font-size:16px; color:var(--navy); line-height:1; z-index:2; }
.ds-card h3 { font-family:'DM Serif Display',serif; font-size:26px; color:var(--navy); margin-bottom:6px; }
.ds-card .ds-date { font-size:12px; color:var(--txt-m); margin-bottom:22px; }
.ds-card h4 { font-size:13px; font-weight:700; color:var(--navy); margin:22px 0 7px; letter-spacing:0.02em; }
.ds-card p, .ds-card li { font-size:13px; line-height:1.7; color:var(--txt-m); }
.ds-card ul { margin:6px 0 6px 18px; }
.ds-card li { margin-bottom:3px; }
.ds-card strong { color:var(--navy); }
.ds-card a { color:var(--gold-d); }

/* ═══ DIENSTLEISTUNGEN: "Mehr"-Aufklapper (Kacheln + Beratungspfad) ═══ */
.dl-collapse { display:grid; grid-template-rows:0fr; transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1), opacity .3s ease; opacity:0; }
.dl-collapse.open { grid-template-rows:1fr; opacity:1; }
.dl-collapse > .dl-inner { overflow:hidden; min-height:0; }
.dl-section-closed { padding-top:0 !important; padding-bottom:0 !important; }
.dl-more-wrap { display:flex; }
.dl-more-wrap.on-dark { }
.dl-more { display:inline-flex; align-items:center; gap:10px; margin-top:6px; padding:13px 24px; border-radius:12px; cursor:pointer; font-family:'Comfortaa',sans-serif; font-size:13px; font-weight:700; letter-spacing:0.02em; background:transparent; color:var(--gold-d); border:1px solid rgba(176,158,128,0.45); transition:all .2s; }
.dl-more:hover { background:rgba(176,158,128,0.08); border-color:var(--gold); }
.dl-more.on-dark { color:var(--gold-l); border-color:rgba(176,158,128,0.4); }
.dl-more.on-dark:hover { background:rgba(176,158,128,0.10); border-color:var(--gold); }
.dl-more .dl-chev { display:inline-block; transition:transform .3s ease; font-size:11px; }
.dl-more.open .dl-chev { transform:rotate(180deg); }
.dl-more .dl-less { display:none; }
.dl-more.open .dl-more-label { display:none; }
.dl-more.open .dl-less { display:inline; }

/* ═══ Unternehmen (#firmen) auf Goldbraun (CI-Gold) ═══ */
#firmen { background:linear-gradient(165deg, #bfad8a 0%, #a89470 100%); }
#firmen .eyebrow.on-dark { color:var(--navy-d); }
#firmen .eyebrow::before { background:var(--navy-d); }
#firmen .h-sec.on-dark { color:var(--navy-d); }
#firmen .h-sec.on-dark em { color:var(--navy-d); }
#firmen .sub-sec.on-dark { color:rgba(15,31,56,0.82); }
#firmen .flow { border-top-color:rgba(15,31,56,0.20); }
#firmen .flow-h { color:var(--navy-d); }
#firmen .flow-step h4 { color:var(--navy-d); }
#firmen .flow-step p { color:rgba(15,31,56,0.78); }
#firmen .flow-doc { border-color:rgba(15,31,56,0.30); color:var(--navy-d); }
#firmen .flow-steps::before { background:rgba(15,31,56,0.20); }
/* CTA auf Goldbraun dunkel, damit sie heraussticht (statt Gold auf Gold) */
/* CTA auf Goldbraun: jetzt .btn-onbrown (weiss, blauer Hover) gemäss Button-Grundregel */

/* ═══ Button-Grundregel je nach Hintergrund ═══
   Blau/dunkel  → .btn-gold     : braun, Hover weiss
   Weiss        → .btn-onwhite  : blau,  Hover braun
   Braun/gold   → .btn-onbrown  : weiss, Hover blau                      */
.btn-onwhite {
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-d) 100%);
  color:#fff; border-radius:14px; padding:15px 28px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 6px 14px rgba(29,58,101,0.25), 0 2px 4px rgba(0,0,0,0.12);
}
.btn-onwhite:hover {
  transform:translateY(-2px);
  background:linear-gradient(180deg, var(--gold-l) 0%, var(--gold) 52%, var(--gold-d) 100%);
  color:var(--navy-d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 11px 24px rgba(29,58,101,0.28), 0 3px 6px rgba(0,0,0,0.14);
}
.btn-onwhite:active { transform:translateY(1px); }

.btn-onbrown {
  background:#fff;
  color:var(--navy-d); border-radius:14px; padding:15px 28px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 6px 14px rgba(15,31,56,0.22), 0 2px 4px rgba(0,0,0,0.12);
}
.btn-onbrown:hover {
  transform:translateY(-2px);
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-d) 100%);
  color:#fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 11px 24px rgba(15,31,56,0.30), 0 3px 6px rgba(0,0,0,0.14);
}
.btn-onbrown:active { transform:translateY(1px); }

/* ═══ Dienstleistungs-Toggles als Referenzbuttons (Button-Grundregel) ═══
   Privat #leistungen (dunkel) → gold | Firmen #firmen (braun) → weiss | B2B #b2b (weiss) → blau */
#leistungen .dl-more, #firmen .dl-more, #b2b .dl-more {
  border:none; margin-top:14px; border-radius:14px; padding:15px 28px;
  font-size:13px; font-weight:700; letter-spacing:0.03em; transition:all .2s;
}
/* Privat → gold (Hover weiss) */
#leistungen .dl-more {
  background:linear-gradient(180deg, var(--gold-l) 0%, var(--gold) 52%, var(--gold-d) 100%);
  color:var(--navy-d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 6px 14px rgba(29,58,101,0.22), 0 2px 4px rgba(0,0,0,0.12);
}
#leistungen .dl-more:hover {
  background:linear-gradient(180deg, #ffffff 0%, #f2eee6 100%); color:var(--navy-d); border-color:transparent;
  transform:translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 11px 24px rgba(29,58,101,0.26), 0 3px 6px rgba(0,0,0,0.12);
}
/* Firmen → weiss (Hover blau) */
#firmen .dl-more {
  background:#fff; color:var(--navy-d);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 6px 14px rgba(15,31,56,0.22), 0 2px 4px rgba(0,0,0,0.12);
}
#firmen .dl-more:hover {
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-d) 100%); color:#fff; border-color:transparent;
  transform:translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 11px 24px rgba(15,31,56,0.30), 0 3px 6px rgba(0,0,0,0.14);
}
/* B2B → blau (Hover braun) */
#b2b .dl-more {
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-d) 100%); color:#fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 6px 14px rgba(29,58,101,0.25), 0 2px 4px rgba(0,0,0,0.12);
}
#b2b .dl-more:hover {
  background:linear-gradient(180deg, var(--gold-l) 0%, var(--gold) 52%, var(--gold-d) 100%); color:var(--navy-d); border-color:transparent;
  transform:translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 11px 24px rgba(29,58,101,0.28), 0 3px 6px rgba(0,0,0,0.14);
}
#tools .ob-right .ob-cta-right { width:100%; margin-top:24px; justify-content:center; }
/* Bewertungs-Formular */
.rev-modal { position:fixed; inset:0; background:rgba(10,20,40,0.6); backdrop-filter:blur(3px); z-index:400; display:none; align-items:center; justify-content:center; padding:20px; }
.rev-modal-box { background:var(--white); border-radius:16px; padding:32px; max-width:480px; width:100%; position:relative; box-shadow:0 30px 80px rgba(0,0,0,0.3); }
.rev-modal-x { position:absolute; top:12px; right:16px; background:none; border:none; font-size:26px; line-height:1; cursor:pointer; color:var(--grey-d,#888); }
.rev-modal-title { font-family:'DM Serif Display',serif; font-size:24px; color:var(--navy); margin-bottom:20px; }
.rev-modal-box .rev-row { display:flex; gap:12px; margin-bottom:14px; }
.rev-modal-box input, .rev-modal-box textarea { width:100%; padding:11px 13px; border:1px solid var(--grey); border-radius:9px; font-family:inherit; font-size:14px; color:var(--navy-d); background:#fff; }
.rev-modal-box input:focus, .rev-modal-box textarea:focus { outline:none; border-color:var(--gold); }
.rev-modal-box textarea { resize:vertical; margin-bottom:16px; }
.rev-stars { font-size:30px; letter-spacing:6px; color:#dcdcdc; margin-bottom:18px; cursor:pointer; user-select:none; }
.rev-stars span { transition:color .12s; }
.rev-stars span.on { color:var(--gold); }
.rev-send { width:100%; }
.rev-note { font-size:11px; color:var(--grey-d,#888); margin-top:13px; line-height:1.5; text-align:center; }
@media(max-width:520px){ .rev-modal-box .rev-row { flex-direction:column; gap:14px; } }
/* Rechner: Themen-Gruppen */
#tools #rchGrid { display:block; }
#tools .rch-theme-group { margin-bottom:34px; }
#tools .rch-theme-group:last-child { margin-bottom:0; }
#tools .rch-theme-head { font-size:12px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold-d); margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid rgba(176,158,128,0.25); }
