/* ============================================
   B-N-P | Business Net Partners
   Modern Rebrand v2 — style.css
   b-n-p.com
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;1,200;1,300&family=Jost:wght@300;400;500;600&display=swap');

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

:root {
  --ink:      #0D1B2A;
  --gold:     #B8964E;
  --gold-lt:  #D4B06A;
  --cream:    #F9F7F3;
  --mid:      #6B7A8A;
  --light:    #E8E4DD;
  --white:    #FFFFFF;
  --accent:   #B8964E;
  --accent-lt:#D4B06A;
  --nav-h:    72px;
  --max:      1280px;
  --serif:    'Raleway', system-ui, sans-serif;
  --sans:     'Jost', system-ui, sans-serif;
}

/* Per-page accent colors */
body.page-consulting    { --accent:#1B3A6B; --accent-lt:#2A5299; }
body.page-management    { --accent:#C8922E; --accent-lt:#D9A84E; }
body.page-entrepreneurship { --accent:#0F9BAE; --accent-lt:#15B8CE; }

html { scroll-behavior: smooth; }
body { font-family:var(--sans); background:var(--cream); color:var(--ink); font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--accent); }

/* Language */
.en-text{display:none} .de-text{display:inline} .en-block{display:none} .de-block{display:block}
html.lang-en .de-text{display:none!important} html.lang-en .en-text{display:inline!important}
html.lang-de .en-text{display:none!important} html.lang-de .de-text{display:inline!important}
html.lang-en .de-block{display:none!important} html.lang-en .en-block{display:block!important}
html.lang-de .en-block{display:none!important} html.lang-de .de-block{display:block!important}

/* ── Nav ── */
.site-nav { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--nav-h); background:rgba(13,27,42,.97); backdrop-filter:blur(12px); display:flex; align-items:center; padding:0 2rem; border-bottom:1px solid rgba(184,150,78,.18); }
.nav-inner { max-width:var(--max); margin:0 auto; width:100%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo img { height:42px; width:auto; display:block; transition:opacity .2s; }
.nav-logo:hover img { opacity:.8; }
.nav-links { display:flex; align-items:center; gap:1.8rem; list-style:none; }
.nav-links a { font-size:.76rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7); transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--accent); }
.nav-right { display:flex; align-items:center; gap:1rem; }
.lang-toggle { display:flex; gap:4px; }
.lang-btn { background:none; border:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.48); padding:3px 8px; cursor:pointer; font-family:var(--sans); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:all .2s; border-radius:2px; }
.lang-btn.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.lang-btn:hover:not(.active) { border-color:var(--accent); color:var(--accent); }
.hamburger { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:4px; }
.hamburger span { display:block; width:24px; height:2px; background:#fff; transition:all .3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.mobile-nav { display:none; position:fixed; top:var(--nav-h); left:0; right:0; background:var(--ink); z-index:999; padding:1.5rem 2rem 2rem; flex-direction:column; border-top:1px solid rgba(184,150,78,.18); }
.mobile-nav.open { display:flex; }
.mobile-nav a { font-size:.86rem; font-weight:400; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.75); padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.07); transition:color .2s; }
.mobile-nav a:hover { color:var(--accent); }
.mobile-lang { display:flex; gap:.5rem; margin-top:1.5rem; }

/* ── Hero ── */
.hero { padding-top:var(--nav-h); min-height:52vh; background:var(--ink); display:flex; align-items:center; position:relative; overflow:hidden; }
.hero-home { min-height:100vh; }
.hero-img { position:absolute; inset:0; background-size:cover; background-position:center; }
.hero-img::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,27,42,.90) 0%,rgba(13,27,42,.65) 100%); }
body.page-consulting    .hero-img::after { background:linear-gradient(135deg,rgba(13,27,42,.93) 0%,rgba(27,58,107,.72) 100%); }
body.page-management    .hero-img::after { background:linear-gradient(135deg,rgba(13,27,42,.93) 0%,rgba(74,46,10,.72) 100%); }
body.page-entrepreneurship .hero-img::after { background:linear-gradient(135deg,rgba(13,27,42,.93) 0%,rgba(10,74,82,.72) 100%); }
.hero-deco { position:absolute; right:-80px; top:50%; transform:translateY(-50%); width:500px; height:500px; border-radius:50%; border:1px solid rgba(184,150,78,.09); pointer-events:none; z-index:1; }
.hero-deco::before { content:''; position:absolute; inset:40px; border-radius:50%; border:1px solid rgba(184,150,78,.05); }
.hero-content { max-width:var(--max); margin:0 auto; padding:5rem 2rem; position:relative; z-index:2; width:100%; }
.hero-eyebrow { font-size:.7rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); margin-bottom:1.2rem; }
.hero-title { font-family:var(--serif); font-size:clamp(2.8rem,6vw,5.5rem); font-weight:200; line-height:1.05; letter-spacing:-.01em; color:#fff; margin-bottom:1.5rem; }
.hero-title em { font-style:italic; font-weight:300; color:var(--accent-lt,var(--gold-lt)); }
.hero-sub { font-size:1.05rem; font-weight:300; color:rgba(255,255,255,.65); max-width:600px; line-height:1.8; }
.hero-cta { margin-top:2.5rem; display:flex; gap:1rem; flex-wrap:wrap; }
.accent-strip { height:4px; background:var(--accent); }

/* ── Typography ── */
.section-title { font-family:var(--serif); font-size:clamp(1.9rem,4vw,3.2rem); font-weight:200; letter-spacing:-.01em; line-height:1.15; margin-bottom:1.5rem; }
.section-title em { font-style:italic; font-weight:300; color:var(--accent); }
.section-label { font-size:.68rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; }
.section-intro { font-size:1.05rem; color:var(--mid); max-width:680px; line-height:1.8; margin-bottom:3rem; }
.gold-line { width:48px; height:2px; background:var(--accent); margin-bottom:2rem; }

/* ── Buttons ── */
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 1.8rem; font-size:.76rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:all .25s; border-radius:2px; }
.btn-gold,.btn-accent { background:var(--accent); color:#fff; border:1px solid var(--accent); }
.btn-gold:hover,.btn-accent:hover { background:var(--accent-lt,var(--gold-lt)); border-color:var(--accent-lt,var(--gold-lt)); color:#fff; }
.btn-outline { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.btn-dark { background:var(--ink); color:#fff; border:1px solid var(--ink); }
.btn-dark:hover { background:#1a2e42; }

/* ── Sections ── */
.section { padding:6rem 2rem; max-width:var(--max); margin:0 auto; }
.section-full { padding:6rem 2rem; }
.dark-text { color:#fff; }
.dark-text .section-intro { color:rgba(255,255,255,.6); }
.dark-text .section-title { color:#fff; }
.dark-text .section-label { color:var(--accent); }

/* ── Cards ── */
.card-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.card { background:#fff; padding:2.5rem; border:1px solid var(--light); transition:transform .25s,box-shadow .25s,border-color .25s; }
.card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(13,27,42,.08); border-color:var(--accent); }
.card-icon { width:44px; height:44px; border:1px solid var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem; color:var(--accent); font-size:.95rem; }
.card-title { font-family:var(--serif); font-size:1.3rem; font-weight:400; margin-bottom:.75rem; letter-spacing:-.01em; }
.card-text { font-size:.88rem; color:var(--mid); line-height:1.7; }
.card-link { margin-top:1.5rem; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); display:inline-flex; align-items:center; gap:.4rem; }
.card-link::after { content:'→'; }

/* ── Pillars ── */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--light); }
.pillar { padding:3rem 2rem; border-right:1px solid var(--light); transition:background .25s; }
.pillar:last-child { border-right:none; }
.pillar:hover { background:var(--ink); color:#fff; }
.pillar:hover .pillar-num { color:var(--gold); }
.pillar:hover .pillar-text { color:rgba(255,255,255,.6); }
.pillar-num { font-family:var(--serif); font-size:3rem; font-weight:100; color:var(--light); line-height:1; margin-bottom:1.5rem; transition:color .25s; letter-spacing:-.03em; }
.pillar-title { font-family:var(--serif); font-size:1.5rem; font-weight:300; margin-bottom:.8rem; letter-spacing:-.01em; }
.pillar-text { font-size:.875rem; color:var(--mid); line-height:1.7; transition:color .25s; }

/* ── Two-col ── */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.two-col-wide { display:grid; grid-template-columns:3fr 2fr; gap:4rem; align-items:start; }

/* ── Diagram ── */
.consulting-diagram { background:var(--ink); padding:3rem; color:#fff; }
.diag-center { text-align:center; margin-bottom:2.5rem; }
.diag-center-label { font-family:var(--serif); font-size:1.5rem; font-weight:200; color:var(--accent); display:block; margin-bottom:.5rem; }
.diag-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.diag-item { border:1px solid rgba(184,150,78,.22); padding:1.25rem; }
.diag-item-title { font-size:.66rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem; }
.diag-item ul { padding-left:1rem; }
.diag-item li { font-size:.82rem; color:rgba(255,255,255,.65); margin-bottom:.2rem; }

/* ── Project box ── */
.project-box { background:var(--cream); border-left:3px solid var(--accent); padding:2rem 2.5rem; margin-top:2rem; }
.project-box-label { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1rem; }
.project-box-title { font-family:var(--serif); font-size:1.3rem; font-weight:300; margin-bottom:1rem; letter-spacing:-.01em; }
.project-box p { font-size:.9rem; color:var(--mid); line-height:1.7; }

/* ── Partner ── */
.partner-box { border:1px solid var(--light); padding:2.5rem; transition:border-color .25s; }
.partner-box:hover { border-color:var(--accent); }
.partner-box-title { font-family:var(--serif); font-size:1.5rem; font-weight:300; margin-bottom:1rem; letter-spacing:-.01em; }
.partner-box p { font-size:.95rem; color:var(--mid); line-height:1.7; margin-bottom:1.5rem; }
.contact-email { display:inline-flex; align-items:center; gap:.5rem; font-size:.88rem; font-weight:500; color:var(--accent); border-bottom:1px solid transparent; transition:border-color .2s; }
.contact-email:hover { border-bottom-color:var(--accent); }

/* ── Stats ── */
.stats-bar { display:grid; grid-template-columns:repeat(4,1fr); background:var(--accent); }
.stat { padding:2.5rem 2rem; border-right:1px solid rgba(13,27,42,.12); }
.stat:last-child { border-right:none; }
.stat-num { font-family:var(--serif); font-size:2.8rem; font-weight:100; color:var(--ink); margin-bottom:.25rem; letter-spacing:-.03em; }
.stat-label { font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(13,27,42,.55); }

/* ── Image strip ── */
.img-strip { width:100%; height:360px; overflow:hidden; position:relative; }
.img-strip-bg { width:100%; height:100%; background-size:cover; background-position:center; }
.img-strip-overlay { position:absolute; inset:0; background:linear-gradient(to right,rgba(13,27,42,.55),transparent); }

/* ── Study ── */
.study-card { border:1px solid var(--light); padding:2.5rem; display:grid; grid-template-columns:3fr 2fr; gap:2rem; align-items:start; }
.study-meta { background:var(--ink); color:#fff; padding:1.5rem; font-size:.85rem; }
.study-meta-item { margin-bottom:.8rem; }
.study-meta-label { font-size:.63rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--accent); display:block; margin-bottom:.2rem; }

/* ── Jobs ── */
.job-card { border-bottom:1px solid var(--light); padding:2rem 0; display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; }
.job-title { font-family:var(--serif); font-size:1.3rem; font-weight:300; margin-bottom:.5rem; letter-spacing:-.01em; }
.job-tags { display:flex; gap:.5rem; flex-wrap:wrap; }
.job-tag { font-size:.66rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:.25rem .6rem; border:1px solid var(--accent); color:var(--accent); }

/* ── Contact ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.contact-item { margin-bottom:2rem; }
.contact-item h4 { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:.5rem; }
.contact-item p { font-size:.95rem; line-height:1.6; }
.contact-form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-field { display:flex; flex-direction:column; gap:.4rem; }
.form-field label { font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.form-field input,.form-field textarea,.form-field select { background:#fff; border:1px solid var(--light); padding:.75rem 1rem; font-family:var(--sans); font-size:.9rem; color:var(--ink); outline:none; transition:border-color .2s; border-radius:2px; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--accent); }
.form-field textarea { min-height:140px; resize:vertical; }

/* ── CTA band ── */
.cta-band { background:var(--accent); padding:4rem 2rem; }
.cta-band-inner { max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.cta-band-title { font-family:var(--serif); font-size:clamp(1.4rem,3vw,2rem); font-weight:200; margin-bottom:.5rem; letter-spacing:-.01em; }
.cta-band-sub { font-size:.9rem; color:rgba(13,27,42,.65); }

/* ── Footer ── */
.site-footer { background:var(--ink); color:rgba(255,255,255,.55); padding:4rem 2rem 2rem; }
.footer-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer-logo { margin-bottom:1rem; }
.footer-logo img { height:48px; width:auto; }
.footer-desc { font-size:.85rem; line-height:1.7; max-width:280px; }
.footer-col h4 { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.footer-col li a { font-size:.85rem; color:rgba(255,255,255,.55); transition:color .2s; }
.footer-col li a:hover { color:var(--accent); }
.footer-bottom { max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding-top:2rem; font-size:.76rem; flex-wrap:wrap; gap:1rem; }
.footer-bottom a { color:rgba(255,255,255,.4); transition:color .2s; }
.footer-bottom a:hover { color:var(--accent); }

/* ── Reveal ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── Responsive ── */
@media(max-width:1024px) {
  .two-col,.two-col-wide { grid-template-columns:1fr; gap:3rem; }
  .pillars { grid-template-columns:1fr; }
  .pillar { border-right:none; border-bottom:1px solid var(--light); }
  .pillar:last-child { border-bottom:none; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .stats-bar { grid-template-columns:1fr 1fr; }
  .study-card { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  :root { --nav-h:64px; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .section { padding:4rem 1.25rem; }
  .section-full { padding:4rem 1.25rem; }
  .hero-content { padding:3rem 1.25rem; }
  .card-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:3rem; }
  .form-row { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .job-card { flex-direction:column; }
  .diag-grid { grid-template-columns:1fr; }
  .img-strip { height:240px; }
  .nav-logo img { height:36px; }
}
@media(max-width:480px) {
  .stats-bar { grid-template-columns:1fr; }
  .stat { border-right:none; border-bottom:1px solid rgba(13,27,42,.12); }
}
