:root{
  --bg:#f7f7f5;
  --surface:#ffffff;
  --surface-soft:rgba(255,255,255,.76);
  --surface-muted:#f0f1ef;
  --text:#1d1d1f;
  --muted:#66676b;
  --line:rgba(29,29,31,.11);
  --accent:#9b2961;
  --accent-deep:#7c1f4d;
  --accent-soft:#f6eaf0;
  --shadow:0 22px 70px rgba(34,34,38,.08);
  --shadow-soft:0 10px 30px rgba(34,34,38,.06);
  --radius-xl:30px;
  --radius-lg:20px;
  --radius-md:14px;
  --container:min(100% - 48px,1280px);
  --reading:760px;
  --header-h:82px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 22px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid rgba(155,41,97,.3);outline-offset:3px}
::selection{background:rgba(155,41,97,.18)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.legacy-anchor{position:relative;display:block;width:0;height:0;overflow:hidden;outline:none!important}
.eyebrow{margin:0 0 12px;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}

/* Header */
.site-header{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line);background:rgba(247,247,245,.82);backdrop-filter:saturate(135%) blur(12px);-webkit-backdrop-filter:saturate(135%) blur(12px)}
.header-inner{width:var(--container);height:var(--header-h);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 2px}
.brand{min-width:max-content;display:inline-flex;align-items:center;color:var(--text);font-size:clamp(1.25rem,2vw,1.7rem);font-weight:680;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.brand::before{content:none;display:none}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,2vw,28px);font-size:.92rem;font-weight:540;line-height:1}
.site-nav a{position:relative;padding:8px 0;color:#3a3a3d;white-space:nowrap}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;background:var(--accent);transition:right .22s ease}
.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}
.nav-toggle{display:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.72)}
.nav-toggle>span:not(.sr-only){display:block;width:19px;height:1.5px;margin:4px auto;background:var(--text);transition:.2s}

/* Universal page hero */
.page-hero{width:var(--container);margin:36px auto 0;padding:clamp(46px,7vw,88px);display:flex;align-items:flex-end;justify-content:space-between;gap:36px;border:1px solid rgba(255,255,255,.85);border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,246,242,.73));box-shadow:var(--shadow);overflow:hidden;position:relative}
.page-hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:-250px;background:radial-gradient(circle,rgba(155,41,97,.11),transparent 68%);pointer-events:none}
.page-hero h1{max-width:850px;margin:0;font-size:clamp(2.6rem,6vw,5.9rem);line-height:.98;letter-spacing:-.045em;font-weight:650;overflow-wrap:anywhere}

/* Legacy content layout */
.content-layout{width:var(--container);margin:34px auto 96px;display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:30px;align-items:start}
.content-layout.full-width-content{grid-template-columns:minmax(0,1fr)}
.content-layout.full-width-content .article-content{grid-column:1}
.content-layout--top-aligned{align-items:start}
.content-layout--top-aligned .content-sidebar{align-self:start}
.content-layout--top-aligned .article-content{align-self:start}
.content-layout--top-aligned .content-sidebar>*,.content-layout--top-aligned .article-content>*:first-child{margin-top:0}
.content-sidebar{position:sticky;top:calc(var(--header-h) + 22px);display:grid;gap:18px}
.content-sidebar>.backgraulite,.content-sidebar>.overview-card,.content-sidebar>div{padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.72);box-shadow:var(--shadow-soft);font-size:.92rem;line-height:1.55}
.content-sidebar br+br{display:none}
.content-sidebar a{color:var(--accent-deep);font-weight:620}
.content-sidebar strong{font-weight:680}
.article-content{min-width:0;display:grid;gap:22px}
.article-content>.backgraulite,.article-content>.article-card,.article-content>section,.article-content>div:not(.steps-panel){padding:clamp(25px,4vw,46px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft)}
.article-content>.backgraulite:empty,.content-sidebar>.backgraulite:empty{display:none}
.article-content p{margin:0 0 1.05em}
.article-content h1,.article-content h2,.article-content h3,.article-content .Schwarzgross,.article-content .Rotgross{color:var(--text);letter-spacing:-.025em;line-height:1.16}
.article-content h2,.article-content .Schwarzgross,.article-content .Rotgross{font-size:clamp(1.45rem,2.5vw,2.35rem)}
.article-content h2,.article-content .Schwarzgross{font-weight:620}
.article-content .Rotgross{color:var(--accent);font-weight:680}
.article-content .Magnesium,.article-content .grau_fussnote1,.article-content .grau_fussnote11{color:var(--muted);font-size:.86rem}
.article-content .Zinn1,.article-content .Zinn11,.article-content .Zinn111,.article-content .Zinn112,.article-content .Zinn13,.article-content .Zinn14,.article-content .Zinn23,.article-content .Zinn231,.article-content .Zinndunkel,.article-content .schwarz,.article-content .schwarz3,.article-content .schwarz21{color:inherit;font-size:inherit;line-height:inherit}
.article-content a:not(.primary-button){color:var(--accent-deep);text-decoration:underline;text-decoration-color:rgba(155,41,97,.25);text-underline-offset:.18em}
.article-content ul,.article-content ol{padding-left:1.25em}
.article-content table{width:100%;border-collapse:collapse;display:block;overflow:auto}
.article-content td,.article-content th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}

/* Three steps */
.steps-panel{padding:clamp(30px,5vw,54px);border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(247,243,240,.88));box-shadow:var(--shadow)}
.steps-panel h2{margin:0 0 30px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.045em}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.steps-grid article{min-height:230px;padding:24px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.78)}
.step-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:34px;border-radius:50%;background:var(--text);color:#fff;font-size:.95rem;font-weight:700}
.steps-grid p{margin:0 0 12px;color:var(--muted);line-height:1.45}
.steps-grid strong{margin-top:auto;font-size:1.15rem;letter-spacing:-.015em}

/* Index page */
.home-page main{overflow:hidden}
.hero-wrap{width:var(--container);margin:28px auto 0}
.hero{min-height:clamp(600px,78vh,820px);position:relative;overflow:hidden;border-radius:var(--radius-xl);background:#ecebe7;box-shadow:var(--shadow)}
.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(249,248,245,.92) 0%,rgba(249,248,245,.72) 31%,rgba(249,248,245,.1) 55%,rgba(249,248,245,0) 100%),url('/header-clean.png');background-size:cover;background-position:center center}
.hero-copy{position:relative;z-index:2;min-height:inherit;width:100%;display:flex;align-items:center}
.hero-copy-inner{width:min(48%,620px);padding:clamp(32px,7vw,88px)}
.hero h1{margin:0;font-size:clamp(3.6rem,7vw,7.5rem);font-weight:640;line-height:.86;letter-spacing:-.05em}
.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:30px;padding:12px 24px;border:0;border-radius:999px;background:var(--text);color:#fff!important;font-size:.95rem;font-weight:650;box-shadow:0 10px 28px rgba(29,29,31,.18);transition:transform .18s,background .18s}
.primary-button:hover{background:var(--accent-deep);transform:translateY(-2px)}
.section-shell,.directory-section,.updates-section{width:var(--container);margin:0 auto;padding:clamp(86px,10vw,150px) 0}
.section-shell h2,.directory-section h2,.updates-section h2,.contact-band h2,.contact-form-section h2{margin:0;font-size:clamp(2.35rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;font-weight:630}
.intro-heading,.updates-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:56px;align-items:end;margin-bottom:44px}
.intro-heading>p:last-child,.updates-heading>p:last-child{margin:0;color:var(--muted);max-width:560px}
.investment-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.investment-card{min-height:300px;padding:30px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.76);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.investment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.investment-card h3{font-size:1.55rem;line-height:1.12;letter-spacing:-.025em}
.investment-card p{color:var(--muted)}
.investment-card span,.investment-card i{margin-top:auto;color:var(--accent);font-style:normal;font-weight:700}
.directory-section{padding-top:20px}
.directory-intro{margin-bottom:36px}
.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.directory-group{padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.65)}
.directory-group h3{margin:0 0 18px;color:var(--accent);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.directory-group ul{list-style:none;margin:0;padding:0}
.directory-group li+li{margin-top:8px}
.directory-group a{font-size:.93rem}
.updates-list{border-top:1px solid var(--line)}
.update-row{display:grid;grid-template-columns:120px 170px minmax(0,1fr) 28px;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.update-row time,.update-row span{color:var(--muted);font-size:.86rem}
.update-row i{font-style:normal;font-size:1.35rem}
.contact-band{width:var(--container);margin:0 auto 30px;padding:clamp(28px,4.6vw,42px);border:1px solid rgba(29,29,31,.08);border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(247,247,245,.94),rgba(239,239,236,.82));color:var(--text);display:grid;grid-template-columns:minmax(0,1.1fr) auto;align-items:center;gap:clamp(18px,3.2vw,34px);box-shadow:0 18px 48px rgba(29,29,31,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.contact-band h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.04em}
.contact-band p{color:var(--muted);max-width:56ch}
.contact-band .eyebrow{color:var(--accent)}
.contact-band-actions{display:grid;grid-template-columns:1fr;align-items:stretch;gap:12px;min-width:min(100%,280px)}
.contact-band .primary-button{justify-content:center;background:rgba(32,32,34,.96);color:#fff!important;box-shadow:0 10px 26px rgba(29,29,31,.14)}
.contact-band .text-link{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 20px;border-radius:999px;border:1px solid rgba(29,29,31,.08);background:rgba(255,255,255,.7);color:var(--text);text-decoration:none;font-weight:650}
.contact-reachability{width:var(--container);margin:34px auto 0;padding:clamp(34px,5vw,58px);border:1px solid rgba(29,29,31,.08);border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(243,242,239,.82));box-shadow:var(--shadow);position:relative;overflow:hidden}
.contact-reachability::after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-150px;bottom:-210px;background:radial-gradient(circle,rgba(155,41,97,.09),transparent 68%);pointer-events:none}
.contact-reachability-copy{position:relative;z-index:1;max-width:1050px}
.contact-reachability--embedded .contact-reachability-copy{max-width:none}
.contact-reachability h2{margin:0 0 22px;font-size:clamp(2.8rem,6vw,6.1rem);line-height:.96;letter-spacing:-.052em;font-weight:620}
.contact-reachability p:not(.eyebrow){margin:0;max-width:72ch;color:var(--muted);font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.55}
.contact-reachability-actions{display:flex;align-items:center;gap:54px;flex-wrap:wrap;margin-top:30px}
.contact-reachability .primary-button{min-width:220px;justify-content:center}
.contact-reachability--embedded{width:auto;margin:0;padding:clamp(28px,4vw,42px);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.contact-reachability--embedded h2{font-size:clamp(2rem,4.2vw,4.25rem);margin-bottom:18px}
.contact-reachability--embedded p:not(.eyebrow){font-size:clamp(.98rem,1.25vw,1.12rem);max-width:none;line-height:1.42}
.contact-reachability--embedded .contact-reachability-actions{margin-top:24px}
.reachability-phone{font-size:clamp(1.08rem,1.6vw,1.35rem);font-weight:700;color:var(--text);text-decoration:none;white-space:nowrap}

.contact-reachability-actions--stacked{display:grid;grid-template-columns:1fr;gap:14px;width:min(50%,360px);margin-top:30px}
.contact-reachability-actions--stacked .reachability-action{display:flex;align-items:center;justify-content:center;min-height:68px;margin:0;padding:14px 28px;border-radius:999px;font-size:clamp(1rem,1.45vw,1.28rem);font-weight:700;line-height:1.2;text-align:center;text-decoration:none!important;transition:transform .18s,background .18s,border-color .18s}
.contact-reachability-actions--stacked .reachability-action--primary{background:var(--text);color:#fff!important;box-shadow:0 12px 30px rgba(29,29,31,.16)}
.contact-reachability-actions--stacked .reachability-action--primary:hover{background:var(--accent-deep);transform:translateY(-1px)}
.contact-reachability-actions--stacked .reachability-action--phone{background:rgba(255,255,255,.8);color:var(--text)!important;border:1px solid rgba(29,29,31,.09);box-shadow:0 6px 18px rgba(29,29,31,.04)}
.contact-reachability-actions--stacked .reachability-action--phone:hover{border-color:rgba(155,41,97,.28);color:var(--accent-deep)!important;transform:translateY(-1px)}

.office-locations-section--compact{gap:18px!important;padding:clamp(24px,3vw,34px)!important}
.office-locations-section--compact .office-locations-header{gap:7px}
.office-locations-section--compact .office-locations-header h2{font-size:clamp(2rem,4.2vw,4.25rem)}
.office-locations-section--compact .office-locations-header p:not(.eyebrow){font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.42;max-width:none}
.office-locations-section--compact .city-panels--contact{gap:14px;border:0;border-radius:0;overflow:visible;background:transparent}
.office-locations-section--compact .city-panel--contact{display:block;padding:24px 28px;border:1px solid rgba(29,29,31,.08);border-radius:24px;background:rgba(255,255,255,.46);box-shadow:0 8px 22px rgba(29,29,31,.035)}
.office-locations-section--compact .city-panel--contact h3{margin:0 0 10px;font-size:clamp(1.65rem,2.65vw,2.65rem);line-height:1;letter-spacing:-.04em;color:var(--text)}
.office-locations-section--compact .city-panel--contact .city-address{margin:0 0 10px;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.42;color:var(--text)}
.office-locations-section--compact .city-panel--contact .city-note{margin:0 0 16px;color:var(--muted);font-size:clamp(.92rem,1.15vw,1.04rem);font-weight:650;line-height:1.35}
.office-locations-section--compact .transit-list{margin-top:0;gap:4px}
.office-locations-section--compact .transit-list>p{display:block;margin:0 0 5px;color:var(--text);font-size:clamp(1rem,1.2vw,1.1rem)}
.office-locations-section--compact .transit-list ul{gap:0;border-top:0}
.office-locations-section--compact .transit-list li{grid-template-columns:minmax(150px,205px) minmax(0,1fr);gap:18px;padding:8px 0;border:0;border-bottom:1px solid rgba(29,29,31,.075);border-radius:0;background:none!important;box-shadow:none!important;font-size:clamp(.94rem,1.12vw,1.04rem);line-height:1.35}
.office-locations-section--compact .transit-list li span:first-child{font-weight:700;color:var(--text)}
.office-locations-section--compact .city-panel--contact+.city-panel--contact{border-left:1px solid rgba(29,29,31,.08)}
.office-locations-section--compact .transit-list li:last-child{border-bottom:0}
.contact-reachability--embedded h2,.office-locations-section--compact .office-locations-header h2{font-size:clamp(2rem,4.2vw,4.25rem)!important}
.consultation-section{padding-top:0;padding-bottom:34px}
.consultation-card{padding:clamp(28px,4vw,42px);border:1px solid rgba(29,29,31,.08);border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(247,247,245,.95),rgba(238,238,236,.84));box-shadow:0 18px 48px rgba(29,29,31,.08)}
.consultation-intro{display:grid;gap:10px;margin-bottom:28px}
.consultation-intro h2,.office-locations-header h2{margin:0;font-size:clamp(2rem,4.2vw,4.25rem);line-height:.98;letter-spacing:-.045em;font-weight:630}
.consultation-intro p:not(.eyebrow),.office-locations-header p:not(.eyebrow){margin:0;color:var(--muted);max-width:56ch;line-height:1.5}
.city-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid rgba(29,29,31,.08);border-radius:calc(var(--radius-lg) + 6px);overflow:hidden;background:rgba(255,255,255,.68)}
.city-panel{padding:34px 28px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;background:rgba(247,247,245,.58)}
.city-panel+.city-panel{border-left:1px solid rgba(29,29,31,.08)}
.city-panel h3{margin:0 0 24px;color:var(--accent-strong);font-size:clamp(1.6rem,2.2vw,2.35rem);line-height:1.04;letter-spacing:-.035em}
.city-address{margin:0 0 24px;font-size:1rem;line-height:1.5;color:var(--text)}
.city-note{margin:0;color:var(--muted);font-weight:550;line-height:1.45}
.office-locations-section{display:grid;gap:26px}
.office-locations-header{display:grid;gap:10px}
.city-panels--contact{grid-template-columns:1fr;gap:18px;border:0;overflow:visible;background:transparent}
.city-panel--contact{align-items:flex-start;text-align:left;min-height:0;padding:28px;border:1px solid rgba(29,29,31,.08);border-radius:var(--radius-lg);background:rgba(247,247,245,.74);box-shadow:0 12px 30px rgba(29,29,31,.05)}
.city-panel--contact+.city-panel--contact{border-left:1px solid rgba(29,29,31,.08)}
.city-panel--contact h3{margin-bottom:12px}
.city-panel--contact .city-address{margin-bottom:14px}
.city-panel--contact .city-note{margin-bottom:18px}
.transit-list{width:100%;display:grid;gap:10px}
.transit-list p{margin:0;color:var(--text)}
.transit-list ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.transit-list li{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid rgba(29,29,31,.06)}
.transit-list li span:first-child{font-weight:650;color:var(--accent-strong)}
.transit-list li span:last-child{color:var(--text)}

/* Contact form */
.contact-form-section{width:var(--container);margin:0 auto 110px;padding:clamp(18px,3vw,26px);display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(16px,2.5vw,24px);align-items:start;border:1px solid rgba(29,29,31,.08);border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,244,240,.8));box-shadow:0 18px 52px rgba(29,29,31,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.contact-form-copy,.contact-copy{display:grid;align-content:start;gap:12px;padding:clamp(18px,2.4vw,24px);border-radius:calc(var(--radius-xl) - 12px);background:linear-gradient(180deg,rgba(250,250,248,.96),rgba(245,245,242,.9));border:1px solid rgba(29,29,31,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.contact-form-copy > *,.contact-copy > *{margin:0}
.contact-form-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:36ch;line-height:1.55}
.contact-form-copy h2,.contact-copy h2{max-width:17ch;font-size:clamp(1.7rem,2.5vw,2.35rem);letter-spacing:-.04em;line-height:1.04}
.direct-contact{display:grid;gap:10px;margin-top:4px;font-weight:650}
.direct-contact a{display:flex;align-items:center;min-height:48px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.92);border:1px solid rgba(29,29,31,.08);box-shadow:0 6px 18px rgba(29,29,31,.04)}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:clamp(18px,2.4vw,24px);border-radius:calc(var(--radius-xl) - 12px);background:rgba(255,255,255,.98);border:1px solid rgba(29,29,31,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.78);align-items:start}
.contact-form label{display:grid;gap:7px;color:#4e4e52;font-size:.84rem;font-weight:650;letter-spacing:.01em;align-self:start}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(29,29,31,.14);border-radius:14px;background:#f9f9f8;color:var(--text);padding:13px 15px;min-height:50px;transition:border-color .18s,box-shadow .18s,background .18s}
.contact-form textarea{resize:vertical;min-height:220px}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:rgba(155,41,97,.52);background:#fff;box-shadow:0 0 0 4px rgba(155,41,97,.09)}
.contact-form .message-field,.contact-form .consent-field,.contact-form button,.contact-form .form-status{grid-column:1/-1}
.contact-form .email-field{grid-column:1}
.contact-form .consent-field{display:flex;align-items:flex-start;gap:10px;font-weight:450;line-height:1.42;padding-top:4px}
.contact-form .consent-field input{width:21px;height:21px;min-height:0;flex:0 0 auto;margin-top:2px;accent-color:var(--accent)}
.contact-form .consent-field a{text-decoration:underline}
.contact-form button{min-height:52px;border:0;border-radius:999px;background:var(--text);color:#fff;font-weight:680;letter-spacing:.01em;box-shadow:0 12px 28px rgba(29,29,31,.14);transition:.18s}
.contact-form button:hover{background:var(--accent-deep)}
.contact-form button[aria-busy="true"]{opacity:.7;cursor:wait}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{margin:0;font-size:.91rem}
.form-status.is-success{color:#2d6841}
.form-status.is-error{color:#a12848}
.field-error{color:#a12848;font-size:.78rem;font-weight:550}
[aria-invalid="true"]{border-color:#b33a56!important}

/* Floating equal contact routes */
.contact-dock{position:fixed;right:16px;top:50%;z-index:70;transform:translateY(-50%);display:flex;flex-direction:column;gap:0;width:78px;padding:8px 0;overflow:hidden;border:1px solid rgba(0,0,0,.08);border-radius:26px;background:rgba(238,238,236,.97);box-shadow:0 18px 44px rgba(29,29,31,.14);backdrop-filter:blur(14px)}
.contact-dock a{width:100%;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 8px;color:#3c3d42;transition:.18s;background:transparent;text-decoration:none}
.contact-dock a+a{border-top:1px solid rgba(0,0,0,.07)}
.contact-dock a:hover{color:var(--accent-deep);background:rgba(255,255,255,.24)}
.contact-dock img{display:block;box-sizing:border-box;flex-shrink:0;width:22px;height:22px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.contact-dock span{font-size:.57rem;font-weight:620;letter-spacing:-.01em;line-height:1.12;text-align:center}
.contact-dock a:focus-visible{outline:none;color:var(--accent-deep);background:rgba(255,255,255,.24)}
.contact-dock a:focus-visible img{transform:none}

/* Footer */
.site-footer{margin-top:0;background:#eeeeeb;border-top:1px solid var(--line)}
.footer-inner{width:var(--container);margin:auto;padding:70px 0 54px;display:grid;grid-template-columns:1.35fr .75fr .6fr;gap:70px}
.footer-inner>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-brand{margin:0 0 10px;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:680;letter-spacing:-.03em;white-space:nowrap}
.footer-kicker{margin:0 0 9px;color:var(--accent);font-size:.72rem;font-weight:760;letter-spacing:.18em;text-transform:uppercase}
.footer-inner a{color:#4f5054}
.footer-bottom{width:var(--container);margin:auto;padding:24px 0 34px;border-top:1px solid var(--line);color:#77787c;font-size:.74rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}

/* Cookie notice */
.cookie-notice{position:fixed;left:18px;right:18px;bottom:18px;z-index:100;transform:translateY(140%);opacity:0;transition:.28s ease;pointer-events:none}
.cookie-notice.is-visible{transform:none;opacity:1;pointer-events:auto}
.cookie-notice>div{width:min(100%,1000px);margin:auto;padding:18px 18px 18px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:rgba(30,30,32,.88);color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.22);backdrop-filter:blur(18px)}
.cookie-notice p{margin:0;font-size:.82rem;line-height:1.5;color:#e8e8ea}
.cookie-notice a{text-decoration:underline}
.cookie-notice button{flex:0 0 auto;min-height:44px;padding:10px 17px;border:0;border-radius:999px;background:#fff;color:#222;font-size:.78rem;font-weight:680}

.redirect-page{min-height:62vh;display:grid;place-items:center;padding:70px 24px}
.redirect-page section{max-width:680px;padding:clamp(38px,7vw,70px);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow);text-align:center}
.redirect-page h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.045em}

@media (max-width:1080px){
  :root{--container:min(100% - 36px,1000px)}
  .site-nav{gap:16px;font-size:.88rem}
  .page-hero{align-items:flex-start;flex-direction:column}
  .content-layout{grid-template-columns:250px minmax(0,1fr);gap:22px}
  .directory-grid{grid-template-columns:repeat(2,1fr)}
  .investment-grid{grid-template-columns:repeat(2,1fr)}
  .contact-dock{right:10px}
}
@media (max-width:820px){
  :root{--header-h:72px;--container:min(100% - 28px,760px)}
  body{font-size:16px;padding-bottom:74px}
  .nav-toggle{display:block}
  .site-nav{position:absolute;left:14px;right:14px;top:calc(100% + 8px);display:grid;gap:0;padding:10px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.95);box-shadow:var(--shadow);transform:translateY(-10px);opacity:0;visibility:hidden;transition:.2s}
  .site-nav.is-open{transform:none;opacity:1;visibility:visible}
  .site-nav a{padding:13px 15px;border-radius:14px}
  .site-nav a:hover{background:var(--surface-muted)}
  .page-hero{margin-top:18px;padding:44px 28px}
  .page-hero h1{font-size:clamp(2.5rem,11vw,4.8rem)}
  .content-layout{grid-template-columns:1fr;margin-top:20px}
  .content-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-grid{grid-template-columns:1fr}
  .steps-grid article{min-height:0}
  .step-number{margin-bottom:22px}
  .hero{min-height:720px}
  .hero-image{background-image:linear-gradient(180deg,rgba(249,248,245,.94) 0%,rgba(249,248,245,.8) 42%,rgba(249,248,245,.06) 67%,rgba(249,248,245,0) 100%),url('/header-clean.png');background-size:auto 100%;background-position:57% center;background-repeat:no-repeat}
  .hero-copy{align-items:flex-start}
  .hero-copy-inner{width:100%;padding:54px 30px}
  .hero h1{font-size:clamp(3.6rem,14vw,6.2rem)}
  .intro-heading,.updates-heading{grid-template-columns:1fr;gap:22px}
  .investment-grid{grid-template-columns:1fr}
  .contact-band{grid-template-columns:1fr}
  .contact-reachability{margin-top:20px;padding:30px 24px}
  .contact-reachability--embedded{margin-top:0;padding:26px 22px}
  .contact-reachability h2{font-size:clamp(2.4rem,9vw,4rem)}
  .contact-reachability--embedded h2,.office-locations-section--compact .office-locations-header h2{font-size:clamp(2rem,4.2vw,4.25rem)}
  .contact-reachability-actions{gap:40px;margin-top:24px}
  .office-locations-section--compact .city-panel--contact{padding:22px 24px}
  .office-locations-section--compact .transit-list li{grid-template-columns:minmax(145px,190px) minmax(0,1fr)}
  .consultation-section{padding-bottom:24px}
  .city-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-panels--contact{grid-template-columns:1fr}
  .city-panel+.city-panel{border-left:1px solid rgba(29,29,31,.08)}
  .contact-form-section{grid-template-columns:1fr}
  .contact-form-copy,.contact-copy,.contact-form{padding:20px}
  .contact-band-actions{min-width:0;max-width:320px}
  .contact-dock{left:12px;right:12px;top:auto;bottom:10px;transform:none;display:grid;grid-template-columns:repeat(5,1fr);width:auto;padding:0;overflow:hidden;border:1px solid rgba(0,0,0,.09);border-radius:21px;background:rgba(234,234,231,.98);box-shadow:0 14px 36px rgba(29,29,31,.17);backdrop-filter:blur(14px)}
  .contact-dock a{width:auto;min-height:58px;justify-content:center;gap:0;padding:0;background:transparent}
  .contact-dock a+a{border-top:0;border-left:1px solid rgba(0,0,0,.07)}
  .contact-dock a:hover,.contact-dock a:focus-visible{background:rgba(255,255,255,.22)}
  .contact-dock span{display:none}
  .contact-dock img{display:block;box-sizing:border-box;width:23px;height:23px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}

  .footer-inner{grid-template-columns:1fr 1fr;gap:42px}
  .footer-brand-column{grid-column:1/-1}
  .cookie-notice{bottom:82px}
}
@media (min-width:701px) and (max-width:820px){
  .contact-reachability--embedded .contact-reachability-actions{display:flex;align-items:center;gap:40px;margin-top:24px}
  .contact-reachability--embedded .primary-button{margin-top:0;min-height:50px}
  .contact-reachability--embedded .reachability-phone{display:flex;align-items:center;min-height:50px;line-height:1.2}
  .contact-dock{left:auto;right:10px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;grid-template-columns:none;width:74px;padding:8px 0;border-radius:24px}
  .contact-dock a{min-height:64px;padding:9px 7px;gap:6px}
  .contact-dock a+a{border-left:0;border-top:1px solid rgba(0,0,0,.07)}
  .contact-dock span{display:block;font-size:.55rem}
  .contact-dock img{display:block;box-sizing:border-box;width:21px;height:21px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
}
@media (max-width:560px){
  .site-nav{left:auto;right:10px;width:min(72vw,270px);padding:8px;border-radius:19px}
  :root{--container:min(100% - 20px,520px)}
  .brand::before{content:none;display:none}
  .page-hero{padding:38px 22px;border-radius:25px}
  .contact-reachability{padding:26px 20px;border-radius:25px}
  .contact-reachability--embedded{margin-top:0;padding:24px 20px;border-radius:22px}
  .contact-reachability h2{font-size:clamp(2.25rem,12vw,3.35rem);margin-bottom:16px}
  .contact-reachability--embedded h2,.office-locations-section--compact .office-locations-header h2{font-size:clamp(1.9rem,9vw,3.2rem)!important}
  .contact-reachability p:not(.eyebrow){font-size:1rem}
  .contact-reachability--embedded p:not(.eyebrow),.office-locations-section--compact .office-locations-header p:not(.eyebrow){font-size:1rem;line-height:1.45;max-width:none}
  .contact-reachability-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .contact-reachability .primary-button{width:100%;min-width:0}
  .reachability-phone{padding:0 4px}
  .office-locations-section--compact{padding:20px 16px!important}
  .office-locations-section--compact .city-panel--contact{display:block;padding:20px 18px;border:1px solid rgba(29,29,31,.08);border-radius:20px;background:rgba(255,255,255,.46);box-shadow:0 6px 18px rgba(29,29,31,.03)}
  .office-locations-section--compact .city-panel--contact .city-address{margin:0 0 14px;font-size:1rem;line-height:1.45;color:var(--text)}
  .office-locations-section--compact .transit-list{margin-top:0;gap:8px}
  .office-locations-section--compact .transit-list li{grid-template-columns:1fr;gap:3px;padding:7px 0;border:0;border-bottom:1px solid rgba(29,29,31,.075);border-radius:0;background:none!important;box-shadow:none!important;font-size:.96rem;line-height:1.35}
  .content-sidebar{grid-template-columns:1fr}
  .article-content>.backgraulite,.article-content>.article-card,.article-content>section,.article-content>div:not(.steps-panel){padding:24px 20px}
  .consultation-intro h2,.office-locations-header h2{font-size:clamp(1.9rem,9vw,3.2rem)}
  .city-panels{grid-template-columns:1fr}
  .city-panel,.city-panel--contact{padding:24px 20px}
  .city-panel+.city-panel{border-left:0;border-top:1px solid rgba(29,29,31,.08)}
  .transit-list li{grid-template-columns:1fr;gap:6px}
  .hero{min-height:690px;border-radius:25px}
  .hero-image{background-size:auto 74%;background-position:61% 100%}
  .hero-copy-inner{padding:43px 24px}
  .contact-form{grid-template-columns:1fr}
  .hero h1{font-size:clamp(3.2rem,17vw,5rem)}
  .section-shell,.directory-section,.updates-section{padding:76px 0}
  .directory-grid{grid-template-columns:1fr}
  .update-row{grid-template-columns:1fr 28px;gap:5px 15px}
  .update-row time,.update-row span{grid-column:1}
  .update-row strong{grid-column:1}
  .update-row i{grid-column:2;grid-row:1/4}
  .contact-band{padding:24px 20px;border-radius:25px}
  .contact-form-section{padding:16px;border-radius:25px}
  .contact-form{grid-template-columns:1fr}
  .contact-form label,.contact-form .email-field,.contact-form .message-field,.contact-form .consent-field,.contact-form button,.contact-form .form-status{grid-column:1}
  .footer-inner{grid-template-columns:1fr;gap:34px;padding:52px 0 42px}
  .footer-brand-column{grid-column:auto}
  .cookie-notice>div{display:grid;padding:16px;border-radius:18px}
  .cookie-notice button{width:100%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){.site-header,.contact-dock,.cookie-notice>div{background:#f7f7f5}.cookie-notice>div{background:#252527}.contact-band,.contact-form-section{background:#f7f7f5}}

/* Structured pages imported from the modern interim version */
.content-layout--wide{grid-template-columns:1fr}
.content-layout--wide .article-content{display:block}
.content-layout--equal-heights{align-items:stretch}
.content-layout--equal-heights .content-sidebar{position:static;align-self:stretch}
.content-layout--equal-heights .overview-card,.content-layout--equal-heights .content-sidebar>.backgraulite,.content-layout--equal-heights .content-sidebar>div{height:100%;display:flex;flex-direction:column;justify-content:flex-start}
.content-layout--equal-heights .article-content{display:block}
.ag-page{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start}
.ag-sidebar{position:sticky;top:calc(var(--header-h) + 22px);display:grid;gap:15px}
.ag-side-card,.ag-article,.ag-steps{padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.8);box-shadow:var(--shadow-soft)}
.ag-side-card{padding:22px;font-size:.9rem}
.ag-side-card h2{font-size:1.25rem;line-height:1.15;margin:4px 0 14px}
.ag-overview-links{display:grid;gap:9px}
.ag-overview-links a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none!important}
.ag-main{display:grid;gap:20px}
.ag-article h2{margin:4px 0 14px;font-size:clamp(1.7rem,3.5vw,3rem);line-height:1.05;letter-spacing:-.04em}
.ag-article h3{margin:20px 0 12px;font-size:clamp(1.25rem,2.3vw,1.9rem);line-height:1.15}
.ag-article p{margin:0 0 1em}
.ag-author{margin:24px 0;padding:18px;border-radius:16px;background:var(--surface-muted)}
.ag-author .label,.kicker,.ag-date,.date{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ag-back,.ag-link{display:inline-flex;margin-top:14px;color:var(--accent-deep);font-weight:650}
.ag-steps h2{margin:0 0 24px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.045em}
.ag-step-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.ag-step{min-height:190px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column}
.ag-step::before{content:counter(ag-step);counter-increment:ag-step;display:grid;place-items:center;width:40px;height:40px;margin-bottom:28px;border-radius:50%;background:var(--text);color:#fff;font-size:.85rem;font-weight:700}
.ag-step-grid{counter-reset:ag-step}
.ag-step strong{margin-top:auto}
.ai-image-note{position:relative;z-index:4;margin:12px 8px 0;color:var(--muted);font-size:.76rem;line-height:1.45}
@media(max-width:820px){.ag-page{grid-template-columns:1fr}.ag-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.ag-step-grid{grid-template-columns:1fr}.ag-step{min-height:0}}
@media(max-width:560px){.ag-sidebar{grid-template-columns:1fr}}
.hero-ai-note{position:relative;z-index:4;margin:12px 8px 0;color:var(--muted);font-size:.76rem;line-height:1.45}

/* Kapitalanlagen: modern alphabetical directory */
.investment-directory-card{padding:clamp(22px,3vw,28px)!important}
.investment-directory-intro{padding-bottom:20px;border-bottom:1px solid rgba(29,29,31,.08)}
.investment-directory-intro p{margin:0}
.investment-directory-intro p+p{margin-top:8px;color:var(--muted);font-size:.88rem;line-height:1.55}
.investment-directory-kicker{color:var(--text);font-size:1rem;font-weight:620;letter-spacing:-.015em}
.investment-directory{display:grid;gap:24px;margin-top:24px}
.investment-letter-group{display:grid;gap:11px}
.investment-letter-heading{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px}
.investment-letter{display:grid;align-items:center;justify-items:start;width:34px;height:34px;border:0;border-radius:11px;background:none;color:var(--accent-deep);font-size:.82rem;font-weight:760;box-shadow:none}
.investment-letter-line{display:none;height:1px;background:linear-gradient(90deg,rgba(155,41,97,.22),rgba(29,29,31,.04))}
.investment-letter-group ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.investment-letter-group li{margin:0}
.investment-letter-group a{position:relative;display:block;padding:7px 24px 7px 4px;border-radius:10px;color:var(--accent-deep);font-size:.92rem;font-weight:620;line-height:1.35;text-decoration:none!important;transition:background .18s ease,color .18s ease,transform .18s ease}
.investment-letter-group a::after{content:"›";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:rgba(155,41,97,.38);font-size:1.08rem;opacity:0;transition:opacity .18s ease,transform .18s ease}
.investment-letter-group a:hover,.investment-letter-group a:focus-visible{background:rgba(155,41,97,.065);color:var(--accent-deep);transform:translateX(2px)}
.investment-letter-group a:hover::after,.investment-letter-group a:focus-visible::after{opacity:1;transform:translate(2px,-50%)}
.investment-directory-top{display:inline-flex;margin-top:25px;color:var(--muted)!important;font-size:.78rem!important;font-weight:650!important;text-decoration:none!important}
@media (max-width:820px){.investment-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px}.investment-directory-intro,.investment-directory-top{grid-column:1/-1}}
@media (min-width:701px) and (max-width:820px){
  .contact-dock{left:auto;right:10px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;grid-template-columns:none;width:74px;padding:8px 0;border-radius:24px}
  .contact-dock a{min-height:64px;padding:9px 7px;gap:6px}
  .contact-dock a+a{border-left:0;border-top:1px solid rgba(0,0,0,.07)}
  .contact-dock span{display:block;font-size:.55rem}
  .contact-dock img{display:block;box-sizing:border-box;width:21px;height:21px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
}
@media (max-width:560px){.investment-directory{grid-template-columns:1fr}.investment-letter-heading{grid-template-columns:32px minmax(0,1fr)}.investment-letter{width:32px;height:32px}}

/* Index: Teilüberschriften im Bereich „Klare Orientierung“ – gleiche Schriftgröße wie „Schildern Sie uns kurz Ihr Anliegen.“ */
.home-page .focus-card h3{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.045em}

@media (max-width:820px){
  .contact-reachability-actions--stacked{width:min(50%,360px);gap:12px}
  .contact-reachability-actions--stacked .reachability-action{min-height:62px;padding:13px 22px;font-size:1.05rem}
}
@media (max-width:560px){
  .contact-reachability-actions--stacked{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:22px}
  .contact-reachability-actions--stacked .reachability-action{width:100%;min-height:56px;padding:12px 18px;font-size:1rem}
}
