:root{--ink:#211d1f;--paper:#f1eee7;--accent:#55a8b6;--warm:#d9b86d;--line:rgba(255,255,255,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}.topbar{height:112px;padding:25px 6vw;display:grid;grid-template-columns:170px 1fr auto;align-items:start;gap:38px;background:var(--ink);color:#fff;position:relative;z-index:10}.brand img{width:145px;filter:brightness(0) invert(1)}.descriptor{margin:0;font-size:15px;line-height:1.18}.topbar nav{display:flex;gap:38px;font-size:15px;padding-top:5px}.menu{display:none}.nbt-hero{min-height:700px;background:var(--ink);color:#fff;padding:0 6vw 0;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:3;padding-top:28px}.hero-copy h1{font-size:clamp(72px,10vw,154px);line-height:.89;letter-spacing:-.07em;font-weight:400;margin:0;max-width:1050px}.hero-art{position:absolute;inset:285px 0 0 0}.shape{position:absolute;background:linear-gradient(135deg,#e8d8a6,#c69244)}.shape-a{width:31vw;height:31vw;max-width:470px;max-height:470px;left:-4vw;bottom:-8vw;border-radius:50% 50% 0 0}.shape-b{width:34vw;height:27vw;max-width:520px;max-height:410px;left:25vw;bottom:-1px;border-radius:0 50% 0 0}.shape-b:after{content:"";position:absolute;width:52%;height:34%;left:0;top:42%;background:var(--ink);border-radius:0 80px 80px 0}.shape-c{width:17vw;height:17vw;right:7vw;bottom:0;border-radius:50% 50% 0 0}.stripes{position:absolute;background:repeating-linear-gradient(90deg,#fff 0 7px,transparent 7px 18px)}.stripes-a{width:28vw;height:100px;right:4vw;top:0}.stripes-b{width:21vw;height:190px;right:0;bottom:0;clip-path:polygon(0 0,100% 0,100% 100%,38% 100%,38% 48%,0 48%)}.intro,.portfolio,.about,.contact{padding:120px 6vw}.intro{background:#efede7}.kicker,.section-title p,.about>p:first-child,.contact>p{font-size:13px;letter-spacing:.08em;margin:0 0 42px}.intro h2,.section-title h2,.about h2,.contact h2{font-size:clamp(54px,7vw,108px);line-height:.94;letter-spacing:-.055em;font-weight:400;margin:0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:70px 0 0 35%;font-size:21px;line-height:1.5}.portfolio{background:var(--accent);padding-bottom:40px}.section-title{display:flex;justify-content:space-between;align-items:flex-start}.venture-list{margin-top:80px;border-top:1px solid rgba(0,0,0,.35)}.venture-list article{display:grid;grid-template-columns:70px 1.2fr 1fr 40px;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid rgba(0,0,0,.35)}.venture-list h3{font-size:40px;font-weight:400;margin:0}.venture-list p{margin:0;font-size:17px}.venture-list b{font-size:26px;font-weight:400}.about{background:var(--paper)}.about-copy{font-size:24px;line-height:1.5;max-width:680px;margin:65px 0 0 42%}.contact{background:#ff5b59;color:var(--ink)}.contact a{display:inline-flex;gap:20px;border-bottom:2px solid var(--ink);padding:18px 0 10px;margin-top:65px;font-size:25px}footer{background:var(--ink);color:#fff;padding:55px 6vw;display:grid;grid-template-columns:1.2fr 1.4fr .8fr .6fr;gap:35px;font-size:14px;line-height:1.7}footer img{width:145px;filter:brightness(0) invert(1)}footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.topbar{height:90px;grid-template-columns:1fr auto;padding:22px 24px}.brand img{width:120px}.descriptor{display:none}.topbar nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--ink);padding:20px 24px 35px;flex-direction:column;gap:22px}.topbar.open nav{display:flex}.menu{display:block;border:0;background:none;color:#fff;font-size:15px}.nbt-hero{min-height:590px;padding:18px 24px 0}.hero-copy h1{font-size:clamp(58px,18vw,95px)}.hero-art{inset:300px 0 0}.shape-a{width:55vw;height:55vw;left:-12vw}.shape-b{width:62vw;height:49vw;left:26vw}.shape-c{display:none}.stripes-a{width:42vw;height:72px;right:-4vw}.stripes-b{display:none}.intro,.portfolio,.about,.contact{padding:80px 24px}.intro-grid{grid-template-columns:1fr;margin:50px 0 0;gap:20px;font-size:18px}.section-title{display:block}.venture-list{margin-top:50px}.venture-list article{grid-template-columns:45px 1fr 28px}.venture-list article p{grid-column:2}.venture-list h3{font-size:30px}.about-copy{margin:45px 0 0;font-size:20px}footer{grid-template-columns:1fr;gap:24px;padding:45px 24px}}

/* Language switch */
.lang{display:flex;align-items:center;gap:.55rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.lang a,.lang strong{color:inherit;text-decoration:none;font-weight:600}
.lang a{opacity:.48;transition:opacity .2s ease}
.lang a:hover{opacity:1}
.lang strong{border-bottom:1px solid currentColor;padding-bottom:2px}
@media(max-width:760px){.lang{margin-left:auto;margin-right:.6rem}.topbar .descriptor{display:none}}

/* V5: stable header layout with language switch */
@media (min-width:801px){
  .topbar{grid-template-columns:170px minmax(120px,1fr) auto auto;align-items:start;column-gap:32px}
  .topbar nav{grid-column:3;grid-row:1;white-space:nowrap}
  .topbar .lang{grid-column:4;grid-row:1;padding-top:6px}
}
@media (max-width:800px){
  .topbar{grid-template-columns:1fr auto auto;align-items:center;gap:14px}
  .topbar .brand{grid-column:1;grid-row:1}
  .topbar .lang{grid-column:2;grid-row:1;margin:0}
  .topbar .menu{grid-column:3;grid-row:1}
  .topbar nav{grid-column:1/-1;grid-row:2}
}

/* V6 — Legal pages */
.legal-page{background:var(--paper);min-height:100vh}
.legal-topbar{height:112px;padding:25px 6vw;display:grid;grid-template-columns:170px 1fr auto;align-items:start;gap:38px;background:var(--ink);color:#fff}
.legal-topbar .brand img{width:145px;filter:brightness(0) invert(1)}
.legal-back{justify-self:end;padding-top:5px;font-size:15px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px}
.legal-hero{background:var(--ink);color:#fff;padding:65px 6vw 105px;border-top:1px solid rgba(255,255,255,.16)}
.legal-kicker{font-size:13px;letter-spacing:.1em;margin:0 0 35px;text-transform:uppercase}
.legal-hero h1{font-size:clamp(76px,11vw,168px);line-height:.82;letter-spacing:-.07em;font-weight:400;margin:0}
.legal-hero .legal-index{margin-top:50px;font-size:15px;opacity:.62}
.legal-body{padding:95px 6vw 120px;display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:8vw;align-items:start}
.legal-aside{position:sticky;top:40px;font-size:14px;line-height:1.65}
.legal-aside .eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;opacity:.6}
.legal-aside a{display:inline-block;margin-top:22px;border-bottom:1px solid var(--ink);padding-bottom:3px}
.legal-content{max-width:820px}
.legal-section{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid rgba(33,29,31,.25)}
.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-section .num{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:18px;opacity:.52}
.legal-section h2{font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.045em;font-weight:400;margin:0 0 26px}
.legal-section p{font-size:18px;line-height:1.65;margin:0 0 18px;max-width:720px}
.legal-section p:last-child{margin-bottom:0}
.legal-company{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.4!important}
.legal-note{background:var(--accent);padding:28px 30px;margin-top:28px;max-width:720px}
.legal-note strong{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.legal-note p{font-size:16px;line-height:1.55;margin:0}
.legal-footer{background:var(--ink);color:#fff;padding:55px 6vw;display:grid;grid-template-columns:1.2fr 1.4fr .8fr .6fr;gap:35px;font-size:14px;line-height:1.7}
.legal-footer img{width:145px;filter:brightness(0) invert(1)}
.legal-footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.legal-topbar{height:90px;padding:22px 24px;grid-template-columns:1fr auto;align-items:center}.legal-topbar .brand img{width:120px}.legal-topbar .lang{display:none}.legal-back{padding-top:0}.legal-hero{padding:52px 24px 72px}.legal-hero h1{font-size:clamp(62px,19vw,105px)}.legal-body{padding:65px 24px 85px;grid-template-columns:1fr;gap:55px}.legal-aside{position:static;border-bottom:1px solid rgba(33,29,31,.25);padding-bottom:38px}.legal-section{padding-bottom:38px;margin-bottom:38px}.legal-section p{font-size:17px}.legal-footer{grid-template-columns:1fr;gap:24px;padding:45px 24px}}

/* V8 — Legal typography refinement */
.legal-hero{padding-top:56px;padding-bottom:82px}
.legal-kicker{font-size:12px;margin-bottom:28px}
.legal-hero h1{font-size:clamp(64px,8vw,118px);line-height:.88;letter-spacing:-.055em}
.legal-hero .legal-index{margin-top:36px;font-size:13px}
.legal-body{padding-top:78px;padding-bottom:105px;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:7vw}
.legal-content{max-width:780px}
.legal-section{padding-bottom:40px;margin-bottom:40px}
.legal-section .num{font-size:11px;margin-bottom:14px}
.legal-section h2{font-size:clamp(25px,2.5vw,38px);line-height:1.08;letter-spacing:-.03em;margin-bottom:20px}
.legal-section p{font-size:16px;line-height:1.72;margin-bottom:15px;max-width:740px}
.legal-company{font-size:clamp(18px,1.65vw,23px)!important;line-height:1.55!important}
.legal-note{padding:22px 24px;margin-top:22px;max-width:740px}
.legal-note p{font-size:15px;line-height:1.6}
.legal-aside{font-size:13px;line-height:1.65}
@media(max-width:800px){
  .legal-hero{padding:44px 24px 58px}
  .legal-hero h1{font-size:clamp(48px,14vw,76px);line-height:.92}
  .legal-hero .legal-index{margin-top:28px;font-size:12px}
  .legal-body{padding:52px 24px 75px;gap:42px}
  .legal-aside{padding-bottom:30px;font-size:13px}
  .legal-section{padding-bottom:32px;margin-bottom:32px}
  .legal-section h2{font-size:clamp(24px,8vw,32px);margin-bottom:17px}
  .legal-section p{font-size:15.5px;line-height:1.7}
  .legal-company{font-size:18px!important}
  .legal-note{padding:20px}
  .legal-note p{font-size:14.5px}
}

/* V10 — Mobile-first quality pass (WCAG 2.2 / modern touch UX) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:100px}
body{min-width:0;overflow-x:hidden}
img,svg{max-width:100%;height:auto}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--warm);outline-offset:4px}
.menu{font:inherit;cursor:pointer}
@media(any-pointer:coarse){
  .topbar nav a,.lang a,.lang strong,.menu,.legal-back,.legal-aside a,footer a,.legal-footer a{min-height:48px;display:flex;align-items:center}
  .topbar nav a{padding-block:8px}
  .lang a,.lang strong{min-width:44px;justify-content:center}
}
@media(max-width:800px){
  .topbar{position:relative;height:82px;padding:18px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));gap:8px 12px}
  .brand{display:flex;align-items:center;min-height:44px}.brand img{width:116px}
  .lang{gap:2px;font-size:.75rem}.lang a,.lang strong{padding:0 5px}
  .menu{min-height:44px;min-width:52px;padding:0 4px;text-align:right}
  .topbar nav{top:82px;padding:18px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left));gap:2px;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 18px 30px rgba(0,0,0,.2)}
  .topbar nav a{font-size:18px;line-height:1.2;border-bottom:1px solid rgba(255,255,255,.10)}
  .nbt-hero{min-height:clamp(520px,145vw,650px);padding:28px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}
  .hero-copy{padding-top:8px}.hero-copy h1{font-size:clamp(48px,16vw,78px);line-height:.91;letter-spacing:-.058em;max-width:10ch}
  .hero-art{inset:auto 0 0;height:48%;pointer-events:none}.shape-a{width:58vw;height:58vw;left:-16vw;bottom:-12vw}.shape-b{width:67vw;height:52vw;left:25vw;bottom:0}.stripes-a{width:46vw;height:62px;right:-8vw;top:6%}
  .intro,.portfolio,.about,.contact{padding:68px max(20px,env(safe-area-inset-right)) 68px max(20px,env(safe-area-inset-left))}
  .kicker,.section-title p,.about>p:first-child,.contact>p{font-size:12px;line-height:1.4;margin-bottom:28px}
  .intro h2,.section-title h2,.about h2,.contact h2{font-size:clamp(40px,12vw,60px);line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}
  .intro-grid{margin-top:38px;gap:18px;font-size:17px;line-height:1.58}.intro-grid p{margin:0}
  .venture-list{margin-top:38px}.venture-list article{grid-template-columns:34px minmax(0,1fr) 28px;gap:10px 12px;padding:24px 0}.venture-list h3{font-size:clamp(27px,8vw,34px);line-height:1.05}.venture-list article p{font-size:16px;line-height:1.45;margin-top:2px}.venture-list b{font-size:22px;text-align:right}
  .about-copy{margin-top:34px;font-size:18px;line-height:1.58;max-width:34rem}
  .contact a{font-size:clamp(18px,5.6vw,24px);line-height:1.3;margin-top:38px;min-height:48px;max-width:100%;overflow-wrap:anywhere}
  footer{padding:42px max(20px,env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));gap:20px;font-size:14px}footer img{width:125px}footer a{display:inline-flex;align-items:center;min-height:40px}
  .legal-topbar{height:82px;padding:18px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));gap:12px}.legal-topbar .brand img{width:116px}.legal-back{font-size:14px;white-space:nowrap;min-height:44px;display:flex;align-items:center}
  .legal-hero{padding:38px max(20px,env(safe-area-inset-right)) 48px max(20px,env(safe-area-inset-left))}.legal-kicker{font-size:11px;margin-bottom:22px}.legal-hero h1{font-size:clamp(44px,13vw,68px);letter-spacing:-.045em;overflow-wrap:anywhere}.legal-hero .legal-index{margin-top:22px}
  .legal-body{padding:46px max(20px,env(safe-area-inset-right)) 68px max(20px,env(safe-area-inset-left));gap:34px}.legal-aside{padding-bottom:26px}.legal-section{padding-bottom:30px;margin-bottom:30px}.legal-section h2{font-size:clamp(23px,7.5vw,30px);line-height:1.12}.legal-section p{font-size:16px;line-height:1.7;overflow-wrap:anywhere}.legal-company{font-size:17px!important;line-height:1.6!important}.legal-note{padding:18px}.legal-note p{font-size:15px}.legal-footer{padding:42px max(20px,env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));gap:20px}.legal-footer img{width:125px}.legal-footer a{display:inline-flex;align-items:center;min-height:40px}
}
@media(max-width:360px){
  .topbar{padding-left:16px;padding-right:16px;gap:6px}.brand img{width:105px}.lang{font-size:.69rem}.menu{font-size:14px;min-width:45px}
  .nbt-hero,.intro,.portfolio,.about,.contact,.legal-hero,.legal-body{padding-left:16px;padding-right:16px}.hero-copy h1{font-size:clamp(44px,15.5vw,58px)}
  .legal-back{font-size:13px}.legal-hero h1{font-size:clamp(40px,12.5vw,52px)}
}
@media(max-width:800px) and (orientation:landscape){.nbt-hero{min-height:500px}.hero-copy h1{font-size:clamp(48px,10vw,72px)}.hero-art{height:44%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v11 — refined legal pages */
.legal-page{--legal-max:1180px;background:#f4f0e8;color:var(--ink)}
.legal-topbar{height:92px;padding:0 max(32px,6vw);grid-template-columns:180px 1fr auto auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.14)}
.legal-topbar .brand img{width:138px}.legal-topbar .lang{display:flex;align-items:center;gap:8px}.legal-back{padding:0;border:0;font-size:13px;letter-spacing:.02em;opacity:.8}
.legal-hero{padding:72px max(32px,6vw) 76px;border-top:0}.legal-hero-inner{max-width:var(--legal-max);margin:0 auto}.legal-hero h1{font-size:clamp(58px,7.2vw,108px);line-height:.9;max-width:900px}.legal-hero .legal-index{margin-top:30px}
.legal-body{max-width:var(--legal-max);margin:0 auto;padding:82px 32px 112px;grid-template-columns:260px minmax(0,1fr);gap:80px}
.legal-aside{top:32px}.legal-aside p{max-width:230px}.legal-aside-nav{display:grid;gap:6px;margin-top:26px}.legal-aside-nav a{margin:0;border:0;padding:8px 0;min-height:0!important;font-size:13px;opacity:.72}.legal-aside-nav a:hover{opacity:1}
.legal-content{max-width:none}.legal-section{padding:0 0 42px;margin:0 0 42px}.legal-section h2{font-size:clamp(24px,2.15vw,34px);margin-bottom:22px}.legal-section p{max-width:760px;font-size:16px;line-height:1.72}.legal-company{font-size:20px!important;line-height:1.55!important}
.legal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(33,29,31,.24);margin-top:8px}.legal-fact{padding:20px 20px 20px 0;border-bottom:1px solid rgba(33,29,31,.24)}.legal-fact:nth-child(odd){border-right:1px solid rgba(33,29,31,.24)}.legal-fact:nth-child(even){padding-left:24px}.legal-fact small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;opacity:.55;margin-bottom:7px}.legal-fact strong,.legal-fact a{font-size:15px;font-weight:500;line-height:1.45}.legal-fact a{text-decoration:underline;text-underline-offset:3px}
.legal-note{background:#d7a965;padding:22px 24px;border-radius:0}.legal-note.soft{background:#e9e2d6}.legal-note p{max-width:none}.legal-section ul{margin:8px 0 18px;padding-left:20px;max-width:760px}.legal-section li{font-size:16px;line-height:1.7;margin:5px 0}.legal-section a{text-decoration:underline;text-underline-offset:3px}
.legal-footer{padding-left:max(32px,6vw);padding-right:max(32px,6vw)}
@media(max-width:800px){.legal-topbar{height:76px;padding:0 20px;grid-template-columns:1fr auto auto;gap:14px}.legal-topbar .brand img{width:112px}.legal-topbar .lang{display:flex;font-size:12px}.legal-back{font-size:0}.legal-back:after{content:'←';font-size:20px}.legal-hero{padding:46px 20px 52px}.legal-kicker{margin-bottom:20px}.legal-hero h1{font-size:clamp(44px,13vw,62px)}.legal-body{padding:48px 20px 72px;grid-template-columns:1fr;gap:38px}.legal-aside{display:none}.legal-section{padding-bottom:32px;margin-bottom:32px}.legal-section h2{font-size:25px}.legal-section p,.legal-section li{font-size:16px}.legal-company{font-size:18px!important}.legal-facts{grid-template-columns:1fr}.legal-fact,.legal-fact:nth-child(even){padding:16px 0;border-right:0}.legal-footer{padding-left:20px;padding-right:20px}}

/* v15 — unify mobile legal header with main navigation */
@media(max-width:800px){
  .legal-topbar{
    box-sizing:border-box;
    height:82px;
    min-height:82px;
    padding:18px max(20px,env(safe-area-inset-right)) 18px max(20px,env(safe-area-inset-left));
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:12px;
  }
  .legal-topbar .brand{
    display:flex;
    align-items:center;
    min-height:44px;
    align-self:center;
  }
  .legal-topbar .brand img{width:116px;display:block}
  .legal-topbar .lang{align-self:center;margin:0}
  .legal-back{align-self:center;margin:0}
}
@media(max-width:360px){
  .legal-topbar{padding-left:16px;padding-right:16px;gap:6px}
  .legal-topbar .brand img{width:105px}
}

/* v16 — legal pages use the exact same header component as the homepage. */
.legal-back{display:none!important}

/* v18 — calm editorial treatment for legal pages: no table-like grids */
.legal-page .legal-hero{padding-top:54px;padding-bottom:58px}
.legal-page .legal-hero h1{font-size:clamp(42px,4.6vw,68px);line-height:1;letter-spacing:-.04em}
.legal-page .legal-hero .legal-index{margin-top:20px;font-size:13px}
.legal-page .legal-body{padding-top:68px;padding-bottom:96px;grid-template-columns:220px minmax(0,1fr);gap:72px}
.legal-page .legal-content{max-width:760px}
.legal-page .legal-section{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid rgba(33,29,31,.16)}
.legal-page .legal-section .num{font-size:11px;margin-bottom:10px;opacity:.45}
.legal-page .legal-section h2{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:0 0 18px;font-weight:500}
.legal-page .legal-section p,.legal-page .legal-section li{font-size:16px;line-height:1.7}
.legal-page .legal-company{font-size:17px!important;line-height:1.65!important;font-weight:400}
.legal-page .legal-facts{display:flex;flex-direction:column;gap:0;margin:24px 0 0;border:0}
.legal-page .legal-fact,.legal-page .legal-fact:nth-child(odd),.legal-page .legal-fact:nth-child(even){display:grid;grid-template-columns:minmax(145px,180px) minmax(0,1fr);gap:24px;align-items:baseline;padding:11px 0;border:0;border-right:0}
.legal-page .legal-fact small{margin:0;font-size:11px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;opacity:.55}
.legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:16px;line-height:1.5;font-weight:400;min-width:0;overflow-wrap:anywhere}
.legal-page .legal-note{margin-top:22px;padding:20px 22px;background:#e8dfcf}
.legal-page .legal-note strong{font-size:11px}
.legal-page .legal-note p{font-size:15px;line-height:1.65}
.legal-page .legal-aside{font-size:13px;line-height:1.6}
.legal-page .legal-aside-nav{margin-top:20px}
@media(max-width:800px){
 .legal-page .legal-hero{padding-top:38px;padding-bottom:42px}
 .legal-page .legal-hero h1{font-size:clamp(36px,10vw,46px);line-height:1.05;letter-spacing:-.035em}
 .legal-page .legal-hero .legal-index{margin-top:16px;font-size:12px}
 .legal-page .legal-body{padding-top:42px;padding-bottom:68px;display:block}
 .legal-page .legal-content{max-width:none}
 .legal-page .legal-section{padding-bottom:28px;margin-bottom:28px}
 .legal-page .legal-section h2{font-size:21px;line-height:1.25;margin-bottom:15px}
 .legal-page .legal-section p,.legal-page .legal-section li{font-size:16px;line-height:1.65}
 .legal-page .legal-company{font-size:16px!important;line-height:1.65!important}
 .legal-page .legal-facts{margin-top:18px}
 .legal-page .legal-fact,.legal-page .legal-fact:nth-child(odd),.legal-page .legal-fact:nth-child(even){grid-template-columns:1fr;gap:3px;padding:9px 0}
 .legal-page .legal-fact small{font-size:10px}
 .legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:16px;line-height:1.5}
 .legal-page .legal-note{padding:17px 18px}
}

/* V19 — Mobile typography refinement */
@media (max-width:800px){
  body{font-size:18px}
  .topbar nav a{font-size:18px}
  .menu{font-size:16px}
  .lang{font-size:13px}
  .kicker,.section-title p,.about>p:first-child,.contact>p{font-size:13px;line-height:1.45}
  .intro-grid{font-size:18px;line-height:1.62}
  .venture-list article p{font-size:17px;line-height:1.55}
  .about-copy{font-size:19px;line-height:1.62}
  .contact a{font-size:clamp(19px,5.6vw,24px)}
  footer,.legal-footer{font-size:16px;line-height:1.65}
  .legal-page .legal-kicker{font-size:13px;line-height:1.45}
  .legal-page .legal-hero .legal-index{font-size:14px;line-height:1.55}
  .legal-page .legal-section h2{font-size:clamp(23px,6.4vw,28px);line-height:1.22}
  .legal-page .legal-section p,.legal-page .legal-section li{font-size:17px;line-height:1.7}
  .legal-page .legal-company{font-size:17px!important;line-height:1.7!important}
  .legal-page .legal-fact small{font-size:12px;line-height:1.45}
  .legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:17px;line-height:1.55}
  .legal-page .legal-note strong{font-size:12px}
  .legal-page .legal-note p{font-size:17px;line-height:1.68}
}
@media (max-width:360px){
  body{font-size:17px}
  .intro-grid{font-size:17px}
  .venture-list article p{font-size:17px}
  .about-copy{font-size:18px}
  footer,.legal-footer{font-size:15.5px}
  .legal-page .legal-section p,.legal-page .legal-section li,
  .legal-page .legal-fact strong,.legal-page .legal-fact a,
  .legal-page .legal-note p{font-size:16.5px}
}
\n\n/* v20 — portfolio arrows drawn in CSS to prevent iOS emoji rendering */\n.venture-arrow{\n  position:relative;\n  display:block;\n  width:22px;\n  height:22px;\n  justify-self:end;\n}\n.venture-arrow::before{\n  content:"";\n  position:absolute;\n  left:2px;\n  bottom:3px;\n  width:20px;\n  height:1.5px;\n  background:currentColor;\n  transform:rotate(-45deg);\n  transform-origin:left center;\n}\n.venture-arrow::after{\n  content:"";\n  position:absolute;\n  top:1px;\n  right:0;\n  width:9px;\n  height:9px;\n  border-top:1.5px solid currentColor;\n  border-right:1.5px solid currentColor;\n}\n@media(max-width:800px){\n  .venture-arrow{width:20px;height:20px}\n  .venture-arrow::before{width:18px}\n  .venture-arrow::after{width:8px;height:8px}\n}\n

/* v22 — mobile dropdown aligns exactly with the navigation bar */
@media(max-width:800px){
  .topbar nav{
    top:100%;
    left:0;
    right:0;
    width:100%;
    margin:0;
    box-sizing:border-box;
    padding-left:max(20px,env(safe-area-inset-left));
    padding-right:max(20px,env(safe-area-inset-right));
  }
}
@media(max-width:360px){
  .topbar nav{
    padding-left:16px;
    padding-right:16px;
  }
}

/* v23 — focused two-pillar business positioning */
#ventures,#consulting{scroll-margin-top:112px}
.business-pillars article p{max-width:620px;line-height:1.5}
@media(max-width:800px){
  #ventures,#consulting{scroll-margin-top:82px}
  .business-pillars article p{max-width:none}
}


/* v24 — three-pillar positioning */
#products{scroll-margin-top:112px}
@media(max-width:800px){#products{scroll-margin-top:82px}}

/* v25 — refined headline tracking for better readability */
.hero-copy h1{letter-spacing:-.052em}
.intro h2,.section-title h2,.about h2,.contact h2{letter-spacing:-.04em}
@media(max-width:800px){
  .hero-copy h1{letter-spacing:-.038em}
  .intro h2,.section-title h2,.about h2,.contact h2{letter-spacing:-.028em}
  .legal-page .legal-hero h1{letter-spacing:-.025em}
  .legal-page .legal-section h2{letter-spacing:-.012em}
}

/* v26 — desktop legal pages: remove floating/doubled divider lines; mobile remains unchanged */
@media (min-width:801px){
  .legal-page .legal-section,
  .legal-page .legal-section:last-child{
    border-bottom:0;
  }
  .legal-page .legal-facts{
    border:0;
  }
  .legal-page .legal-fact,
  .legal-page .legal-fact:nth-child(odd),
  .legal-page .legal-fact:nth-child(even){
    border:0;
    border-right:0;
    border-bottom:0;
  }
  .legal-page .legal-section{
    padding-bottom:30px;
    margin-bottom:38px;
  }
  .legal-page .legal-section + .legal-section{
    padding-top:8px;
  }
}

/* v27 — definitive desktop legal cleanup: no table/divider borders anywhere in legal content */
@media (min-width:801px){
  body.legal-page main .legal-body .legal-content .legal-section,
  body.legal-page main .legal-body .legal-content .legal-section:last-child,
  body.legal-page main .legal-body .legal-content .legal-facts,
  body.legal-page main .legal-body .legal-content .legal-fact,
  body.legal-page main .legal-body .legal-content .legal-fact:nth-child(odd),
  body.legal-page main .legal-body .legal-content .legal-fact:nth-child(even){
    border:0 !important;
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
    box-shadow:none !important;
  }
  body.legal-page main .legal-body .legal-content .legal-facts{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-top:24px;
  }
  body.legal-page main .legal-body .legal-content .legal-fact,
  body.legal-page main .legal-body .legal-content .legal-fact:nth-child(odd),
  body.legal-page main .legal-body .legal-content .legal-fact:nth-child(even){
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:24px;
    padding:0 !important;
    align-items:baseline;
  }
  body.legal-page main .legal-body .legal-content .legal-section{
    padding-bottom:24px;
    margin-bottom:46px;
  }
  body.legal-page main .legal-body .legal-content .legal-section + .legal-section{
    padding-top:0;
  }
}

/* v28 — comprehensive responsive typography system (2026) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:17px;line-height:1.6}
.descriptor,.topbar nav{font-size:16px}
.lang{font-size:13px}
.hero-copy h1{font-size:clamp(68px,9vw,142px);line-height:.91;letter-spacing:-.052em}
.kicker,.section-title p,.about>p:first-child,.contact>p{font-size:13px;line-height:1.45}
.intro h2,.section-title h2,.about h2,.contact h2{font-size:clamp(50px,6vw,92px);line-height:.98;letter-spacing:-.04em}
.intro-grid{font-size:20px;line-height:1.58}
.venture-list h3{font-size:36px;line-height:1.08}
.venture-list p{font-size:17px;line-height:1.55}
.venture-list b{font-size:24px}
.about-copy{font-size:21px;line-height:1.58}
.contact a{font-size:24px;line-height:1.35}
footer{font-size:15px;line-height:1.7}

/* Legal pages — desktop */
@media(min-width:801px){
  .legal-page .legal-kicker{font-size:13px;line-height:1.45}
  .legal-page .legal-hero h1{font-size:clamp(46px,4.5vw,66px);line-height:1.02;letter-spacing:-.032em}
  .legal-page .legal-hero .legal-index{font-size:14px;line-height:1.55}
  .legal-page .legal-aside,.legal-page .legal-aside-nav a{font-size:14px;line-height:1.65}
  .legal-page .legal-section .num{font-size:12px}
  .legal-page .legal-section h2{font-size:26px;line-height:1.22;letter-spacing:-.015em}
  .legal-page .legal-section p,.legal-page .legal-section li{font-size:17px;line-height:1.72}
  .legal-page .legal-company{font-size:18px!important;line-height:1.65!important}
  .legal-page .legal-fact small{font-size:12px;line-height:1.45}
  .legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:17px;line-height:1.55}
  .legal-page .legal-note strong{font-size:12px}
  .legal-page .legal-note p{font-size:16px;line-height:1.68}
  .legal-footer{font-size:15px;line-height:1.7}
}

/* Mobile — body text deliberately 17–18px; display type remains compact */
@media(max-width:800px){
  body{font-size:18px;line-height:1.62}
  .topbar nav a{font-size:18px;line-height:1.3}
  .menu{font-size:16px}
  .lang{font-size:13px}
  .hero-copy h1{font-size:clamp(48px,15vw,72px);line-height:.94;letter-spacing:-.042em}
  .kicker,.section-title p,.about>p:first-child,.contact>p{font-size:13px;line-height:1.5}
  .intro h2,.section-title h2,.about h2,.contact h2{font-size:clamp(38px,11vw,54px);line-height:1.02;letter-spacing:-.03em}
  .intro-grid{font-size:18px;line-height:1.65}
  .venture-list h3{font-size:clamp(28px,8vw,34px);line-height:1.1}
  .venture-list article p{font-size:17px;line-height:1.6}
  .venture-list b{font-size:22px}
  .about-copy{font-size:19px;line-height:1.65}
  .contact a{font-size:clamp(20px,5.6vw,24px);line-height:1.35}
  footer,.legal-footer{font-size:16px;line-height:1.7}
  .legal-page .legal-kicker{font-size:13px;line-height:1.45}
  .legal-page .legal-hero h1{font-size:clamp(38px,10.5vw,48px);line-height:1.06;letter-spacing:-.028em}
  .legal-page .legal-hero .legal-index{font-size:14px;line-height:1.55}
  .legal-page .legal-section .num{font-size:12px}
  .legal-page .legal-section h2{font-size:clamp(23px,6.4vw,28px);line-height:1.25;letter-spacing:-.01em}
  .legal-page .legal-section p,.legal-page .legal-section li{font-size:17px;line-height:1.72}
  .legal-page .legal-company{font-size:17px!important;line-height:1.72!important}
  .legal-page .legal-fact small{font-size:12px;line-height:1.45}
  .legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:17px;line-height:1.58}
  .legal-page .legal-note strong{font-size:12px}
  .legal-page .legal-note p{font-size:17px;line-height:1.7}
}
@media(max-width:360px){
  body{font-size:17px}
  .hero-copy h1{font-size:clamp(44px,14.5vw,56px)}
  .intro-grid{font-size:17px}
  .about-copy{font-size:18px}
  footer,.legal-footer{font-size:16px}
  .legal-page .legal-section p,.legal-page .legal-section li,.legal-page .legal-fact strong,.legal-page .legal-fact a{font-size:17px}
}

/* v29 — desktop section heading alignment fix */
@media(min-width:801px){
  .portfolio .section-title{
    display:block;
  }
  .portfolio .section-title p{
    margin-bottom:32px;
  }
  .portfolio .section-title h2{
    margin-left:0;
    margin-right:0;
    max-width:900px;
    text-align:left;
  }
}

/* v30 — definitive desktop alignment for the "Was wir tun" heading */
@media (min-width:801px){
  .portfolio > .section-title{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    justify-content:initial !important;
    align-items:start !important;
    gap:0 !important;
  }
  .portfolio > .section-title > p,
  .portfolio > .section-title > h2{
    grid-column:1 !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    text-align:left !important;
  }
  .portfolio > .section-title > p{margin-bottom:32px !important;}
}

/* v31 — canonical desktop portfolio heading layout */
@media (min-width: 801px) {
  #portfolio .section-title {
    display: block !important;
    width: 100% !important;
  }
  #portfolio .section-title > p,
  #portfolio .section-title > h2 {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    transform: none !important;
  }
}


/* v32 — remove decorative slash before KLISENO on mobile */
@media(max-width:800px){
  .intro .kicker .kicker-mark{display:none !important;}
}

/* v35 — keep hero headline fully inside the black text area */
@media (min-width:801px){
  .nbt-hero{min-height:760px}
  .hero-copy{padding-top:28px;max-width:920px}
  .hero-copy h1{max-width:920px}
  .hero-art{inset:430px 0 0 0}
}
@media (max-width:800px){
  .nbt-hero{min-height:620px}
  .hero-copy{position:relative;z-index:3;max-width:100%}
  .hero-copy h1{max-width:10ch}
  .hero-art{height:43%}
}

/* v36 — desktop hero: artwork follows the headline in normal flow, so gold can never sit behind the text */
@media (min-width:801px){
  .nbt-hero{
    min-height:780px;
    display:flex;
    flex-direction:column;
    padding-top:0;
  }
  .hero-copy{
    flex:0 0 auto;
    width:100%;
    max-width:none;
    padding-top:28px;
    padding-bottom:42px;
  }
  .hero-copy h1{
    max-width:1180px;
  }
  .hero-art{
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:calc(100% + 12vw);
    height:360px;
    min-height:360px;
    margin-left:-6vw;
    margin-top:auto;
    flex:1 0 360px;
    overflow:hidden;
    pointer-events:none;
  }
}


/* v37 — deterministic KLISENO double slash on desktop; no Unicode/text slash artifacts */
@media (min-width:801px){
  .intro .kicker{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .intro .kicker .kicker-mark{
    display:inline-flex;
    align-items:center;
    gap:4px;
    width:18px;
    height:14px;
    flex:0 0 18px;
  }
  .intro .kicker .kicker-mark i{
    display:block;
    width:1.5px;
    height:13px;
    background:currentColor;
    transform:rotate(24deg);
    transform-origin:center;
  }
}
@media (max-width:800px){
  .intro .kicker .kicker-mark{display:none !important;}
}

/* v38 — show the same CSS double slash before KLISENO on mobile as on the other section labels */
@media (max-width:800px){
  .intro .kicker{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .intro .kicker .kicker-mark{
    display:inline-flex !important;
    align-items:center;
    gap:3px;
    width:16px;
    height:12px;
    flex:0 0 16px;
  }
  .intro .kicker .kicker-mark i{
    display:block;
    width:1.5px;
    height:11px;
    background:currentColor;
    transform:rotate(24deg);
    transform-origin:center;
  }
}

/* V41: exact supplied Impressum/Imprint content in the existing legal-page design */
.legal-page .legal-body.legal-body-single{grid-template-columns:minmax(0,760px);justify-content:center;}
.legal-page .legal-body.legal-body-single .legal-content{width:100%;max-width:760px;}
@media(max-width:800px){.legal-page .legal-body.legal-body-single{display:block;}}

/* V45 — production polish: accessibility + 404 */
.skip-link{position:fixed;left:18px;top:12px;z-index:9999;padding:10px 14px;background:#fff;color:#211d1f;text-decoration:none;font-size:14px;font-weight:700;transform:translateY(-180%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
.error-page{min-height:calc(100vh - 112px);padding:clamp(72px,10vw,150px) 6vw;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.error-page>p:first-child{margin:0 0 24px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.error-page h1{margin:0;max-width:1000px;font-size:clamp(52px,8.2vw,126px);line-height:.91;letter-spacing:-.055em}
.error-copy{max-width:620px;margin:34px 0 0;font-size:18px;line-height:1.65;color:rgba(255,255,255,.76)}
.error-link{display:inline-block;margin-top:30px;padding:14px 19px;border:1px solid rgba(255,255,255,.42);color:#fff;text-decoration:none;font-size:15px;transition:background .2s ease,color .2s ease}
.error-link:hover{background:#fff;color:var(--ink)}
@media(max-width:800px){.error-page{min-height:calc(100vh - 82px);padding:64px max(20px,env(safe-area-inset-right)) 72px max(20px,env(safe-area-inset-left))}.error-page h1{font-size:clamp(46px,14vw,72px)}.error-copy{font-size:17px}}

/* v47 — robust mobile dropdown alignment: full navbar width, exact inner gutters */
@media (max-width:800px){
  .topbar{overflow:visible}
  .topbar nav{
    position:absolute;
    top:100%;
    left:50%;
    right:auto;
    width:100vw;
    max-width:none;
    margin:0;
    transform:translateX(-50%);
    box-sizing:border-box;
    padding:18px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left));
  }
}
@media (max-width:360px){
  .topbar nav{
    padding-left:16px;
    padding-right:16px;
  }
}
