/* =========================================================
   STAMM CAPITAL & CONSULTING — Design System
   Schwarz / Gold · Entwurf
   ========================================================= */

:root{
  --gold:        #C9A34E;
  --gold-bright: #E4C583;
  --gold-deep:   #8A6A2C;
  --gold-rgb:    201,163,78;

  --black:  #070707;
  --ink:    #0B0B0B;
  --ink-2:  #101010;
  --ink-3:  #151515;

  --text:   #E9E5DD;
  --muted:  #948F86;
  --faint:  #66625B;

  --line:      rgba(var(--gold-rgb), .16);
  --line-soft: rgba(255,255,255,.07);

  /* Flaechen ersetzen die frueheren Trennlinien */
  --panel:      linear-gradient(158deg, rgba(255,255,255,.052), rgba(255,255,255,.013) 62%);
  --panel-hi:   linear-gradient(158deg, rgba(255,255,255,.085), rgba(255,255,255,.022) 62%);
  --panel-gold: radial-gradient(120% 100% at 0% 0%, rgba(var(--gold-rgb),.13), transparent 58%);
  --lift:       0 30px 70px -40px rgba(0,0,0,.95);
  --gap:        clamp(14px,1.5vw,22px);

  --ff-display: "Cormorant Garamond", "Iowan Old Style", Garamond, Georgia, serif;
  --ff-sans:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --ff-mark:    "Jost", "Avenir Next", "Futura", var(--ff-sans);

  --wrap: 1240px;
  --pad: clamp(20px, 5vw, 64px);
  --sec: clamp(30px, 3.4vw, 50px);

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--black);
  color:var(--text);
  font-family:var(--ff-sans);
  font-size:16.5px;
  font-weight:300;
  line-height:1.75;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-loading{ overflow:hidden; height:100vh; }
body.menu-open{ overflow:hidden; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
p{ margin:0 0 1.15em; }
ul,ol{ margin:0; padding:0; list-style:none; }

::selection{ background:rgba(var(--gold-rgb),.28); color:#fff; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
.section{ position:relative; padding-block:var(--sec); }
.soft{ color:var(--muted); font-weight:300; }

/* ---------- Grain + Scroll indicator ---------- */
.grain{
  position:fixed; inset:-120px; z-index:9;
  pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 8s steps(6) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0)}   20%{transform:translate(-12px,8px)}
  40%{transform:translate(9px,-14px)} 60%{transform:translate(-7px,-6px)}
  80%{transform:translate(11px,10px)} 100%{transform:translate(0,0)}
}
.scrollbar{ position:fixed; top:0; left:0; right:0; height:2px; z-index:60; pointer-events:none; }
.scrollbar span{
  display:block; height:100%; width:0%;
  background:linear-gradient(90deg, var(--gold-deep), var(--gold), var(--gold-bright));
  box-shadow:0 0 14px rgba(var(--gold-rgb),.55);
  transition:width .12s linear;
}

/* =========================================================
   INTRO
   ========================================================= */
.intro{
  position:fixed; inset:0; z-index:200;
  background:transparent;
  display:grid; place-items:center;
  overflow:hidden;
}
.intro__vignette{
  position:absolute; inset:0; z-index:1;
  background:radial-gradient(58% 58% at 50% 46%, rgba(var(--gold-rgb),.10), transparent 70%);
  opacity:0; animation:introGlow 2.6s var(--ease-out) .25s forwards;
}
@keyframes introGlow{ 0%{opacity:0} 45%{opacity:1} 100%{opacity:.65} }

.intro__stage{ position:relative; z-index:2; text-align:center; padding-inline:24px; }

.intro__mark{ position:relative; width:clamp(88px,13vw,140px); margin:0 auto 34px; }
.intro__mark-img{
  display:block; width:100%; aspect-ratio:535/625;
  background:linear-gradient(155deg, var(--gold-deep) 0%, var(--gold) 35%, var(--gold-bright) 52%, var(--gold) 68%, var(--gold-deep) 100%);
  -webkit-mask:url("../img/logo-mark.png") center/contain no-repeat;
  mask:url("../img/logo-mark.png") center/contain no-repeat;
  clip-path:inset(100% 0 0 0);
  animation:markReveal 1.15s var(--ease-out) .18s forwards;
  filter:drop-shadow(0 0 26px rgba(var(--gold-rgb),.32));
}
@keyframes markReveal{ from{ clip-path:inset(100% 0 0 0) } to{ clip-path:inset(0% 0 0 0) } }
.intro__mark-shine{
  position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 38%, rgba(255,255,255,.65) 50%, transparent 62%);
  -webkit-mask:url("../img/logo-mark.png") center/contain no-repeat;
  mask:url("../img/logo-mark.png") center/contain no-repeat;
  opacity:0; transform:translateX(-130%);
  animation:markShine 1.5s var(--ease) 1.05s forwards;
}
@keyframes markShine{
  0%{ opacity:0; transform:translateX(-130%) }
  25%{ opacity:.85 } 100%{ opacity:0; transform:translateX(130%) }
}

.intro__word{ display:flex; flex-direction:column; align-items:center; gap:18px; }
.intro__word-main{
  font-family:var(--ff-mark); font-weight:500; color:#F3EFE7;
  font-size:clamp(30px,5.4vw,54px); letter-spacing:.42em; text-indent:.42em;
  opacity:0; animation:wordIn 1.2s var(--ease-out) .78s forwards;
}
.intro__word-sub{
  font-family:var(--ff-mark); font-weight:300; color:var(--gold);
  font-size:clamp(9.5px,1.35vw,13px); letter-spacing:.46em; text-indent:.46em;
  opacity:0; animation:wordIn 1.2s var(--ease-out) 1.02s forwards;
}
@keyframes wordIn{ from{ opacity:0; transform:translateY(14px); filter:blur(6px) } to{ opacity:1; transform:none; filter:blur(0) } }

.intro__curtain{ position:absolute; left:0; right:0; height:50.5%; background:var(--black); z-index:0; }
.intro__curtain--t{ top:0; }
.intro__curtain--b{ bottom:0; }
/* Exit */
.intro.is-out .intro__stage{ animation:stageOut .8s var(--ease) forwards; }
@keyframes stageOut{ to{ opacity:0; transform:scale(1.09); filter:blur(4px) } }
.intro.is-out .intro__vignette{ opacity:0; transition:opacity .4s; }
.intro.is-out .intro__curtain--t{ animation:curtainT .95s var(--ease-out) .28s forwards; }
.intro.is-out .intro__curtain--b{ animation:curtainB .95s var(--ease-out) .28s forwards; }
@keyframes curtainT{ to{ transform:translateY(-101%) } }
@keyframes curtainB{ to{ transform:translateY(101%) } }
.intro.is-done{ display:none; }

@media (prefers-reduced-motion: reduce){
  .intro *{ animation:none !important; opacity:1 !important; clip-path:none !important; transform:none !important; }
}

/* =========================================================
   BUTTONS / LINKS
   ========================================================= */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  padding:16px 34px; border:1px solid var(--line);
  font-family:var(--ff-mark); font-size:12px; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase; white-space:nowrap;
  overflow:hidden; cursor:pointer; background:transparent; color:var(--text);
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.btn span{ position:relative; z-index:2; }
.btn::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(120deg, var(--gold-deep), var(--gold) 45%, var(--gold-bright));
  transform:translateY(101%); transition:transform .5s var(--ease-out);
}
.btn:hover::before{ transform:translateY(0); }
.btn:hover{ color:#0A0A0A; border-color:var(--gold); }
.btn--gold{ border-color:rgba(var(--gold-rgb),.55); color:var(--gold-bright); }
.btn--gold:hover{ color:#0A0A0A; }
.btn--ghost{ color:var(--text); }
.btn--sm{ padding:11px 22px; font-size:10.5px; letter-spacing:.18em; }
.btn--full{ width:100%; }
.btn--lg{ padding:19px 46px; font-size:12.5px; letter-spacing:.24em; }

/* Einzelne Schaltflaeche am Ende einer Unterseite */
.pagecta{
  position:relative; display:flex; justify-content:center;
  margin-top:clamp(24px,2.6vw,38px); padding-top:clamp(20px,2.2vw,30px);
}
.pagecta::before{
  content:""; position:absolute; left:50%; top:0; transform:translateX(-50%);
  width:min(520px,80%); height:190px; pointer-events:none;
  background:radial-gradient(closest-side, rgba(var(--gold-rgb),.10), transparent 72%);
}
.pagecta .btn{ position:relative; z-index:1; }

.linkarrow{
  display:inline-flex; align-items:center; gap:14px; margin-top:6px;
  font-family:var(--ff-mark); font-size:11.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); transition:color .35s, gap .35s var(--ease);
}
.linkarrow i{
  width:8px; height:8px; border-top:1px solid currentColor; border-right:1px solid currentColor;
  transform:rotate(45deg); transition:transform .35s var(--ease);
}
.linkarrow:hover{ color:var(--gold-bright); gap:20px; }
.linkarrow:hover i{ transform:rotate(45deg) translate(2px,-2px); }

/* =========================================================
   HEADER
   ========================================================= */
.header{
  position:fixed; top:0; left:0; right:0; z-index:80;
  transition:background .5s var(--ease), backdrop-filter .5s, padding .5s var(--ease);
  padding-block:26px;
}
.header.is-stuck{
  background:rgba(7,7,7,.82);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  padding-block:14px;
}
.header__inner{
  width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:28px;
}
.header__line{
  position:absolute; left:0; right:0; bottom:-26px; height:26px; pointer-events:none;
  background:linear-gradient(180deg, rgba(7,7,7,.55), transparent);
  opacity:0; transition:opacity .5s;
}
.header.is-stuck .header__line{ opacity:1; }

.brand{ display:flex; align-items:center; gap:14px; }
.brand__mark{ width:34px; transition:transform .6s var(--ease-out), filter .5s; }
.brand:hover .brand__mark{ transform:rotate(-6deg) scale(1.06); filter:drop-shadow(0 0 12px rgba(var(--gold-rgb),.5)); }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__main{ font-family:var(--ff-mark); font-weight:500; font-size:16px; letter-spacing:.34em; color:#F1EDE5; }
.brand__sub{ font-family:var(--ff-mark); font-weight:300; font-size:8.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); margin-top:6px; }

.nav{ display:flex; gap:34px; margin-left:auto; }
.nav a{
  position:relative; font-family:var(--ff-mark); font-size:11.5px; font-weight:300;
  letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
  padding-block:6px; transition:color .35s;
}
.nav a:hover{ color:var(--text); }
.nav a.is-active{ color:var(--gold-bright); }

.header__actions{ display:flex; align-items:center; gap:16px; }

/* ---------- Sprachumschalter DE / EN ---------- */
.langsw{
  display:flex; align-items:center; gap:9px;
  font-family:var(--ff-mark); font-weight:400; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase;
}
.langsw a{ color:var(--faint); transition:color .4s var(--ease); }
.langsw a:hover{ color:var(--gold-bright); }
.langsw a.is-active{ color:var(--gold); cursor:default; }
.langsw__sep{ width:1px; height:10px; background:rgba(255,255,255,.15); }
.langsw--m{ margin-bottom:6px; font-size:12px; letter-spacing:.18em; }
.langsw--m a{ color:var(--muted); }


.burger{
  display:none; width:44px; height:38px; background:none; border:1px solid var(--line);
  cursor:pointer; position:relative; padding:0;
}
.burger span{
  position:absolute; left:12px; width:20px; height:1px; background:var(--text);
  transition:transform .4s var(--ease), opacity .3s;
}
.burger span:first-child{ top:16px; }
.burger span:last-child{ top:22px; }
body.menu-open .burger span:first-child{ transform:translateY(3px) rotate(45deg); }
body.menu-open .burger span:last-child{ transform:translateY(-3px) rotate(-45deg); }

/* Mobile menu */
.mmenu{
  position:fixed; inset:0; z-index:70; background:rgba(7,7,7,.97);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  display:flex; flex-direction:column; justify-content:center; gap:40px;
  padding:120px var(--pad) 60px;
  opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s;
}
body.menu-open .mmenu{ opacity:1; visibility:visible; }
.mmenu__nav{ display:flex; flex-direction:column; gap:6px; }
.mmenu__nav a{
  display:flex; align-items:baseline; gap:20px; padding-block:9px;
  font-family:var(--ff-display); font-size:clamp(28px,7.4vw,40px); font-weight:300;
  color:var(--text); transform:translateY(18px); opacity:0;
  transition:color .3s;
}
body.menu-open .mmenu__nav a{ animation:mmIn .6s var(--ease-out) forwards; }
.mmenu__nav a:nth-child(1){ animation-delay:.08s } .mmenu__nav a:nth-child(2){ animation-delay:.13s }
.mmenu__nav a:nth-child(3){ animation-delay:.18s } .mmenu__nav a:nth-child(4){ animation-delay:.23s }
.mmenu__nav a:nth-child(5){ animation-delay:.28s } .mmenu__nav a:nth-child(6){ animation-delay:.33s }
.mmenu__nav a:nth-child(7){ animation-delay:.38s }
@keyframes mmIn{ to{ opacity:1; transform:none } }
.mmenu__nav a:hover{ color:var(--gold-bright); }
.mmenu__foot{ display:flex; flex-direction:column; gap:8px; font-size:14px; color:var(--muted); }
.mmenu__foot a:hover{ color:var(--gold); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  overflow:hidden; padding-top:120px;
}
.hero__dust{ position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:.85; }
.hero__glow{
  position:absolute; z-index:0; left:50%; top:44%; transform:translate(-50%,-50%);
  width:min(1500px,150vw); aspect-ratio:1.35;
  background:radial-gradient(closest-side, rgba(var(--gold-rgb),.115), rgba(var(--gold-rgb),.035) 48%, transparent 72%);
  animation:breathe 11s ease-in-out infinite;
}
@keyframes breathe{ 0%,100%{ opacity:.75; transform:translate(-50%,-50%) scale(1) } 50%{ opacity:1; transform:translate(-50%,-50%) scale(1.07) } }
.hero__grid{
  position:absolute; inset:0; z-index:0; opacity:.5;
  background-image:linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:clamp(80px,11vw,150px) 100%;
  -webkit-mask:radial-gradient(72% 62% at 50% 42%, #000 25%, transparent 78%);
  mask:radial-gradient(72% 62% at 50% 42%, #000 25%, transparent 78%);
}
.hero__watermark{
  position:absolute; right:-8vw; top:50%; transform:translateY(-52%);
  width:min(640px,58vw); opacity:.075; z-index:0; pointer-events:none;
  filter:blur(.4px); animation:floaty 16s ease-in-out infinite;
}
@keyframes floaty{ 0%,100%{ transform:translateY(-52%) rotate(0) } 50%{ transform:translateY(-56%) rotate(2.2deg) } }

.hero__inner{
  position:relative; z-index:3; flex:1;
  display:flex; flex-direction:column; justify-content:center;
  padding-block:clamp(30px,5vh,64px);
}

.eyebrow{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-family:var(--ff-mark); font-size:10.5px; font-weight:300;
  letter-spacing:.32em; text-transform:uppercase; color:var(--gold);
  margin-bottom:clamp(24px,4vh,44px);
}
.eyebrow .dot{ width:4px; height:4px; background:currentColor; transform:rotate(45deg); opacity:.8; }

.hero__title{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(46px,8.4vw,120px); line-height:1.03; letter-spacing:-.018em;
  margin:0 0 clamp(24px,3.4vh,38px); color:#F5F2EB; max-width:16ch;
}
.hero__title em{ font-style:italic; color:var(--gold); font-weight:400; }
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .line > span{
  display:block; transform:translateY(105%);
  animation:lineUp 1.15s var(--ease-out) forwards;
}
.hero__title .line:nth-child(1) > span{ animation-delay:.06s }
.hero__title .line:nth-child(2) > span{ animation-delay:.18s }
@keyframes lineUp{ to{ transform:none } }
body.is-loading .hero__title .line > span{ animation-play-state:paused; }

.hero__lead{ max-width:56ch; color:var(--muted); font-size:clamp(15px,1.35vw,18.5px); }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(24px,3.4vh,38px); }

.hero::after{
  content:""; position:absolute; left:0; right:0; bottom:0; z-index:2;
  height:46vh; pointer-events:none;
  background:linear-gradient(180deg,
    rgba(7,7,7,0) 0%, rgba(7,7,7,.3) 40%, rgba(7,7,7,.78) 72%, rgba(7,7,7,.985) 92%, var(--black) 100%);
}

/* =========================================================
   SECTION HEADS
   ========================================================= */
.shead{ max-width:none; margin-bottom:clamp(20px,2.2vw,32px); }
.shead--center{ text-align:center; margin-inline:auto; max-width:820px; }
.shead__eyebrow{
  font-family:var(--ff-mark); font-size:10.5px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--faint); margin:0 0 12px;
}
.shead__title, .h2{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(34px,5.2vw,68px); line-height:1.08; letter-spacing:-.015em;
  margin:0 0 22px; color:#F3F0E9;
}
.shead__lead, .lead{
  max-width:62ch; color:var(--muted); font-size:clamp(15px,1.25vw,17.5px); margin:0;
}
.shead--center .shead__lead{ margin-inline:auto; }
.lead{ margin-bottom:1.15em; }

.mini-head{
  font-family:var(--ff-display); font-weight:400; font-style:italic;
  font-size:clamp(20px,2.1vw,28px); letter-spacing:0; text-transform:none;
  color:#CFC9BE; margin:clamp(26px,2.7vw,38px) 0 clamp(14px,1.5vw,20px);
}
.mini-head--flush{ margin-top:0; }

/* =========================================================
   01 — SPLIT / DISZIPLINEN
   ========================================================= */
.split{ background:linear-gradient(180deg, transparent 0%, rgba(var(--gold-rgb),.024) 10%, transparent 36%); }
.split__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--gap);
  margin-top:clamp(16px,1.9vw,26px);
  width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad);
}
.disc{
  position:relative; padding:clamp(38px,4.2vw,64px) clamp(30px,3.6vw,56px) clamp(40px,4.4vw,66px);
  background:var(--panel); box-shadow:var(--lift);
  transition:transform .6s var(--ease-out), background .6s var(--ease);
  overflow:hidden;
}
.disc::before{
  content:""; position:absolute; inset:0; z-index:0; opacity:0;
  background:var(--panel-gold);
  transition:opacity .7s var(--ease);
}
.disc:hover{ background:var(--panel-hi); transform:translateY(-4px); }
.disc:hover::before{ opacity:1; }
.disc > *{ position:relative; z-index:1; }
.disc__art{ width:clamp(74px,7vw,102px); color:var(--gold); opacity:.85; margin-bottom:clamp(28px,3vw,42px); }
.disc__art svg{ width:100%; height:auto; }
.disc:hover .disc__art{ opacity:1; }
.disc__kicker{
  font-family:var(--ff-mark); font-size:10.5px; letter-spacing:.36em; text-transform:uppercase;
  color:var(--gold); margin:0 0 16px;
}
.disc__title{
  font-family:var(--ff-display); font-weight:300; font-size:clamp(24px,2.3vw,33px);
  line-height:1.24; margin:0 0 20px; max-width:24ch; color:#F2EFE8; letter-spacing:-.01em;
}
.disc__text{ color:var(--muted); max-width:46ch; }
.disc__list{ margin:28px 0 36px; display:flex; flex-direction:column; gap:11px; }
.disc__list li{
  padding-left:28px; font-size:15.2px; color:#CAC5BB; position:relative;
  transition:color .35s, transform .35s var(--ease);
}
.disc__list li::before{
  content:""; position:absolute; left:4px; top:10px; width:6px; height:6px;
  border:1px solid var(--gold); transform:rotate(45deg); transition:background .35s;
}
.disc__list li:hover{ color:#fff; transform:translateX(5px); }
.disc__list li:hover::before{ background:var(--gold); }

/* =========================================================
   02 — SPALTEN
   ========================================================= */
.cols{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(30px,4.2vw,70px); align-items:start; }
.cols__right p{ color:var(--muted); }
.cols__right .lead em{ font-style:italic; color:var(--gold-bright); }
.cols__right .lead{ color:#D6D1C7; font-size:clamp(17px,1.55vw,21px); font-family:var(--ff-display); line-height:1.55; }


/* =========================================================
   PANEL SECTIONS
   ========================================================= */
.section--panel{
  background:linear-gradient(180deg, var(--black), var(--ink) 22%, var(--ink) 78%, var(--black));
}
.panelglow{
  position:absolute; z-index:0; left:50%; top:-10%; transform:translateX(-50%);
  width:min(1200px,120vw); aspect-ratio:1.6; pointer-events:none;
  background:radial-gradient(closest-side, rgba(var(--gold-rgb),.09), transparent 70%);
}
.panelglow--b{ top:auto; bottom:-14%; }
.section--panel .wrap, .section--contact .wrap{ position:relative; z-index:1; }

/* Leistungskarten */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2vw,28px); }
.duo--three{ grid-template-columns:repeat(3,1fr); }
.duo--solo{ grid-template-columns:1fr; }

/* Drei nebeneinander: Titel und Innenabstand etwas zurücknehmen */
.duo--three .bigcard{ padding:clamp(28px,2.6vw,40px); }
.duo--three .bigcard h3{ font-size:clamp(21px,1.78vw,25px); }
.duo--three .bigcard__head{ gap:16px; }
.duo--three .bigcard__lead{ font-size:clamp(16px,1.35vw,18px); }

/* Einzelkarte über die volle Breite: Kopf links, Liste rechts */
.bigcard--wide{
  display:grid; grid-template-columns:.9fr 1.1fr;
  gap:clamp(30px,4.5vw,80px); align-items:center;
  padding:clamp(42px,4.8vw,76px) clamp(36px,4.2vw,64px);
}
.bigcard--wide .bigcard__lead{ margin-bottom:0; }
.bigcard--wide .checklist{ gap:18px; }
.bigcard--wide .checklist li{ font-size:16px; }

.bigcard{
  position:relative; padding:clamp(32px,3.4vw,52px);
  background:var(--panel); box-shadow:var(--lift);
  overflow:hidden; transition:transform .6s var(--ease-out), background .5s var(--ease);
}
.bigcard::before{
  content:""; position:absolute; inset:0; opacity:0;
  background:var(--panel-gold); transition:opacity .6s var(--ease);
}
.bigcard > *{ position:relative; z-index:1; }
.bigcard:hover{ transform:translateY(-5px); background:var(--panel-hi); }
.bigcard:hover::before{ opacity:1; }
.bigcard__head{ display:flex; align-items:flex-start; gap:20px; margin-bottom:20px; }
.bigcard__num{
  flex-shrink:0; width:46px; height:46px; display:grid; place-items:center;
  background:rgba(var(--gold-rgb),.10); color:var(--gold);
  font-family:var(--ff-mark); font-weight:400; font-size:14.5px; letter-spacing:.1em; text-indent:.1em;
  transition:background .5s var(--ease), transform .6s var(--ease-out);
}
.bigcard:hover .bigcard__num{ background:rgba(var(--gold-rgb),.2); transform:translateY(-2px); }
.bigcard h3{
  font-family:var(--ff-display); font-weight:300; font-size:clamp(24px,2.5vw,34px);
  line-height:1.16; margin:2px 0 0; color:#F2EFE8; letter-spacing:-.01em;
}
.bigcard__lead{ color:#CCC6BB; font-family:var(--ff-display); font-size:clamp(17px,1.55vw,20px); font-style:italic; margin-bottom:26px; }

.checklist{ display:flex; flex-direction:column; gap:13px; }
.checklist li{
  position:relative; padding-left:30px;
  color:var(--muted); font-size:15px; line-height:1.5; transition:color .35s;
}
.checklist li::before{
  content:""; position:absolute; left:4px; top:8px; width:10px; height:5px;
  border-left:1px solid var(--gold); border-bottom:1px solid var(--gold);
  transform:rotate(-45deg); opacity:.85;
}
.checklist li:hover{ color:#EAE6DE; }

/* Fokusfelder als Laufband */
.focusrail{
  position:relative; overflow:hidden;
  -webkit-mask:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.focusrail__track{
  display:flex; align-items:flex-start; width:max-content; gap:var(--gap);
  animation:focusrail 52s linear infinite;
}
.focusrail:hover .focusrail__track{ animation-play-state:paused; }
.focusrail .fcell{ flex:0 0 clamp(122px,10.2vw,148px); }
@keyframes focusrail{ to{ transform:translateX(calc(-25% - var(--gap)/4)); } }
.fcell{
  background:var(--panel); box-shadow:var(--lift);
  padding:clamp(11px,1.05vw,14px);
  aspect-ratio:1; display:flex; flex-direction:column; justify-content:space-between; gap:7px;
  position:relative; overflow:hidden;
  transition:background .5s var(--ease), transform .6s var(--ease-out);
}
.fcell::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:var(--panel-gold);
  opacity:0; transition:opacity .55s;
}
.fcell:hover{ background:var(--panel-hi); transform:translateY(-5px); }
.fcell:hover::before{ opacity:1; }
.fcell h4{
  position:relative; z-index:3; margin:0; font-family:var(--ff-display); font-weight:400;
  font-size:clamp(12.5px,1vw,14.5px); line-height:1.2; color:#EDEAE2;
}


/* =========================================================
   INVESTMENTSEITE
   ========================================================= */

/* Leitgedanke */

/* Fokusfelder: Icon statt Nummer */

/* Zellen mit Foto statt Flaeche */
.fcell--photo{ background:#0B0B0B; justify-content:flex-end; }
.fcell--photo:hover{ background:#0B0B0B; }
.fcell--photo::before{ display:none; }
.fcell__bg{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.fcell--photo::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(8,8,8,0) 0%, rgba(8,8,8,.18) 40%, rgba(8,8,8,.82) 100%);
}
.fcell--photo h4{ color:#F5F2EB; }

/* Mehr als Kapital */
.vlist{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(24px,2.6vw,40px) clamp(32px,4.2vw,80px);
}
.vitem{ position:relative; padding-left:34px; }
.vitem::before{
  content:""; position:absolute; left:2px; top:12px; width:7px; height:7px;
  border:1px solid var(--gold); transform:rotate(45deg);
  transition:background .4s var(--ease);
}
.vitem:hover::before{ background:var(--gold); }
.vitem h4{
  font-family:var(--ff-display); font-weight:400; font-size:clamp(20px,2vw,27px);
  line-height:1.2; margin:0 0 12px; color:#EFECE4;
}
.vitem p{ margin:0; color:var(--muted); font-size:15.4px; }

/* Passung */
.fit{ display:grid; grid-template-columns:1fr 1fr; gap:var(--gap); }
.fit__col{
  position:relative; overflow:hidden;
  background:var(--panel); box-shadow:var(--lift);
  padding:clamp(30px,3.2vw,50px);
  transition:background .5s var(--ease), transform .6s var(--ease-out);
}
.fit__col::before{
  content:""; position:absolute; inset:0; opacity:0;
  background:var(--panel-gold); transition:opacity .6s var(--ease);
}
.fit__col > *{ position:relative; z-index:1; }
.fit__col:hover{ background:var(--panel-hi); transform:translateY(-4px); }
.fit__col--yes:hover::before{ opacity:1; }
.fit__col h4{
  font-family:var(--ff-display); font-weight:400; font-size:clamp(21px,2vw,28px);
  margin:0 0 clamp(20px,2.2vw,30px); color:#EFECE4;
}
.fit__col--no h4{ color:#B2ACA1; }
.nolist{ display:flex; flex-direction:column; gap:13px; }
.nolist li{
  position:relative; padding-left:30px;
  color:var(--muted); font-size:15px; line-height:1.5; transition:color .35s;
}
.nolist li::before, .nolist li::after{
  content:""; position:absolute; left:5px; top:11px; width:11px; height:1px;
  background:var(--faint);
}
.nolist li::before{ transform:rotate(45deg); }
.nolist li::after{ transform:rotate(-45deg); }
.nolist li:hover{ color:#CFCAC1; }

/* =========================================================
   05 — PERSON
   ========================================================= */
.person{ display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(32px,5vw,84px); align-items:start; }
.person__media{ position:sticky; top:130px; }
.portrait{
  position:relative; margin:0; aspect-ratio:4/5; overflow:hidden;
  background:#050505; box-shadow:var(--lift);
}
.portrait__img{
  width:100%; height:100%; object-fit:cover; object-position:50% 22%;
  filter:contrast(1.04) saturate(.92) brightness(1.02);
  transform:scale(1.02);
  transition:transform 1.2s var(--ease-out), filter .8s var(--ease);
}
.portrait:hover .portrait__img{ transform:scale(1.055); filter:contrast(1.06) saturate(.98) brightness(1.05); }
/* Verlauf nach unten, damit das Bild in den Seitengrund läuft, plus feiner Goldschimmer */
.portrait__veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, transparent 52%, rgba(5,5,5,.42) 82%, rgba(5,5,5,.88) 100%),
    linear-gradient(115deg, rgba(var(--gold-rgb),.10), transparent 42%);
}
.portrait__corner{ position:absolute; width:28px; height:28px; z-index:2; }
.portrait__corner--tl{ top:-1px; left:-1px; border-top:1px solid var(--gold); border-left:1px solid var(--gold); }
.portrait__corner--br{ bottom:-1px; right:-1px; border-bottom:1px solid var(--gold); border-right:1px solid var(--gold); }

.person__body p{ color:var(--muted); max-width:64ch; }
.person__role{
  font-family:var(--ff-mark); font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold); margin:-8px 0 22px;
}
.person__claim{
  font-family:var(--ff-display); font-style:italic; font-weight:300;
  font-size:clamp(20px,2.2vw,30px); color:#DFDACF !important; line-height:1.4;
  padding-left:24px; border-left:1px solid var(--gold); margin-bottom:34px !important;
}

/* Stats */
.stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap);
  margin-top:clamp(60px,7vw,96px);
}
.stat{
  background:var(--panel); box-shadow:var(--lift);
  padding:clamp(32px,3.2vw,50px) clamp(22px,2.4vw,34px); text-align:center;
  transition:background .5s var(--ease);
}
.stat:hover{ background:var(--panel-hi); }
.stat__val{ display:flex; align-items:baseline; justify-content:center; gap:2px; }
.stat__val b{
  font-family:var(--ff-mark); font-weight:300; font-size:clamp(46px,6.4vw,84px);
  line-height:1; letter-spacing:-.01em; color:var(--gold-bright);
  background:linear-gradient(180deg,var(--gold-bright),var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stat__val i{ font-style:normal; font-family:var(--ff-mark); font-weight:300; font-size:clamp(28px,3.6vw,48px); color:var(--gold); }
.stat__unit{
  display:block; font-family:var(--ff-mark); font-size:11px; letter-spacing:.32em;
  text-transform:uppercase; color:#E4DFD5; margin-top:14px;
}
.stat__label{ display:block; margin-top:10px; font-size:13.5px; color:var(--faint); }

/* Timeline */
.timeline{ position:relative; padding-left:clamp(0px,2vw,20px); }
.timeline li{
  position:relative; display:grid; grid-template-columns:170px 1fr; gap:clamp(20px,3vw,48px);
  padding:22px 0 22px 34px;
  transition:background .45s;
}
.timeline li::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--line-soft);
}
.timeline li::after{
  content:""; position:absolute; left:-3.5px; top:29px; width:8px; height:8px;
  background:var(--black); border:1px solid var(--gold); transform:rotate(45deg);
  transition:background .45s, transform .5s var(--ease-out);
}
.timeline li:hover::after{ background:var(--gold); transform:rotate(45deg) scale(1.25); }
.timeline li:hover{ background:rgba(255,255,255,.024); }
.timeline--mark::after{ background:var(--gold) !important; box-shadow:0 0 14px rgba(var(--gold-rgb),.6); }
.timeline__year{
  font-family:var(--ff-mark); font-size:12px; letter-spacing:.16em; color:var(--gold);
  padding-top:4px; white-space:nowrap;
}
.timeline__body h4{
  font-family:var(--ff-display); font-weight:400; font-size:clamp(19px,1.85vw,25px);
  margin:0 0 8px; color:#EFECE4;
}
.timeline__body p{ margin:0; color:var(--muted); font-size:14.6px; max-width:70ch; }

/* =========================================================
   06 — PARTNERS
   ========================================================= */
.partners{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap); }
.partner{
  background:var(--panel); box-shadow:var(--lift);
  padding:clamp(32px,3.4vw,52px);
  display:flex; flex-direction:column; gap:16px; position:relative; overflow:hidden;
  transition:background .5s var(--ease), transform .6s var(--ease-out);
}
.partner::before{
  content:""; position:absolute; inset:0;
  background:var(--panel-gold);
  opacity:0; transition:opacity .55s;
}
.partner:hover{ background:var(--panel-hi); transform:translateY(-5px); }
.partner:hover::before{ opacity:1; }
.partner > *{ position:relative; }
.partner__logo{ height:52px; display:flex; align-items:center; margin-bottom:22px; }
.partner__logo img{
  max-height:100%; max-width:210px; width:auto; object-fit:contain; object-position:left center; opacity:.62;
  transition:opacity .5s var(--ease), transform .6s var(--ease-out);
}
.partner:hover .partner__logo img{ opacity:1; transform:translateY(-2px); }
.partner__desc{
  flex:1; color:#CFC9BE; font-family:var(--ff-display); font-weight:300;
  font-size:clamp(19px,1.9vw,25px); line-height:1.4;
}
.partner__go{
  display:inline-flex; align-items:center; gap:12px; margin-top:14px;
  font-family:var(--ff-mark); font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold);
}
.partner__go i{
  width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor;
  transform:rotate(45deg); transition:transform .4s var(--ease);
}
.partner:hover .partner__go i{ transform:rotate(45deg) translate(2px,-2px); }

/* =========================================================
   07 — CONTACT
   ========================================================= */
.section--contact{
  background:linear-gradient(180deg, var(--black) 0%, var(--ink) 45%, var(--black) 100%);
}
.contact{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,96px); align-items:start; }
.contact__data{
  margin-top:clamp(34px,4vw,54px); display:flex; flex-direction:column; gap:clamp(18px,2vw,26px);
}
.contact__data li{
  display:grid; grid-template-columns:120px 1fr; gap:20px; align-items:baseline;
  font-size:15.4px; color:#DCD7CD;
}
.contact__label{
  font-family:var(--ff-mark); font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--faint);
}
.contact__data a{ transition:color .3s; }
.contact__data a:hover{ color:var(--gold); }

/* Form */
.form{ padding:clamp(30px,3.2vw,48px); background:var(--panel); box-shadow:var(--lift); }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.field{ position:relative; margin-bottom:18px; }
.field input, .field textarea, .field select{
  width:100%; background:rgba(255,255,255,.035); border:0; outline:0;
  padding:26px 16px 12px; color:var(--text);
  font-family:var(--ff-sans); font-size:15px; font-weight:300;
  box-shadow:0 0 0 1px rgba(255,255,255,.055) inset;
  transition:background .4s, box-shadow .4s;
}
.field textarea{ resize:vertical; min-height:130px; }
.field select{ appearance:none; cursor:pointer; color:var(--text); }
.field select option{ background:#101010; color:var(--text); }
.field--select::after{
  content:""; position:absolute; right:18px; top:26px; width:7px; height:7px;
  border-right:1px solid var(--gold); border-bottom:1px solid var(--gold);
  transform:rotate(45deg); pointer-events:none;
}
.field label{
  position:absolute; left:16px; top:19px; color:var(--faint); font-size:15px; font-weight:300;
  pointer-events:none; transition:all .35s var(--ease);
}
.field input:focus, .field textarea:focus, .field select:focus{
  background:rgba(255,255,255,.06); box-shadow:0 0 0 1px rgba(var(--gold-rgb),.55) inset;
}
.field input:focus + label, .field textarea:focus + label,
.field input:not(:placeholder-shown) + label, .field textarea:not(:placeholder-shown) + label,
.field--select label{
  top:9px; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase;
  font-family:var(--ff-mark); color:var(--gold);
}
.field.is-invalid input, .field.is-invalid textarea{ box-shadow:0 0 0 1px #B4543F inset; }

.check{ display:flex; align-items:flex-start; gap:14px; cursor:pointer; margin:6px 0 28px; }
.check input{ position:absolute; opacity:0; width:0; height:0; }
.check__box{
  flex-shrink:0; width:18px; height:18px; border:1px solid var(--line); margin-top:2px;
  display:grid; place-items:center; transition:border-color .3s, background .3s;
}
.check__box i{
  width:9px; height:5px; border-left:1px solid var(--black); border-bottom:1px solid var(--black);
  transform:rotate(-45deg) scale(0); transition:transform .3s var(--ease-out);
}
.check input:checked + .check__box{ background:var(--gold); border-color:var(--gold); }
.check input:checked + .check__box i{ transform:rotate(-45deg) scale(1); }
.check__text{ font-size:13.6px; color:var(--muted); line-height:1.6; }
.check__text a{ color:var(--gold); border-bottom:1px solid rgba(var(--gold-rgb),.4); }
.check.is-invalid .check__box{ border-color:#B4543F; }

.form__note{ margin:16px 0 0; font-size:13.5px; color:var(--gold); min-height:1.4em; }
.form__note.is-error{ color:#C97A66; }

/* Honigtopf gegen Bots, fuer Menschen und Screenreader unsichtbar */
.hpot{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }

/* Zustand waehrend des Versands */
.form.is-sending{ opacity:.72; }
.form button[type="submit"][disabled]{ cursor:progress; }


/* =========================================================
   FOOTER
   ========================================================= */
.footer{ padding-top:clamp(64px,7vw,100px); background:var(--black); }
.footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(30px,4vw,56px); padding-bottom:clamp(48px,5vw,72px); }
.footer__mark{ width:46px; margin-bottom:20px; }
.footer__word{ display:flex; flex-direction:column; line-height:1; margin:0 0 18px; }
.footer__word b{ font-family:var(--ff-mark); font-weight:500; font-size:19px; letter-spacing:.34em; color:#F1EDE5; }
.footer__word span{ font-family:var(--ff-mark); font-weight:300; font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-top:8px; }
.footer__claim{ font-family:var(--ff-display); font-style:italic; font-size:18px; color:var(--muted); margin:0; }
.footer__col h4{
  font-family:var(--ff-mark); font-size:10.5px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin:0 0 20px; font-weight:400;
}
.footer__col a, .footer__col p{
  display:block; font-size:14.4px; color:var(--muted); margin:0 0 11px; transition:color .3s;
}
.footer__col a:hover{ color:var(--gold-bright); }
.footer__addr{ line-height:1.6; }
.footer__bottom{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding-block:28px;
}
.footer__bottom p{ margin:0; font-size:12.6px; color:var(--faint); }
.footer__legal{ display:flex; gap:26px; }
.footer__legal a{ font-size:12.6px; color:var(--faint); transition:color .3s; }
.footer__legal a:hover{ color:var(--gold); }

/* To top */
.totop{
  position:fixed; right:clamp(16px,2.4vw,32px); bottom:clamp(16px,2.4vw,32px); z-index:55;
  width:46px; height:46px; display:grid; place-items:center;
  border:1px solid var(--line); background:rgba(7,7,7,.8); backdrop-filter:blur(8px);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .4s, visibility .4s, transform .4s var(--ease), border-color .4s, background .4s;
}
.totop.is-on{ opacity:1; visibility:visible; transform:none; }
.totop:hover{ border-color:var(--gold); background:rgba(var(--gold-rgb),.12); }
.totop i{ width:8px; height:8px; border-top:1px solid var(--gold); border-left:1px solid var(--gold); transform:rotate(45deg) translate(2px,2px); }

/* Cookie */
.cookie{
  position:fixed; right:clamp(16px,2.4vw,32px); bottom:clamp(16px,2.4vw,32px); z-index:56;
  max-width:400px; padding:20px 22px; border:1px solid var(--line);
  background:rgba(10,10,10,.94); backdrop-filter:blur(12px);
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  transform:translateY(20px); opacity:0; transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.cookie.is-on{ opacity:1; transform:none; }
body.cookie-on .totop{ display:none; }
/* Der Hinweis schwebt unten rechts und wuerde sonst die Links im Fuss verdecken.
   --cookie-h setzt assets/js/main.js auf die tatsaechliche Hoehe des Kastens. */
body.cookie-on .footer__bottom{ padding-bottom:calc(28px + var(--cookie-h, 0px) + 20px); }
.cookie p{ margin:0; font-size:13.2px; color:var(--muted); flex:1; min-width:200px; }
.cookie a{ color:var(--gold); border-bottom:1px solid rgba(var(--gold-rgb),.4); }

/* =========================================================
   REVEAL
   ========================================================= */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .95s var(--ease-out), transform .95s var(--ease-out); }
.reveal.is-in{ opacity:1; transform:none; }

/* Gestaffelter Inhalt in Rasterflächen — die Zellen selbst bleiben deckend,
   damit die goldenen Trennlinien beim Einblenden nicht durchscheinen. */
.stagger > * > *{
  opacity:0; transform:translateY(14px);
  transition:opacity .75s var(--ease-out), transform .75s var(--ease-out);
}
.stagger.is-in > * > *{ opacity:1; transform:none; }
.stagger.is-in > *:nth-child(1) > *{ transition-delay:0.06s }
.stagger.is-in > *:nth-child(2) > *{ transition-delay:0.11s }
.stagger.is-in > *:nth-child(3) > *{ transition-delay:0.17s }
.stagger.is-in > *:nth-child(4) > *{ transition-delay:0.23s }
.stagger.is-in > *:nth-child(5) > *{ transition-delay:0.28s }
.stagger.is-in > *:nth-child(6) > *{ transition-delay:0.34s }
.stagger.is-in > *:nth-child(7) > *{ transition-delay:0.39s }
.stagger.is-in > *:nth-child(8) > *{ transition-delay:0.45s }
.stagger.is-in > *:nth-child(9) > *{ transition-delay:0.50s }
.stagger.is-in > *:nth-child(10) > *{ transition-delay:0.55s }
.stagger.is-in > *:nth-child(11) > *{ transition-delay:0.61s }
.stagger.is-in > *:nth-child(12) > *{ transition-delay:0.67s }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  .stagger > * > *{ opacity:1 !important; transform:none !important; }
  .grain,.hero__glow,.hero__watermark{ animation:none !important; }
  .focusrail__track{ animation:none !important; }
  .focusrail{ overflow-x:auto; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .nav{ display:none; }
  .header .langsw{ display:none; }
  .burger{ display:block; }
  .split__grid{ grid-template-columns:1fr; }
  .cols{ grid-template-columns:1fr; }
  .duo, .duo--three{ grid-template-columns:1fr; }
  .bigcard--wide{ grid-template-columns:1fr; gap:26px; }
  .vlist{ grid-template-columns:1fr; }
  .fit{ grid-template-columns:1fr; }
  .person{ grid-template-columns:1fr; }
  .person__media{ position:static; max-width:420px; }
  .contact{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr 1fr; }
}

@media (max-width:760px){
  body{ font-size:16px; }
  .stats{ grid-template-columns:1fr; }
  .partners{ grid-template-columns:1fr; }
  .form__row{ grid-template-columns:1fr; }
  .timeline li{ grid-template-columns:1fr; gap:8px; }
  .contact__data li{ grid-template-columns:1fr; gap:4px; }
  .footer__top{ grid-template-columns:1fr; }
  .hero__watermark{ opacity:.06; right:-22vw; }
  .eyebrow{ font-size:9.5px; letter-spacing:.22em; gap:10px; }
  .hero__cta{ flex-direction:column; align-items:stretch; }
  .hero__cta .btn{ width:100%; }
  .brand__sub{ display:none; }
  .cookie{ left:12px; right:12px; max-width:none; bottom:12px; }
  .totop{ display:none; }
}

@media (max-width:480px){
  .focusrail__track{ gap:10px; }
  .focusrail .fcell{ flex:0 0 124px; }
}

/* =========================================================
   SEITENKOPF DER UNTERSEITEN
   ========================================================= */
.pagehero{
  position:relative; overflow:hidden;
  padding:clamp(114px,13vh,156px) 0 clamp(26px,2.9vw,42px);
  background:linear-gradient(180deg, var(--ink) 0%, var(--black) 100%);
}
.pagehero__glow{
  position:absolute; left:50%; top:-32%; transform:translateX(-50%);
  width:min(1300px,130vw); aspect-ratio:1.5; pointer-events:none;
  background:radial-gradient(closest-side, rgba(var(--gold-rgb),.13), transparent 70%);
  animation:breathe 11s ease-in-out infinite;
}
.pagehero__grid{
  position:absolute; inset:0; pointer-events:none; opacity:.45;
  background-image:linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
  background-size:clamp(80px,11vw,150px) 100%;
  -webkit-mask:radial-gradient(80% 80% at 50% 30%, #000 20%, transparent 80%);
  mask:radial-gradient(80% 80% at 50% 30%, #000 20%, transparent 80%);
}
.pagehero__mark{
  position:absolute; right:-5vw; top:50%; transform:translateY(-48%);
  width:min(460px,44vw); opacity:.05; pointer-events:none;
}
.pagehero .wrap{ position:relative; z-index:1; }
.pagehero__kicker{
  display:inline-block; margin:0 0 22px;
  font-family:var(--ff-mark); font-size:12px; letter-spacing:.42em; text-indent:.42em;
  text-transform:uppercase; color:var(--gold);
}
.pagehero__title{
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(42px,7vw,92px); line-height:1.04; letter-spacing:-.018em;
  margin:0 0 24px; color:#F5F2EB;
}
.pagehero__title--long{ font-size:clamp(36px,5.6vw,74px); letter-spacing:-.015em; }
.pagehero__lead{ max-width:60ch; margin:0; color:var(--muted); font-size:clamp(15px,1.3vw,18px); }

/* Unterseiten: erster Abschnitt darf enger an den Kopf ruecken */
.pagehero + .section{ padding-top:clamp(26px,2.9vw,42px); }

@media (max-width:760px){
  .pagehero__mark{ opacity:.035; right:-24vw; }
}

/* =========================================================
   RECHTSSEITEN (Impressum / Datenschutz)
   ========================================================= */
.legal-hero{
  position:relative; padding:clamp(150px,17vh,220px) 0 clamp(52px,6vw,86px); overflow:hidden;
}
.legal-hero__glow{
  position:absolute; left:50%; top:-40%; transform:translateX(-50%);
  width:min(1000px,110vw); aspect-ratio:1.5; pointer-events:none;
  background:radial-gradient(closest-side, rgba(var(--gold-rgb),.10), transparent 70%);
}
.legal-hero .wrap{ position:relative; z-index:1; }
.legal-hero h1{
  font-family:var(--ff-display); font-weight:300; font-size:clamp(38px,6vw,76px);
  line-height:1.05; margin:16px 0 0; color:#F3F0E9; letter-spacing:-.015em;
}
.legal{ padding-block:clamp(56px,7vw,96px); }
.legal__grid{ display:grid; grid-template-columns:250px 1fr; gap:clamp(32px,5vw,72px); align-items:start; }
.legal__toc{ position:sticky; top:120px; }
.legal__toc h4{
  font-family:var(--ff-mark); font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold); margin:0 0 18px; font-weight:400;
}
.legal__toc a{
  display:block; padding:8px 0 8px 16px; border-left:1px solid var(--line-soft);
  font-size:13.4px; color:var(--muted); transition:color .3s, border-color .3s, padding-left .3s;
}
.legal__toc a:hover{ color:var(--gold-bright); border-color:var(--gold); padding-left:22px; }

.legal__body{ max-width:78ch; }
.legal__hint{
  margin:0 0 34px; padding:16px 20px;
  background:rgba(255,255,255,.035);
  border-left:2px solid rgba(var(--gold-rgb),.42);
  font-size:13.6px; color:var(--muted);
}
.legal__hint a{ color:var(--gold); border-bottom:1px solid rgba(var(--gold-rgb),.35); }
.legal__body h2{
  font-family:var(--ff-display); font-weight:400; font-size:clamp(22px,2.4vw,32px);
  color:#F0EDE6; margin:clamp(44px,4.8vw,68px) 0 16px;
}
.legal__body h2:first-of-type{ margin-top:0; }
.legal__body h3{
  font-family:var(--ff-mark); font-weight:400; font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin:28px 0 10px;
}
.legal__body p, .legal__body li{ color:var(--muted); font-size:15.4px; }
.legal__body ul{ margin:0 0 1.15em; }
.legal__body ul li{ position:relative; padding:6px 0 6px 22px; }
.legal__body ul li::before{
  content:""; position:absolute; left:2px; top:15px; width:5px; height:5px;
  border:1px solid var(--gold); transform:rotate(45deg);
}
.legal__body a{ color:var(--gold); border-bottom:1px solid rgba(var(--gold-rgb),.35); }
.legal__body a:hover{ color:var(--gold-bright); }
.legal__body strong{ color:#DDD8CE; font-weight:500; }

.datacard{
  padding:clamp(26px,3vw,40px);
  background:linear-gradient(135deg, rgba(var(--gold-rgb),.09), rgba(255,255,255,.016) 60%);
  box-shadow:var(--lift); margin-bottom:34px;
}
.datacard dl{ margin:0; display:grid; grid-template-columns:150px 1fr; gap:14px 24px; }
.datacard dt{
  font-family:var(--ff-mark); font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--faint);
  padding-top:4px;
}
.datacard dd{ margin:0; color:#DDD8CE; font-size:15.2px; line-height:1.6; }
.datacard dd a{ color:inherit; border-bottom:1px solid var(--line); }
.datacard dd a:hover{ color:var(--gold); }

.backlink{
  display:inline-flex; align-items:center; gap:14px; margin-top:clamp(44px,5vw,68px);
  font-family:var(--ff-mark); font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold);
}
.backlink i{
  width:8px; height:8px; border-bottom:1px solid currentColor; border-left:1px solid currentColor;
  transform:rotate(45deg); transition:transform .35s var(--ease);
}
.backlink:hover i{ transform:rotate(45deg) translate(-2px,2px); }

@media (max-width:1080px){
  .legal__grid{ grid-template-columns:1fr; }
  .legal__toc{ position:static; }
  .legal__toc{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .legal__toc h4{ width:100%; margin-bottom:6px; }
  .legal__toc a{
    border-left:0; border:1px solid var(--line-soft);
    padding:8px 14px; font-size:12.6px;
  }
  .legal__toc a:hover{ padding-left:14px; border-color:var(--gold); }
}
@media (max-width:600px){
  .datacard dl{ grid-template-columns:1fr; gap:4px 0; }
  .datacard dt{ padding-top:12px; }
}
