/* Wachenberg Ventures · Seitenlayout (aufbauend auf tokens.css und components.css) */

html{scroll-behavior:smooth}
body{background:var(--paper-0)}
:lang(zh){letter-spacing:0 !important}
:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) h4{line-height:1.3}
:lang(zh) .wv-overline,:lang(zh) .wv-nav__link,:lang(zh) .wv-badge,:lang(zh) .wv-field__label{letter-spacing:.04em !important}

.container{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.section{padding:96px 0}
.section--tinted{background:var(--paper-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--dark{background:var(--bordeaux-800)}
.section--dark .wv-overline{color:var(--bordeaux-300)}
.section--dark h2,.section--dark h3{color:var(--text-on-accent)}
.section--dark p{color:rgba(253,249,245,.72)}
.section-title{font:600 40px/1.15 var(--font-display);letter-spacing:-.008em;margin:0;text-wrap:balance}
.section-title--mb{margin-bottom:48px}
.lead{font:400 17px/1.65 var(--font-body);color:var(--text-2);margin:0}
.wv-overline{display:block;margin-bottom:16px}
[id]{scroll-margin-top:72px}
.arrow::after{content:" \2192"}
.ext::after{content:" \2197"}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper-0);border-bottom:1px solid var(--line)}
.site-header .container{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px);white-space:nowrap}
.lang-switch{display:flex;align-items:center;gap:10px;padding-left:20px;border-left:1px solid var(--line);font:600 13px/1 var(--font-body);letter-spacing:.05em}
.lang-switch a,.lang-switch span{padding:8px 0;color:var(--text-3);text-decoration:none;border-bottom:1px solid transparent}
.lang-switch a:hover{color:var(--text-1)}
.lang-switch .is-active{color:var(--bordeaux-700);border-bottom-color:var(--bordeaux-600)}
.burger{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:20px;height:1.5px;background:var(--text-1);transition:transform var(--motion-fast) var(--ease),opacity var(--motion-fast) var(--ease)}
.mobile-menu{display:none}

/* ---------- Hero ---------- */
.hero{background:var(--grad-hero);border-bottom:1px solid var(--line)}
.hero .container{padding-top:112px;padding-bottom:112px;display:grid;grid-template-columns:1fr 520px;gap:80px;align-items:center}
.hero-visual{justify-self:end;width:100%;max-width:520px;border:1px solid var(--line);background:var(--paper-2)}
.hero-visual picture,.hero-visual img{display:block;width:100%;height:auto}
.hero h1{font:600 72px/1.08 var(--font-display);letter-spacing:-.015em;max-width:15ch;margin:0 0 24px;text-wrap:balance}
.hero p{font:400 18px/1.6 var(--font-body);color:var(--text-2);max-width:58ch;margin:0 0 40px}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hero-mark{position:relative;width:280px;height:280px;justify-self:end}
.hero-mark i{position:absolute;display:block}
.hero-mark .r1{inset:0;border:1px solid var(--line-strong)}
.hero-mark .r2{inset:32px;border:1px solid var(--bordeaux-300)}
.hero-mark .r3{inset:64px;border:1px solid var(--bordeaux-600)}
.hero-mark .sq{left:96px;top:96px;width:88px;height:88px;background:var(--bordeaux-600)}
.hero-mark .dot{right:-6px;bottom:-6px;width:12px;height:12px;background:var(--bordeaux-600)}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:start}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px}
.pillar{padding:32px;display:block;text-decoration:none}
.pillar h3{font:600 22px/1.3 var(--font-display);margin:0 0 12px;color:var(--text-1)}
.pillar p{font:var(--type-body);color:var(--text-2);margin:0 0 16px}
.pillar .more{font:600 14px/1 var(--font-body);color:var(--bordeaux-600)}

/* ---------- Company Building ---------- */
.building .section-title{max-width:22ch;margin-bottom:24px}
.building .lead{max-width:62ch;margin-bottom:64px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{border-top:1px solid var(--line-strong);padding-top:24px}
.step .num{font:500 36px/1.1 var(--font-serif);color:var(--bordeaux-600);margin-bottom:16px}
.step h3{font:600 18px/1.35 var(--font-display);margin:0 0 8px}
.step p{font:var(--type-body-sm);color:var(--text-2);margin:0}

/* ---------- M&A ---------- */
.ma-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.ma-grid .section-title{margin-bottom:24px}
.services{display:flex;flex-direction:column}
.service{border-top:1px solid rgba(253,249,245,.25);padding:24px 0}
.service:last-child{border-bottom:1px solid rgba(253,249,245,.25)}
.service h3{font:600 18px/1.35 var(--font-display);margin:0 0 8px}
.service p{font:var(--type-body-sm);margin:0}
.audiences{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:48px;align-items:center;margin-top:80px;padding-top:32px;border-top:1px solid rgba(253,249,245,.25)}
.audiences .wv-overline{margin:0}
.audience b{display:block;font:600 15px/1.4 var(--font-body);color:var(--text-on-accent)}
.audience span{font:var(--type-body-sm);color:rgba(253,249,245,.7)}
.btn-light{background:var(--text-on-accent);color:var(--bordeaux-800)}
.btn-light:hover{background:#fff}

/* ---------- Ventures ---------- */
.venture-card{padding:0;display:grid;grid-template-columns:320px 1fr;overflow:hidden}
.venture-logo{background:var(--paper-2);border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:260px;text-align:center}
.venture-logo .mono{width:96px;height:96px;border:1px solid var(--line-strong);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font:600 32px/1 var(--font-display);color:var(--text-3);background:var(--paper-0)}
.venture-logo small{font:var(--type-caption);color:var(--text-3)}
.venture-logo img{display:block;width:min(72%,220px);height:auto}
.venture-body{padding:40px}
.venture-head{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.venture-head h3{font:600 28px/1.22 var(--font-display);margin:0}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.venture-body p{font:var(--type-body-lg);color:var(--text-2);margin:0 0 32px;max-width:52ch}
.venture-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.venture-more{margin-top:24px;border:1px dashed var(--line-strong);border-radius:var(--radius-2);padding:32px;display:flex;align-items:center;gap:12px;font:var(--type-body);color:var(--text-3)}
.venture-more::before{content:"";width:8px;height:8px;background:var(--bordeaux-600);flex:none}

/* ---------- Approach ---------- */
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.principle{background:var(--paper-0);border:1px solid var(--line);border-radius:var(--radius-2);padding:24px}
.principle::before{content:"";display:block;width:8px;height:8px;background:var(--bordeaux-600);margin-bottom:16px}
.principle h3{font:600 18px/1.35 var(--font-display);margin:0 0 8px}
.principle p{font:var(--type-body-sm);color:var(--text-2);margin:0}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.member{display:flex;flex-direction:column;gap:24px}
.member .portrait{max-width:280px}
.portrait{aspect-ratio:1/1;background:var(--paper-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font:var(--type-caption);color:var(--text-3);overflow:hidden}
.portrait picture,.portrait img{display:block;width:100%;height:100%}
.portrait img{object-fit:cover;object-position:center top}
.member-body{padding-top:8px}
.member-body h3{font:600 24px/1.25 var(--font-display);margin:0 0 4px}
.member-body .role{font:var(--type-overline);letter-spacing:var(--track-overline);text-transform:uppercase;color:var(--bordeaux-600);margin-bottom:20px}
.member-body p{font:var(--type-body-sm);color:var(--text-2);margin:0 0 20px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:5fr 6fr;gap:80px;align-items:start}
.contact-grid .section-title{margin-bottom:24px}
.contact-grid .lead{margin-bottom:40px}
.contact-card{background:var(--paper-0);border:1px solid var(--line);border-radius:var(--radius-2);padding:32px;display:flex;flex-direction:column;gap:8px;font:var(--type-body)}
.contact-card b{font-weight:600}
.contact-card .muted{color:var(--text-2)}
.contact-card .cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{background:var(--bordeaux-800)}
.site-footer .container{padding-top:32px;padding-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.footer-brand{font:600 15px/1 var(--font-body);color:var(--text-on-accent)}
.footer-brand em{font-family:var(--font-display);font-style:normal;color:var(--bordeaux-300)}
.footer-links{display:flex;align-items:center;gap:24px;font:var(--type-body-sm);flex-wrap:wrap}
.footer-links span{color:rgba(253,249,245,.55)}
.footer-links a{color:rgba(253,249,245,.8)}
.footer-links a:hover{color:#fff}
.footer-lang{border-left:1px solid rgba(253,249,245,.25);padding-left:24px}

/* ---------- Case page ---------- */
.case-hero .container{padding-top:96px;padding-bottom:96px;display:grid;grid-template-columns:6fr 5fr;gap:64px;align-items:center}
.case-hero h1{font:600 64px/1.08 var(--font-display);letter-spacing:-.015em;margin:0 0 20px}
.case-hero .sub{font:400 20px/1.55 var(--font-body);color:var(--text-2);max-width:46ch;margin:0 0 24px}
.case-hero .badges{margin-bottom:40px}
.img-ph{aspect-ratio:4/3;background:var(--paper-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font:var(--type-caption);color:var(--text-3)}
.case-img{border:1px solid var(--line);border-radius:var(--radius-2);overflow:hidden;background:var(--paper-2)}
.case-img img{display:block;width:100%;height:auto}
.story-imgs .case-img img{aspect-ratio:1/1;object-fit:cover}
.facts{border-bottom:1px solid var(--line)}
.facts .container{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:32px;border-right:1px solid var(--line)}
.fact:first-child{padding-left:0}
.fact:last-child{padding-right:0;border-right:0}
.fact .wv-overline{margin-bottom:8px}
.fact b{font:600 16px/1.4 var(--font-body);color:var(--text-1)}
.story{max-width:800px;margin:0 auto;padding:96px var(--gutter) 0;display:flex;flex-direction:column;gap:64px}
.story-row{display:grid;grid-template-columns:200px 1fr;gap:32px}
.story-row h2{font:600 22px/1.3 var(--font-display);margin:0;color:var(--bordeaux-700)}
.story-row p{font:400 17px/1.65 var(--font-body);color:var(--text-2);margin:0}
.story-imgs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.learnings{background:var(--paper-1);border:1px solid var(--line);border-radius:var(--radius-2);padding:48px}
.learnings h2{font:600 28px/1.22 var(--font-display);margin:0 0 32px}
.learn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.learn{background:var(--paper-0);border:1px solid var(--line);border-top:2px solid var(--bordeaux-600);border-radius:var(--radius-2);padding:24px}
.learn h3{font:600 18px/1.35 var(--font-display);margin:0 0 8px}
.learn p{font:var(--type-body-sm);color:var(--text-2);margin:0}
.case-cta{display:flex;justify-content:center;gap:16px;margin-top:64px;flex-wrap:wrap}

/* ---------- Legal pages ---------- */
.legal{max-width:760px;margin:0 auto;padding:80px var(--gutter) 96px}
.legal h1{font:600 40px/1.15 var(--font-display);letter-spacing:-.008em;margin:0 0 40px}
.legal h2{font:600 22px/1.3 var(--font-display);margin:40px 0 12px}
.legal h3{font:600 17px/1.35 var(--font-display);margin:24px 0 8px}
.legal p,.legal li{font:400 16px/1.65 var(--font-body);color:var(--text-2)}
.legal ul{padding-left:20px;margin:0 0 16px}
.legal .ph{color:var(--bordeaux-700);background:var(--bordeaux-100);padding:0 4px;border-radius:2px}
.legal .meta{font:var(--type-caption);color:var(--text-3);margin-top:48px}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero h1{font-size:56px}
  .hero .container{grid-template-columns:1fr 400px;gap:48px}
  .steps,.principles,.learn-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .audiences{grid-template-columns:1fr 1fr;gap:24px}
  .audiences .wv-overline{grid-column:1/-1}
  .audiences .wv-btn{grid-column:1/-1;justify-self:start}
  .facts .container{grid-template-columns:repeat(2,1fr)}
  .fact{padding:24px}
  .fact:nth-child(2){border-right:0}
  .fact:first-child{padding-left:0}
  .fact:nth-child(3){padding-left:0}
}
@media (max-width:768px){
  .section{padding:56px 0}
  .container{padding-left:20px;padding-right:20px}
  .site-header .container{height:60px}
  .site-nav{display:none}
  .burger{display:flex}
  .mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;z-index:49;background:var(--paper-0);padding:32px 20px;flex-direction:column;gap:4px;overflow:auto}
  .mobile-menu.is-open{display:flex}
  .mobile-menu a.mm-link{font:600 20px/1.3 var(--font-display);color:var(--text-1);padding:12px 0;border-bottom:1px solid var(--line)}
  .mobile-menu .wv-btn{margin-top:24px}
  .mobile-menu .lang-switch{border:0;padding:0;margin-top:24px;gap:20px;font-size:14px}
  body.menu-open{overflow:hidden}
  .burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .burger.is-open span:nth-child(2){opacity:0}
  .burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  [id]{scroll-margin-top:60px}
  .hero .container{grid-template-columns:1fr;padding-top:64px;padding-bottom:64px;gap:40px}
  .hero h1{font-size:38px;line-height:1.12;letter-spacing:-.01em;margin-bottom:16px}
  .hero p{font-size:16px;margin-bottom:28px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
  .hero-mark{display:none}
  .hero-visual{max-width:420px;justify-self:start}
  .section-title{font-size:28px;line-height:1.2}
  .section-title--mb{margin-bottom:24px}
  .about-grid,.ma-grid,.contact-grid{grid-template-columns:1fr;gap:16px}
  .pillars{grid-template-columns:1fr;gap:16px;margin-top:32px}
  .pillar{padding:24px}
  .building .lead{margin-bottom:32px}
  .steps{grid-template-columns:1fr;gap:24px}
  .step{padding-top:16px;display:grid;grid-template-columns:56px 1fr;gap:16px}
  .step .num{font-size:28px;margin:0}
  .services{margin-top:8px}
  .service{padding:16px 0}
  .audiences{grid-template-columns:1fr;margin-top:32px;gap:16px}
  .audiences .wv-btn{width:100%}
  .venture-card{grid-template-columns:1fr}
  .venture-logo{min-height:140px;border-right:0;border-bottom:1px solid var(--line)}
  .venture-logo .mono{width:64px;height:64px;font-size:24px}
  .venture-logo img{width:min(50%,180px)}
  .venture-body{padding:24px}
  .venture-head h3{font-size:22px}
  .venture-body p{font:var(--type-body-sm);color:var(--text-2)}
  .venture-actions{flex-direction:column;align-items:stretch;gap:10px}
  .venture-more{padding:20px}
  .principles{grid-template-columns:1fr;gap:16px}
  .team-grid{grid-template-columns:1fr;gap:40px}
  .member .portrait{max-width:220px}
  .contact-grid .lead{margin-bottom:24px}
  .contact-card{padding:24px}
  .site-footer .container{flex-direction:column;align-items:flex-start;gap:16px}
  .footer-links{gap:16px}
  .footer-lang{border:0;padding:0}
  .case-hero .container{grid-template-columns:1fr;padding-top:56px;padding-bottom:56px;gap:32px}
  .case-hero h1{font-size:44px}
  .case-hero .sub{font-size:17px}
  .facts .container{grid-template-columns:1fr}
  .fact{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
  .fact:last-child{border-bottom:0}
  .story{padding-top:56px;gap:40px}
  .story-row{grid-template-columns:1fr;gap:8px}
  .story-imgs{grid-template-columns:1fr}
  .learnings{padding:24px}
  .learn-grid{grid-template-columns:1fr}
  .case-cta{flex-direction:column;align-items:stretch;margin-top:40px}
  .legal{padding:48px 20px 64px}
  .legal h1{font-size:30px}
}

/* Footer: aktive Sprache auf Bordeaux lesbar */
.footer-lang a,.footer-lang span{color:rgba(253,249,245,.55)}
.footer-lang a{color:rgba(253,249,245,.8)}
.footer-lang .is-active{color:#fff;border-bottom-color:var(--bordeaux-300)}
