/* ============================================================
   FACE VALUE — single-page styles
   Sister site in the sx.company portfolio
   ============================================================ */
:root{
  --paper:#F3EEE4;
  --paper-2:#E9E2D4;
  --ink:#14181F;
  --navy:#1B2A4A;
  --red:#E5352B;
  --red-ink:#B8231B;
  --on-dark:#EDE8DE;
  --muted:#5D5A54;
  --muted-dark:#A7A398;
  --line:rgba(20,24,31,.14);
  --line-dark:rgba(237,232,222,.16);

  --f-display:'Instrument Serif', 'Times New Roman', serif;
  --f-body:'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --t-xs:13px;
  --t-sm:15px;
  --t-base:17px;
  --t-lede:clamp(19px, 1.5vw, 22px);
  --t-h3:clamp(22px, 2vw, 28px);
  --t-h2:clamp(32px, 4.2vw, 58px);
  --t-hero:clamp(34px, 4.6vw, 70px);
  --t-mega:clamp(56px, 10vw, 168px);

  --lh-tight:1.04;
  --lh-head:1.15;
  --lh-body:1.6;

  --max:1200px;
  --pad-x:clamp(22px, 6vw, 110px);
  --pad-y:clamp(88px, 12vh, 150px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
body{
  font-family:var(--f-body);font-size:var(--t-base);line-height:var(--lh-body);
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.serif{font-family:var(--f-display);font-weight:400}
.red{color:var(--red)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:6px}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-x)}

/* ---------- type roles ---------- */
.eyebrow{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red-ink);margin-bottom:18px}
.eyebrow-light{color:var(--red)}
.h2{font-size:var(--t-h2);font-weight:800;line-height:var(--lh-head);letter-spacing:-.02em;text-wrap:balance;max-width:22ch}
.h3{font-size:var(--t-h3);font-weight:800;line-height:var(--lh-head);letter-spacing:-.01em}
.light{color:var(--on-dark)}
.lede{font-size:var(--t-lede);line-height:var(--lh-body);max-width:60ch;margin-top:24px;color:var(--muted)}
.light-text{color:var(--muted-dark);max-width:60ch}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-size:var(--t-sm);font-weight:700;letter-spacing:.01em;text-decoration:none;transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--red)}
.btn-line{border:1.5px solid var(--ink);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn-paper{background:var(--paper);color:var(--ink)}
.btn-paper:hover{background:var(--red);color:var(--paper)}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--paper);color:var(--ink)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,48px);backdrop-filter:blur(10px) saturate(110%);-webkit-backdrop-filter:blur(10px) saturate(110%);background:rgba(243,238,228,.94);transition:background .3s var(--ease),color .3s var(--ease)}
.nav.on-dark{background:rgba(20,24,31,.66);color:var(--on-dark)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.01em}
.brand-mark{width:30px;height:30px;display:inline-block;flex:none}
.brand-mark svg{width:100%;height:100%;display:block;overflow:visible}
.footer-brand .brand-mark{width:20px;height:20px;vertical-align:-4px;margin-right:8px}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,32px);font-size:var(--t-sm);font-weight:500}
.nav-links a{text-decoration:none;position:relative;padding:6px 0}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--red);transition:width .25s var(--ease)}
.nav-links a:not(.nav-cta):hover::after{width:100%}
.nav-cta{padding:8px 18px!important;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:700}
.nav.on-dark .nav-cta{background:var(--red);color:#fff}
.nav-toggle{display:none;width:44px;height:44px;position:relative}
.nav-toggle span{position:absolute;left:11px;right:11px;height:2px;background:currentColor;transition:transform .3s var(--ease)}
.nav-toggle span:nth-child(1){top:17px}.nav-toggle span:nth-child(2){top:25px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

/* ---------- dot nav ---------- */
.dots{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:12px}
.dots a{display:block;width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.25;position:relative;color:var(--ink);transition:opacity .3s,transform .3s var(--ease)}
.dots.on-dark a{color:var(--on-dark)}
.dots a.active{opacity:1;background:var(--red);transform:scale(1.3)}
.dots a span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:var(--t-xs);font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;color:currentColor}
.dots a:hover span{opacity:1}

/* ---------- hero ---------- */
.hero{position:relative;height:220vh;background:var(--paper)}
.hero-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.hero-canvas{position:absolute;right:0;top:0;width:55%;height:100%}
.hero-copy{position:relative;z-index:2;padding:96px 0 40px var(--pad-x);max-width:min(820px,calc(45vw - 24px))}
.hero-title{font-family:var(--f-display);font-weight:400;font-size:clamp(42px,calc(4.9vw + 2px),88px);line-height:1.02;letter-spacing:-.015em}
.swap{display:grid;color:var(--red)}
.swap>span{grid-area:1/1;animation:swap 5.2s cubic-bezier(.6,0,.2,1) infinite;animation-delay:-.6s}
.swap>span+span{animation-delay:-3.2s}
@keyframes swap{0%{opacity:0;transform:translateY(.32em);filter:blur(8px)}10%,44%{opacity:1;transform:none;filter:blur(0)}54%,100%{opacity:0;transform:translateY(-.32em);filter:blur(8px)}}
@media (prefers-reduced-motion: reduce){.swap>span{animation:none}.swap>span+span{display:none}}
.hero-lead{margin-top:clamp(18px,2.4vw,30px);font-size:clamp(17px,.8rem + .6vw,22px);line-height:1.5;color:var(--ink);max-width:36ch;opacity:.82}
.hero-sub{margin-top:18px;font-size:var(--t-h3);color:var(--red-ink)}
.js .hero-sub{opacity:0;transform:translateY(16px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.scroll-cue{position:absolute;left:var(--pad-x);bottom:28px;display:flex;align-items:center;gap:14px;font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.scroll-cue i{display:block;width:120px;height:2px;background:var(--line);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0;background:var(--red);transform-origin:left;transform:scaleX(var(--p,0))}

/* ---------- ticker ---------- */
.ticker{background:var(--red);color:#fff;overflow:hidden;padding:18px 0;position:relative;z-index:3}
.ticker-track{display:flex;align-items:center;gap:28px;white-space:nowrap;width:max-content;will-change:transform}
.ticker-track span{font-family:var(--f-display);font-size:var(--t-h3);font-style:italic}
.ticker-track b{font-size:var(--t-xs);opacity:.7}

/* ---------- manifest ---------- */
.manifest{position:relative;height:300vh;background:var(--ink);color:var(--on-dark)}
.manifest-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:center;padding:96px var(--pad-x) 60px;max-width:1360px;margin:0 auto}
.manifest-side .manifest-claim{margin-top:20px}
.manifest-text{font-size:clamp(20px,.7rem + 1.2vw,34px);font-weight:600;line-height:1.38;letter-spacing:-.01em;max-width:40ch;text-wrap:pretty}
.js .manifest-text .w{opacity:.22}
.manifest-claim{font-family:var(--f-display);font-weight:400;font-size:clamp(46px,1.6rem + 4.2vw,112px);line-height:var(--lh-tight);letter-spacing:-.02em;margin-top:32px;text-wrap:balance}
.js .manifest-claim{opacity:0;transform:translateY(30px)}

/* ---------- zahlen ---------- */
.zahlen{padding:var(--pad-y) 0;background:var(--paper)}
.zahlen-head{margin-bottom:clamp(48px,7vw,96px)}
.stats{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,2.4vw,32px)}
.stat{grid-column:span 6;border-top:2px solid var(--ink);padding-top:22px}
.stat:nth-child(even){margin-top:clamp(0px,8vw,120px)}
.stat:nth-child(n+3){margin-top:clamp(24px,3vw,48px)}
.stat:nth-child(n+3):nth-child(even){margin-top:calc(clamp(0px,8vw,120px) + clamp(24px,3vw,48px))}
.stat-num{font-family:var(--f-display);font-size:var(--t-mega);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.stat-text{margin-top:14px;max-width:40ch}
.src{display:inline-block;margin-top:12px;font-size:var(--t-xs);font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.src:hover{color:var(--red-ink)}

/* ---------- argument ---------- */
.argument{background:var(--red);color:#fff;padding:clamp(110px,18vh,200px) 0;overflow:hidden}
.argument-inner{max-width:1400px;margin:0 auto;padding:0 var(--pad-x)}
.argument-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-mega);line-height:var(--lh-tight);letter-spacing:-.025em;text-wrap:balance}
.argument-text{margin-top:40px;font-size:var(--t-lede);max-width:56ch}

/* ---------- leistung (horizontal) ---------- */
.leistung{position:relative;background:var(--paper-2)}
.leistung-pin{padding:var(--pad-y) 0}
.leistung-head{padding:0 var(--pad-x);max-width:1440px;margin-left:auto;margin-right:auto;margin-bottom:clamp(28px,4vh,48px)}
.rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,40px);padding:0 var(--pad-x);max-width:1440px;margin:0 auto}
.step{min-width:0}
.step-img{aspect-ratio:1/1;overflow:hidden;border-radius:6px;background:var(--paper)}
.step-icon{width:clamp(96px,9vw,136px);aspect-ratio:1/1;margin:0 0 8px -6px}
.step-icon svg{width:100%;height:100%;display:block;overflow:visible}
.step{border-top:1px solid rgba(20,24,31,.16);padding-top:28px}
.step-icon .ic-needle{transform-box:view-box;transform-origin:100px 100px;animation:ic-needle 4.2s ease-in-out infinite}
.step-icon .ic-blink{animation:ic-blink 1.6s steps(1) infinite}
.step-icon .ic-cam{transform-box:view-box;transform-origin:100px 100px;animation:ic-cam 3.6s ease-in-out infinite}
.step-icon .bar{transform-box:fill-box;transform-origin:50% 100%;animation:ic-bar 2.8s ease-in-out infinite}
.step-icon .b2{animation-delay:-.7s}.step-icon .b3{animation-delay:-1.4s}.step-icon .b4{animation-delay:-2.1s}
.step-icon .ic-pulse{transform-box:fill-box;transform-origin:50% 50%;animation:ic-pulse 2s ease-in-out infinite}
.step-icon .ic-horn{transform-box:view-box;transform-origin:60px 100px;animation:ic-horn 2.4s ease-in-out infinite}
.step-icon .wave{animation:ic-wave 2.4s ease-in-out infinite}.step-icon .w2{animation-delay:.3s}
@keyframes ic-needle{0%,100%{transform:rotate(-14deg)}35%{transform:rotate(22deg)}60%{transform:rotate(8deg)}}
@keyframes ic-blink{0%,60%{opacity:1}61%,100%{opacity:.15}}
@keyframes ic-cam{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ic-bar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}
@keyframes ic-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@keyframes ic-horn{0%,100%{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(0)}}
@keyframes ic-wave{0%,15%{opacity:.15}40%,70%{opacity:1}100%{opacity:.15}}
@media (prefers-reduced-motion: reduce){.step-icon *{animation:none!important}}
.step-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform;filter:grayscale(1) contrast(1.05)}
.step-no{margin-top:18px;font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;color:var(--red-ink)}
.step .h3{margin-top:4px}
.step p:last-child{margin-top:6px;color:var(--muted);max-width:34ch}

/* ---------- angebot ---------- */
.angebot{padding:var(--pad-y) 0;background:var(--paper)}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px);margin-top:clamp(40px,5vw,64px);align-items:stretch}
.offer{display:flex;flex-direction:column;gap:18px;padding:clamp(28px,3.4vw,48px);border-radius:10px;background:#fff;border:1px solid var(--line)}
.offer-dark{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.offer-dark p,.offer-dark li{color:var(--muted-dark)}
.offer-dark b{color:var(--on-dark)}
.offer-tag{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red-ink)}
.offer-dark .offer-tag{color:var(--red)}
.offer-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);line-height:var(--lh-tight);letter-spacing:-.015em;text-wrap:balance}
.offer-dark .offer-title{color:var(--on-dark)}
.offer a:not(.btn){color:inherit;text-decoration:underline;text-underline-offset:3px}
.list{list-style:none;display:grid;gap:10px}
.list li{padding-left:22px;position:relative}
.list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--red)}
.terms{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.terms span{font-size:var(--t-xs);font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--line)}
.offer-dark .terms span{border-color:var(--line-dark);color:var(--on-dark)}
.offer .btn{align-self:flex-start}
.pact{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,80px);padding-top:clamp(40px,5vw,64px);border-top:2px solid var(--ink)}
.pact-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-h2);line-height:var(--lh-tight);margin-bottom:18px}
.pact-head p:last-child{color:var(--muted);max-width:48ch}
.pact-list{list-style:none;display:grid;gap:0}
.pact-list li{display:flex;gap:18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);font-size:var(--t-lede)}
.pact-list span{font-family:var(--f-display);font-size:var(--t-h3);color:var(--red-ink);min-width:24px}

/* ---------- netzwerk ---------- */
.netzwerk{position:relative;height:280vh;background:var(--ink);color:var(--on-dark)}
.netz-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding:80px var(--pad-x) 40px;max-width:1400px;margin:0 auto}
.netz-copy .h2{max-width:16ch}
.netz-copy .light-text{margin-top:22px}
.netz-list{list-style:none;margin:26px 0 32px;display:grid;gap:12px;color:var(--muted-dark)}
.netz-list b{color:var(--on-dark)}
.netz-stage{position:relative;width:100%;max-width:600px;aspect-ratio:1/1;justify-self:center}
.netz-svg{width:100%;height:100%;overflow:visible}
.netz-svg line{stroke:var(--red);stroke-width:1.4;stroke-linecap:round}
.netz-svg .ring{fill:none;stroke:var(--line-dark);stroke-width:1}
.netz-count{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-family:var(--f-display);font-size:var(--t-h2);line-height:1;pointer-events:none;color:var(--ink)}
.netz-count small{display:block;font-family:var(--f-body);font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:6px}

/* ---------- plattform ---------- */
.plattform{padding:var(--pad-y) 0;background:var(--paper);overflow:hidden}
.plattform-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,96px);align-items:center}
.badge{display:inline-block;margin-left:8px;padding:3px 10px;border-radius:999px;background:var(--ink);color:var(--paper);letter-spacing:.08em}
.how{list-style:none;margin-top:32px;display:grid;gap:0;counter-reset:h}
.how li{padding:16px 0;border-top:1px solid var(--line);font-size:var(--t-lede)}
.how li b{display:inline-block;min-width:130px}
.note{margin-top:22px;color:var(--muted)}
.phone-wrap{display:flex;justify-content:center}
.phone{width:min(340px,100%);border-radius:36px;background:var(--ink);padding:22px 16px;box-shadow:0 30px 60px -20px rgba(20,24,31,.45);color:var(--on-dark)}
.phone-head{font-family:var(--f-display);font-size:var(--t-h3);padding:6px 8px 14px}
.phone-feed{display:grid;gap:10px}
.card{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:16px;background:rgba(237,232,222,.07)}
.card img{width:56px;height:56px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.card b{display:block;font-size:var(--t-sm)}
.card small{display:block;font-size:var(--t-xs);color:var(--muted-dark)}
.sub{font-size:var(--t-xs);font-weight:700;padding:8px 12px;border-radius:999px;background:var(--red);color:#fff;min-height:36px;transition:background .2s}
.sub.on{background:var(--paper);color:var(--ink)}
.phone-foot{text-align:center;font-size:var(--t-xs);color:var(--muted-dark);margin-top:14px}

/* ---------- ueber uns ---------- */
.ueber{padding:var(--pad-y) 0;background:var(--navy);color:var(--on-dark)}
.ueber .light-text{margin-top:18px}
.team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px);margin-top:clamp(40px,5vw,64px)}
.member{padding:clamp(24px,3vw,40px);border:1px solid var(--line-dark);border-radius:10px}
.member-role{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.member .light-text{margin-top:8px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px);margin-top:clamp(18px,2vw,28px)}
.principle{padding-top:18px;border-top:1px solid var(--line-dark);color:var(--muted-dark)}
.principle b{color:var(--on-dark)}

/* ---------- faq ---------- */
.faq{padding:var(--pad-y) 0;background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px)}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:700;font-size:var(--t-lede);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--f-display);font-size:var(--t-h3);color:var(--red-ink);transition:transform .3s var(--ease)}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{padding:0 0 22px;color:var(--muted);max-width:60ch}

/* ---------- kontakt (calm close) ---------- */
.kontakt{padding:var(--pad-y) 0 clamp(64px,8vw,110px);background:var(--paper-2)}
.kontakt-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-mega);line-height:var(--lh-tight);letter-spacing:-.03em}
.kontakt-text{font-size:var(--t-lede);margin-top:18px;color:var(--muted)}
.kontakt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.kontakt-mail{margin-top:22px;font-weight:700}
.kontakt-mail a{text-decoration:underline;text-underline-offset:4px}
.finale{margin-top:clamp(64px,9vw,120px);font-size:var(--t-h2);line-height:var(--lh-tight);color:var(--red-ink)}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--muted-dark);font-size:var(--t-xs);padding:28px 0}
.footer-inner{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.footer a{color:var(--on-dark)}
.footer button{text-decoration:underline;text-underline-offset:3px;color:var(--on-dark);font-size:var(--t-xs);min-height:32px}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--red)}

/* ---------- modal ---------- */
.modal{border:0;border-radius:12px;padding:0;max-width:560px;width:calc(100% - 32px);margin:auto;background:var(--paper);color:var(--ink)}
.modal::backdrop{background:rgba(20,24,31,.6)}
.modal-body{padding:32px;display:grid;gap:14px}
.modal-body .btn{justify-self:start;margin-top:8px}

/* ---------- reveal (initial state set by JS) ---------- */
.js .reveal{opacity:0;transform:translateY(28px)}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .nav-links{position:fixed;inset:64px 12px auto 12px;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 20px 40px -12px rgba(20,24,31,.35);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease)}
  .nav-links.open{opacity:1;pointer-events:auto;transform:none}
  .nav-links a{padding:10px 4px;font-size:var(--t-base)}
  .nav-cta{margin-top:6px}
  .nav-toggle{display:block}
  .dots{display:none}
  .hero{height:200vh}
  .hero-pin{grid-template-columns:1fr;align-items:end}
  .hero-pin{display:flex;flex-direction:column;justify-content:flex-start;padding-top:64px}
  .hero-canvas{position:relative;width:100%;height:auto;flex:1 1 0;min-height:160px;top:auto;opacity:1}
  .hero-copy{flex:none}
  .scroll-cue{display:none}
  .hero-copy{max-width:none;padding:8px var(--pad-x) 72px;background:none}
  .manifest-pin{grid-template-columns:1fr;align-content:center;gap:28px}
  .scroll-cue{bottom:22px}
  .manifest{height:220vh}
  .stats{grid-template-columns:1fr}
  .stat{grid-column:auto;margin-top:0!important}
  .leistung-pin{height:auto;padding:var(--pad-y) 0}
  .rail{width:auto;display:grid;grid-template-columns:1fr;gap:0;transform:none!important}
  .step{width:auto;display:grid;grid-template-columns:76px 1fr;column-gap:18px;align-items:start;padding:22px 0}
  .step .step-icon{grid-row:1 / span 3;width:76px;margin:0}
  .step .step-no{margin-top:0}
  .offers,.pact,.team,.principles,.faq-grid,.plattform-grid{grid-template-columns:1fr}
  .netzwerk{height:auto}
  .netz-pin{position:relative;height:auto;grid-template-columns:1fr;padding:var(--pad-y) var(--pad-x)}
  .netz-stage{max-width:420px}
}
@media (max-width: 520px){
  .hero-title{font-size:clamp(38px,11vw,50px)}
  .how li b{display:block;min-width:0}
}
@media (prefers-reduced-motion: reduce){
  .hero,.manifest,.netzwerk{height:auto}
  .hero-pin,.manifest-pin,.netz-pin{position:relative;height:auto;min-height:100vh}
  .hero-sub,.manifest-claim{opacity:1;transform:none}
  .manifest-text .w{opacity:1}
  .js .reveal{opacity:1;transform:none}
  .leistung-pin{height:auto;padding:var(--pad-y) 0}
  .rail{width:auto;overflow-x:auto}
}
html,body{overflow-x:clip}

/* ---------- Kanäle ---------- */
.kanaele{background:var(--navy);color:var(--on-dark);padding:var(--pad-y) 0;overflow:hidden}
.kanal-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,7vh,80px)}
.kanal-head .light-text{margin-top:22px}
.kanal-count{font-family:var(--f-display);font-size:var(--t-mega);line-height:.9;color:var(--red);justify-self:end;text-align:right}
.kanal-count small{display:block;font-family:var(--f-body);font-size:var(--t-sm);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark);margin-top:10px}
.kanal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px)}
.kanal-cat{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-dark);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line-dark)}
.kanal-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-block;padding:8px 14px;border:1px solid rgba(243,238,228,.28);border-radius:999px;font-size:var(--t-sm);font-weight:500;color:var(--on-dark);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.pill:hover{background:var(--red);border-color:var(--red);color:#fff}
@media (max-width: 980px){
  .kanal-head{grid-template-columns:1fr}
  .kanal-count{justify-self:start;text-align:left}
  .kanal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 560px){ .kanal-grid{grid-template-columns:1fr} }

@media (max-width: 980px) and (max-height: 720px){
  .hero-canvas{min-height:110px}
  .hero-sub{display:none}
  .hero-lead{font-size:15px;margin-top:12px}
  .hero-copy{padding-bottom:28px}
}
