/* ============================================================
   Creatornomics v2
   ============================================================ */

@font-face{font-family:"Inter";src:url(../medien/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(../medien/fonts/inter-tight-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(../medien/fonts/inter-tight-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(../medien/fonts/inter-tight-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../medien/fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --bg:#FAFAF7;
  --surface:#FFFFFF;
  --soft:#F2F1EC;
  --ink:#141414;
  --ink-2:#4A4A46;
  --ink-3:#6E6E68;          /* etwas dunkler als #8A8A84, damit Kleintext AA erreicht */
  --line:#E6E4DD;
  --accent:#F0562A;
  --accent-ink:#C23E14;     /* Akzent für kleinen Text auf hellem Grund (AA) */
  --accent-soft:#FFE9E1;
  --dark:#101511;
  --on-dark:#F4F2EC;
  --on-dark-2:#B9B8B0;

  --f-display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-text:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-serif:"Instrument Serif",Georgia,"Times New Roman",serif;

  --gutter:clamp(20px,4.4vw,64px);
  --max:1360px;
  --sec:clamp(96px,13vw,184px);
  --rad:20px;
  --ease:cubic-bezier(.22,1,.36,1);
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:16px;transform:translateY(-200%);z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{transform:none}

/* ---------- Grain + Fortschritt ---------- */
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.sec{padding:var(--sec) 0}
.eyebrow{display:flex;align-items:center;gap:12px;font:600 12.5px/1 var(--f-text);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:28px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:currentColor}
.on-dark .eyebrow{color:#FF8A63}
.h1,.h2,.h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.035em;line-height:.98;text-wrap:balance}
.h1{font-size:clamp(2.55rem,6.3vw,6.1rem)}
.h2{font-size:clamp(2.2rem,5.4vw,5rem);font-weight:800}
.h3{font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05}
.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--accent)}
.h1 .serif,.h2 .serif{font-size:1.06em;line-height:.9}
.lead{font-size:clamp(1.06rem,1.35vw,1.25rem);line-height:1.55;color:var(--ink-2);max-width:36em;text-wrap:pretty}
.sec-head{display:grid;gap:28px;align-content:start;margin-bottom:clamp(56px,7vw,96px)}
.sec-head .lead{max-width:34em}
@media (min-width:1024px){
  .sec-head.split{grid-template-columns:7fr 5fr;align-items:end;gap:64px}
}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;height:58px;padding:0 28px;border-radius:999px;font:600 16px/1 var(--f-text);letter-spacing:-.005em;white-space:nowrap;isolation:isolate;transition:background-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--accent);transform:scaleY(0);transform-origin:50% 100%;transition:transform .45s var(--ease);z-index:-1}
.btn-primary:hover::before,.btn-primary:focus-visible::before{transform:scaleY(1)}
.btn-primary:hover{color:var(--ink)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--accent);transform:scaleY(0);transform-origin:50% 100%;transition:transform .45s var(--ease);z-index:-1}
.btn-light:hover::before{transform:scaleY(1)}
.btn-sm{height:44px;padding:0 20px;font-size:15px;gap:10px}
.btn .arr{width:18px;height:18px;flex:none;transition:transform .45s var(--ease)}
.roll{position:relative;display:inline-block;overflow:hidden;line-height:1.25;height:1.25em;white-space:nowrap}
.arr{width:18px;height:18px;flex:none}
.tlink .arr{transition:transform .45s var(--ease)}.tlink:hover .arr{transform:translateX(4px)}
.roll>span{display:block;transition:transform .5s var(--ease)}
.roll>span::after{content:attr(data-t);position:absolute;left:0;top:100%;white-space:nowrap}
.roll>span{position:relative}
:is(.tlink):is(:hover,:focus-visible) .roll.is-ready>span{transform:translateY(-100%)}

.tlink{position:relative;display:inline-flex;align-items:center;gap:10px;font-weight:600;padding:6px 0}
.tlink::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;background:currentColor;transform:scaleX(1);transform-origin:100% 50%;transition:transform .5s var(--ease)}
.tlink:hover::after{transform:scaleX(0);transform-origin:100% 50%;animation:uline .7s var(--ease) .1s forwards}
@keyframes uline{0%{transform:scaleX(0);transform-origin:0 50%}100%{transform:scaleX(1);transform-origin:0 50%}}
.ulink{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .45s var(--ease),color .3s var(--ease);padding-bottom:2px}
.ulink:hover,.ulink:focus-visible{background-size:100% 1.5px}

/* ---------- Navigation ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);transition:transform .5s var(--ease),height .4s var(--ease),background-color .4s,box-shadow .4s}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{display:block;width:172px;transition:width .4s var(--ease)}
.nav-logo img{width:100%;height:auto}
.nav-links{display:none;gap:36px;font-size:15px;font-weight:500}
.nav-right{display:flex;align-items:center;gap:12px}
.nav.is-compact{--nav-h:62px;background:rgba(250,250,247,.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.nav.is-compact .nav-logo{width:150px}
.nav.is-hidden{transform:translateY(-100%)}
.nav-cta{display:none}
.menu-btn{position:relative;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;z-index:2}
.menu-btn span{position:absolute;left:15px;right:15px;height:1.6px;background:currentColor;border-radius:2px;transition:transform .45s var(--ease)}
.menu-btn span:first-child{transform:translateY(-4px)}
.menu-btn span:last-child{transform:translateY(4px)}
.menu-open .menu-btn span:first-child{transform:rotate(45deg)}
.menu-open .menu-btn span:last-child{transform:rotate(-45deg)}
.menu-open .menu-btn{background:#fff;color:var(--ink)}
@media (min-width:960px){
  .nav-links{display:flex}
  .nav-cta{display:inline-flex}
  .menu-btn{display:none}
}

.mmenu{position:fixed;inset:0;z-index:99;background:var(--ink);color:var(--on-dark);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + 40px) var(--gutter) 40px;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease),visibility 0s .7s}
.menu-open .mmenu{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease),visibility 0s}
.menu-open .nav-logo img{filter:invert(1) hue-rotate(180deg)}
.menu-open .nav{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
.mmenu ol{display:grid;gap:4px;counter-reset:m}
.mmenu li{overflow:hidden}
.mmenu ol a{display:flex;align-items:baseline;gap:16px;font:800 clamp(2.6rem,12vw,4.5rem)/1.08 var(--f-display);letter-spacing:-.04em;transform:translateY(105%);transition:transform .7s var(--ease)}
.mmenu ol a::before{counter-increment:m;content:"0" counter(m);font:500 13px/1 var(--f-text);letter-spacing:.08em;color:var(--on-dark-2);transform:translateY(-1.6em)}
.menu-open .mmenu ol a{transform:none}
.menu-open .mmenu li:nth-child(1) a{transition-delay:.18s}
.menu-open .mmenu li:nth-child(2) a{transition-delay:.24s}
.menu-open .mmenu li:nth-child(3) a{transition-delay:.30s}
.menu-open .mmenu li:nth-child(4) a{transition-delay:.36s}
.menu-open .mmenu li:nth-child(5) a{transition-delay:.42s}
.mmenu-foot{display:grid;gap:20px;opacity:0;transform:translateY(16px);transition:opacity .6s .45s,transform .6s var(--ease) .45s}
.menu-open .mmenu-foot{opacity:1;transform:none}
.mmenu-foot .meta{display:flex;gap:24px;color:var(--on-dark-2);font-size:15px}
.mmenu-foot .btn{width:100%}

/* ---------- Hero ---------- */
.hero{position:relative;padding:calc(var(--nav-h) + clamp(28px,6vw,72px)) 0 0}
.hero-grid{display:grid;gap:clamp(32px,4vw,48px);align-items:center}
.hero-copy{position:relative;z-index:2}
.hero .h1{max-width:12.5em}
.hero .h1 .line{display:block}
.hero .lead{margin-top:clamp(22px,2.4vw,32px);max-width:30em}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:clamp(28px,3vw,40px)}
.hero-status{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);margin-bottom:28px}
.hero-status i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(240,86,42,.5);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(240,86,42,0)}100%{box-shadow:0 0 0 0 rgba(240,86,42,0)}}

.fan{position:relative;width:100%;max-width:640px;margin:0 auto;aspect-ratio:1.18/1;perspective:1600px}
.fan-item{position:absolute;left:50%;bottom:6%;width:36%;margin-left:-18%;transform-origin:50% 115%;transform:translateX(var(--x)) rotate(var(--r));will-change:transform}
.fan-card{display:block;border-radius:4px;overflow:hidden;box-shadow:0 2px 3px rgba(20,20,20,.08),0 22px 40px -10px rgba(20,20,20,.32),0 50px 80px -30px rgba(20,20,20,.25);background:#222;aspect-ratio:991/1400}
.fan-card img{width:100%;height:100%;object-fit:cover}
.fan-item:nth-of-type(1){--r:-20deg;--x:-26%;z-index:1}
.fan-item:nth-of-type(2){--r:-10deg;--x:-13%;z-index:2}
.fan-item:nth-of-type(3){--r:0deg;--x:0%;z-index:3}
.fan-item:nth-of-type(4){--r:10deg;--x:13%;z-index:4}
.fan-item:nth-of-type(5){--r:20deg;--x:26%;z-index:5}
.fan-shadow{position:absolute;left:12%;right:12%;bottom:0;height:12%;background:radial-gradient(50% 50% at 50% 50%,rgba(20,20,20,.18),transparent 70%);filter:blur(8px)}

.facts{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);margin-top:clamp(48px,7vw,104px)}
.fact{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.fact b{font:700 clamp(1.15rem,1.6vw,1.45rem)/1.2 var(--f-display);letter-spacing:-.02em}
.fact span{font-size:14.5px;color:var(--ink-3);text-align:right}
@media (min-width:768px){
  .facts{grid-template-columns:repeat(3,1fr)}
  .fact{display:block;padding:28px 28px 30px 0;border-bottom:0}
  .fact+.fact{padding-left:28px;border-left:1px solid var(--line)}
  .fact span{display:block;text-align:left;margin-top:6px}
}
@media (min-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .hero .h1{font-size:clamp(3.4rem,5.3vw,5.6rem)}
  .fan{width:112%;max-width:none;margin-left:-6%}
}
@media (max-width:1023px){
  .hero-copy{display:contents}
  .hero-status{order:1;margin-bottom:0}
  .hero .h1{order:2}
  .fan{order:3;max-width:520px;aspect-ratio:1.55/1;margin:-4px auto 0}
  .hero .lead{order:4;margin-top:0}
  .hero-ctas{order:5;margin-top:0}
  .hero-grid{gap:24px}
}
@media (max-width:640px){
  .fan{width:100%}
  .fan-item{width:33%;margin-left:-16.5%}
  .fan-item:nth-of-type(1){--r:-18deg;--x:-40%}
  .fan-item:nth-of-type(2){--r:-9deg;--x:-20%}
  .fan-item:nth-of-type(4){--r:9deg;--x:20%}
  .fan-item:nth-of-type(5){--r:18deg;--x:40%}
}

/* ---------- Laufband ---------- */
.marquee{padding:clamp(40px,6vw,72px) 0;overflow:hidden;border-bottom:1px solid var(--line)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;align-items:center;flex:none}
.marquee-group span{display:flex;align-items:center;white-space:nowrap;font:700 clamp(1.9rem,4.4vw,3.9rem)/1 var(--f-display);letter-spacing:-.035em;padding-right:clamp(22px,2.6vw,40px)}
.marquee-group span.s{font:400 italic clamp(2.05rem,4.7vw,4.2rem)/1 var(--f-serif);letter-spacing:-.01em;color:var(--ink-3)}
.marquee-group span::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent);margin-left:clamp(22px,2.6vw,40px);flex:none}

/* ---------- Problem ---------- */
.problems{display:grid;gap:20px}
.pcard{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(26px,2.6vw,36px);display:flex;flex-direction:column;min-height:100%}
.pcard .no{font:500 13px/1 var(--f-text);letter-spacing:.08em;color:var(--ink-3)}
.pcard h3{font:700 clamp(1.3rem,1.8vw,1.6rem)/1.15 var(--f-display);letter-spacing:-.025em;margin:clamp(24px,3vw,44px) 0 12px}
.pcard p{color:var(--ink-2)}
.bubble{position:relative;margin-top:auto;align-self:flex-start;max-width:100%;background:var(--soft);padding:14px 18px;border-radius:20px 20px 20px 6px;font:400 italic 1.3rem/1.25 var(--f-serif);color:var(--ink)}
.pcard p{margin-bottom:clamp(22px,2.6vw,34px)}
@media (min-width:860px){.problems{grid-template-columns:repeat(3,1fr)}}

/* ---------- Arbeitsteilung ---------- */
.division{display:grid;gap:20px;align-items:start}
.dcol{border-radius:calc(var(--rad) + 4px);padding:clamp(28px,3.4vw,52px)}
.dcol-me{background:var(--surface);border:1px solid var(--line)}
.dcol-you{background:var(--ink);color:var(--on-dark)}
.dcol .tag{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 var(--f-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.dcol-you .tag{color:var(--on-dark-2)}
.dlist li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.dcol-you .dlist li{border-color:rgba(255,255,255,.12)}
.dlist li:first-child{border-top:0}
.dlist b{display:block;font:700 1.2rem/1.25 var(--f-display);letter-spacing:-.02em;margin-bottom:6px}
.dlist p{color:var(--ink-2);font-size:16px}
.dcol-you .dlist p{color:var(--on-dark-2)}
.ic{display:block;width:26px;height:26px;flex:none}
span.ic{background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.ic-box{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--ink);transition:background-color .5s var(--ease),color .5s var(--ease)}
.dcol-you .ic-box{background:rgba(255,255,255,.08);color:var(--on-dark)}
.dcol-me .dlist li{transition:opacity .6s var(--ease)}
.js-motion .dcol-me .dlist b,.js-motion .dcol-me .dlist p{color:var(--ink-3);transition:color .6s var(--ease)}
.js-motion .dcol-me .dlist li.on b{color:var(--ink)}
.js-motion .dcol-me .dlist li.on p{color:var(--ink-2)}
.js-motion .dcol-me .dlist li .ic-box{opacity:.5;transition:opacity .6s,background-color .5s var(--ease),color .5s var(--ease)}
.js-motion .dcol-me .dlist li.on .ic-box{opacity:1}
.dcol-me .dlist li.on .ic-box{background:var(--accent);color:#fff}
.time-note{margin-top:20px;padding:22px 24px;border-radius:16px;background:rgba(255,255,255,.07);color:var(--on-dark-2);font-size:15.5px}
.time-note b{color:#fff;font-weight:600}
.time-note strong{display:block;font:800 clamp(2.4rem,4vw,3.4rem)/1 var(--f-display);letter-spacing:-.04em;color:#fff;margin-bottom:8px}
@media (min-width:960px){
  .division{grid-template-columns:7fr 5fr;gap:24px}
  .dcol-you{position:sticky;top:96px}
}

/* ---------- Arbeiten ---------- */
.works{padding-top:var(--sec)}
.case{position:relative;color:var(--on-dark);background:var(--dark);overflow:hidden;isolation:isolate}
.case-bg{position:absolute;inset:-12% 0;z-index:-1}
.case-bg img{width:100%;height:100%;object-fit:cover;opacity:.5;filter:blur(6px) saturate(1.15);transform:scale(1.08)}
.case-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,21,17,.55) 0%,rgba(16,21,17,.72) 45%,var(--dark) 92%)}
.case-inner{padding:clamp(80px,10vw,150px) 0 clamp(72px,9vw,128px)}
.case-head{display:grid;gap:24px;max-width:860px}
.case-head .h2{color:#fff}
.case-head .serif{color:#FF8A63}
.case-who{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;color:var(--on-dark-2)}
.case-who b{color:#fff;font-weight:600}
.case-serie{position:relative;margin:clamp(40px,6vw,80px) auto 0;max-width:1100px}
.case-serie img{width:100%;height:auto;filter:drop-shadow(0 40px 60px rgba(0,0,0,.45))}
.built{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;margin-top:clamp(40px,5vw,64px)}
.built div{background:rgba(16,21,17,.92);padding:20px 22px}
.built b{display:block;font:700 1.05rem/1.2 var(--f-display);letter-spacing:-.015em;color:#fff}
.built span{display:block;font-size:14px;line-height:1.4;margin-top:4px;color:var(--on-dark-2)}
@media (min-width:860px){.built{grid-template-columns:repeat(4,1fr)}}

.tabs{margin-top:clamp(64px,8vw,112px)}
.tablist{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px;margin:0 -4px 36px;scroll-snap-type:x mandatory}
.tablist::-webkit-scrollbar{display:none}
.tab{flex:none;scroll-snap-align:start;display:flex;align-items:center;gap:14px;padding:10px 20px 10px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);color:var(--on-dark-2);font-weight:500;font-size:15px;transition:background-color .35s,color .35s,border-color .35s}
.tab img{width:30px;height:42px;object-fit:cover;border-radius:3px}
.tab small{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.tab[aria-selected="true"]{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
.tab:hover:not([aria-selected="true"]){border-color:rgba(255,255,255,.4);color:#fff}
.tabpanel{display:grid;gap:36px}
.tabpanel[hidden]{display:none}
.tabpanel>*{min-width:0}
.tp-info h3{font:700 clamp(1.6rem,2.6vw,2.3rem)/1.05 var(--f-display);letter-spacing:-.03em;color:#fff;margin-bottom:16px}
.tp-info p{color:var(--on-dark-2);max-width:32em}
.specs{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin-top:28px;font-size:15px}
.specs dt{color:var(--on-dark-2)}
.specs dd{margin:0;color:#fff;font-weight:500}
.light .specs dt{color:var(--ink-3)}
.light .specs dd{color:var(--ink)}
@media (min-width:1024px){.tabpanel{grid-template-columns:4fr 8fr;gap:56px;align-items:center}}

.gallery{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 20px;margin:0 calc(var(--gutter)*-1);padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding:0 var(--gutter);-webkit-user-select:none;user-select:none}
.gallery::-webkit-scrollbar{display:none}
.gallery figure{flex:none;width:clamp(200px,58vw,300px);scroll-snap-align:start}
.gallery img{width:100%;height:auto;aspect-ratio:991/1400;object-fit:cover;border-radius:4px;box-shadow:0 18px 40px -16px rgba(0,0,0,.55);background:#1d241f;pointer-events:none}
.gallery figcaption{font-size:13px;color:var(--on-dark-2);margin-top:12px}
.light .gallery img{background:var(--soft);box-shadow:0 1px 2px rgba(20,20,20,.06),0 18px 40px -18px rgba(20,20,20,.35)}
.light .gallery figcaption{color:var(--ink-3)}
.gallery.is-dragging{scroll-snap-type:none}
.gal-hint{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--on-dark-2);margin-top:4px}
.gal-hint svg{width:28px;height:10px}
@media (min-width:1024px){.tabpanel .gallery{margin-right:calc(var(--gutter)*-1);margin-left:0;padding-left:2px}}

.cards{display:grid;gap:clamp(20px,2.4vw,32px);margin-top:clamp(56px,7vw,96px)}
.wcard{position:relative;display:grid;border-radius:calc(var(--rad) + 8px);background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:border-color .4s}
.wcard:hover{border-color:#D6D3C9}
.wcard-vis{position:relative;display:grid;place-items:center;padding:clamp(40px,5vw,72px) 24px;background:var(--soft);perspective:1200px;overflow:hidden;min-height:340px}
.wcard-glow{position:absolute;left:50%;top:52%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--glow,#333);opacity:.22;filter:blur(60px);transform:translate(-50%,-50%) scale(.9);transition:opacity .7s var(--ease),transform .9s var(--ease)}
.wcard:hover .wcard-glow{opacity:.38;transform:translate(-50%,-50%) scale(1.1)}
.wcard-book{position:relative;width:min(62%,300px);transform-style:preserve-3d;transition:transform .9s var(--ease);will-change:transform}
.wcard-book img{width:100%;height:auto;filter:drop-shadow(0 30px 30px rgba(20,20,20,.22))}
.wcard:hover .wcard-book{transform:rotateY(-14deg) rotateX(6deg) translateY(-8px)}
.wcard-txt{padding:clamp(28px,3.4vw,56px);display:flex;flex-direction:column}
.wcard-txt .eyebrow{margin-bottom:22px}
.wcard-txt h3{font:800 clamp(2rem,3.6vw,3.3rem)/1 var(--f-display);letter-spacing:-.04em}
.wcard-who{margin-top:14px;font-size:15.5px;color:var(--ink-2)}
.wcard-who b{display:block;font-weight:600;color:var(--ink)}
.wcard-txt>p{margin-top:24px;color:var(--ink-2);max-width:30em}
.wcard-meta{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 36px}
.chip{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:14px;color:var(--ink-2);background:var(--surface)}
.wcard-open{margin-top:auto;align-self:flex-start}
.wcard-open::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.wcard{isolation:isolate}.wcard-txt{position:static}
.wcard-open:focus-visible{outline:none}
.wcard:has(.wcard-open:focus-visible){outline:2px solid var(--accent);outline-offset:4px}
.wcard .soon{position:absolute;top:20px;left:20px;z-index:2;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:999px}
@media (min-width:860px){
  .wcard{grid-template-columns:1.05fr 1fr}
  .wcard:nth-child(even) .wcard-vis{order:2}
  .wcard-vis{min-height:560px}
}

.en-row{margin-top:clamp(48px,6vw,72px);padding-top:28px;border-top:1px solid var(--line);display:grid;gap:20px}
.en-row h3{font:600 13px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.en-list{display:grid;gap:12px}
.en-item{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:18px;padding:12px 16px 12px 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-align:left;width:100%;transition:border-color .3s,transform .4s var(--ease)}
.en-item:hover{border-color:#CFCBBF}
.en-item img{width:52px;height:auto;border-radius:3px;box-shadow:0 6px 14px -6px rgba(20,20,20,.35)}
.en-item b{display:block;font:700 1.05rem/1.2 var(--f-display);letter-spacing:-.015em}
.en-item span{font-size:14px;color:var(--ink-3)}
.en-item .arr{width:18px;height:18px;color:var(--ink-3)}
@media (min-width:860px){.en-row{grid-template-columns:200px 1fr;align-items:center}.en-list{grid-template-columns:1fr 1fr}}

/* ---------- Projekt-Bausteine (Projektseiten) ---------- */
.p-hero{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
.p-book{position:relative;display:grid;place-items:center;background:var(--soft);border-radius:calc(var(--rad) + 8px);padding:clamp(36px,5vw,72px) 24px;overflow:hidden}
.p-book .wcard-glow{opacity:.3}
.p-book img{position:relative;width:min(70%,340px);filter:drop-shadow(0 30px 30px rgba(20,20,20,.22))}
.p-info h2{font:800 clamp(2.3rem,5vw,4.4rem)/.98 var(--f-display);letter-spacing:-.04em;margin-bottom:20px}
.p-info>p{color:var(--ink-2);font-size:1.12rem;max-width:30em}
.p-info .specs{grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}
.p-duo{display:grid;gap:20px;margin-top:clamp(20px,3vw,32px)}
.p-duo figure{background:var(--soft);border-radius:calc(var(--rad) + 8px);display:grid;place-items:center;padding:clamp(24px,4vw,56px);overflow:hidden}
.p-duo .open img{width:100%;max-width:820px}
.p-duo .phone img{width:min(70%,300px)}
.p-gal{margin-top:clamp(56px,7vw,96px)}
.p-gal h3{font:700 1.4rem/1.2 var(--f-display);letter-spacing:-.02em;margin-bottom:24px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.p-gal h3 span{font:400 14px/1 var(--f-text);color:var(--ink-3);letter-spacing:0}
@media (min-width:960px){
  .p-hero{grid-template-columns:1.1fr 1fr}
  .p-duo{grid-template-columns:1.6fr 1fr}
}

/* ---------- Testimonials ---------- */
.testis{background:var(--soft)}
.tslider{position:relative}
.tslides{display:grid}
.tslide{grid-area:1/1;display:grid;gap:clamp(32px,5vw,80px);align-items:center;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),visibility 0s .8s}
.tslide.is-active{opacity:1;visibility:visible;transition:opacity .8s var(--ease) .15s,visibility 0s}
.tslide-cover{position:relative;width:min(58%,300px);margin:0 auto}
.tslide-cover img{width:100%;border-radius:4px;box-shadow:0 2px 4px rgba(20,20,20,.08),0 40px 60px -24px rgba(20,20,20,.45);transform:rotate(-4deg);transition:transform 1.1s var(--ease)}
.tslide.is-active .tslide-cover img{transform:rotate(-2deg)}
.tslide blockquote p{font:400 italic clamp(1.65rem,3vw,2.8rem)/1.16 var(--f-serif);letter-spacing:-.012em;text-wrap:pretty}
.tslide.is-long blockquote p{font-size:clamp(1.4rem,2.3vw,2.2rem);line-height:1.2}
.tslide blockquote p::before{content:"„"}
.tslide blockquote p::after{content:"“"}
.tslide figcaption{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:15px;color:var(--ink-2)}
.tslide figcaption b{color:var(--ink);font-weight:600;font-size:16px}
.tslide figcaption .dot{width:4px;height:4px;border-radius:50%;background:var(--ink-3)}
.tnav{display:flex;align-items:center;gap:16px;margin-top:clamp(40px,5vw,64px)}
.tnav[hidden]{display:none}
.tbtn{width:56px;height:56px;border-radius:50%;border:1px solid #CFCBBF;display:grid;place-items:center;transition:background-color .3s,color .3s,border-color .3s}
.tbtn:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.tbtn svg{width:20px;height:20px}
.tcount{font:500 14px/1 var(--f-text);color:var(--ink-3);letter-spacing:.06em;margin-left:8px;font-variant-numeric:tabular-nums}
.tcount b{color:var(--ink);font-weight:600}
@media (min-width:900px){
  .tslide{grid-template-columns:4fr 8fr}
  .tslide-cover{width:100%;max-width:340px}
  .tnav{margin-left:calc(33.333% + clamp(32px,5vw,80px)/1.5)}
}

/* ---------- Ablauf ---------- */
.process-grid{display:grid;gap:56px}
.steps{position:relative;padding-left:76px}
.steps-line{position:absolute;left:25px;top:26px;bottom:26px;width:2px;background:var(--line);border-radius:2px;overflow:hidden}
.steps-line i{position:absolute;inset:0;background:var(--accent);transform-origin:50% 0;transform:scaleY(1)}
.js-motion .steps-line i{transform:scaleY(0)}
.step{position:relative;padding:0 0 clamp(44px,5vw,64px)}
.step:last-child{padding-bottom:0}
.step .ic-box{position:absolute;left:-76px;top:0;background:var(--bg);border:1.5px solid var(--line);color:var(--ink-3);transition:background-color .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease)}
.step.on .ic-box,.no-motion .step .ic-box{border-color:var(--accent);color:var(--accent-ink)}
.step .no{display:block;font:500 13px/1 var(--f-text);letter-spacing:.1em;color:var(--ink-3);padding-top:4px;margin-bottom:12px}
.step h3{font:700 clamp(1.4rem,2.2vw,1.9rem)/1.1 var(--f-display);letter-spacing:-.03em;margin-bottom:10px}
.step p{color:var(--ink-2);max-width:30em}
.formats{margin-top:clamp(64px,8vw,104px);padding-top:32px;border-top:1px solid var(--line);display:grid;gap:20px}
.formats p{font-weight:600}
.formats ul{display:flex;flex-wrap:wrap;gap:6px 0;font:600 clamp(1.05rem,1.4vw,1.25rem)/1.4 var(--f-display);letter-spacing:-.015em}
.formats li{display:flex;align-items:center}
.formats li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin:0 16px}
@media (min-width:960px){
  .process-grid{grid-template-columns:5fr 7fr;gap:80px}
  .process-grid .sec-head{position:sticky;top:120px;align-self:start;margin-bottom:0}
  .formats{grid-template-columns:200px 1fr;align-items:center}
}

/* ---------- Modell ---------- */
.model{background:var(--ink);color:var(--on-dark)}
.model .h2{color:#fff}
.model .serif{color:#FF8A63}
.model .lead{color:var(--on-dark-2)}
.model-grid{display:grid;gap:clamp(48px,6vw,96px);align-items:center}
.mpoints{display:grid;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,.12)}
.mpoints li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);color:var(--on-dark)}
.mpoints .ic{width:22px;height:22px;flex:none;margin-top:2px;color:#FF8A63}
.flow{position:relative;background:#1C1C1B;border:1px solid rgba(255,255,255,.08);border-radius:calc(var(--rad) + 8px);padding:clamp(24px,3.6vw,48px)}
.flow-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.flow-node{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;text-align:center;font-size:13.5px;color:var(--on-dark-2)}
.flow-node .ic-box{width:60px;height:60px;border-radius:50%;background:#262625;color:#fff;border:1px solid rgba(255,255,255,.1)}
.flow-node.whop .ic-box{background:var(--accent);border-color:var(--accent)}
.flow-line{position:absolute;left:16.6%;right:16.6%;top:30px;height:1.5px;background:rgba(255,255,255,.14)}
.flow-line i{position:absolute;top:-3px;left:0;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#FF8A63;box-shadow:0 0 14px #FF8A63;opacity:0}
.flow-split{margin-top:40px;padding-top:32px;border-top:1px dashed rgba(255,255,255,.14);display:grid;gap:18px}
.flow-split p{font-size:13.5px;color:var(--on-dark-2);letter-spacing:.02em}
.bar{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:16px}
.bar span{font:700 1.05rem/1 var(--f-display);color:#fff}
.bar div{height:44px;border-radius:12px;background:rgba(255,255,255,.06);overflow:hidden}
.bar i{display:block;height:100%;border-radius:12px;transform-origin:0 50%}
.bar.you i{width:100%;background:linear-gradient(90deg,#FF8A63,var(--accent))}
.bar.me i{width:23%;background:#5B5B57}
.flow-note{margin-top:26px;display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--on-dark-2)}
.flow-note .ic{width:20px;height:20px;color:#FF8A63;flex:none}
@media (min-width:1024px){.model-grid{grid-template-columns:1fr 1fr}}

/* ---------- Passt / Passt nicht ---------- */
.fit-grid{display:grid;gap:20px}
.fitcol{border-radius:calc(var(--rad) + 4px);padding:clamp(28px,3.4vw,48px);border:1px solid var(--line);background:var(--surface)}
.fitcol.no{background:transparent}
.fitcol h3{display:flex;align-items:center;gap:12px;font:700 1.35rem/1 var(--f-display);letter-spacing:-.02em;margin-bottom:12px}
.fitcol li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line);color:var(--ink-2)}
.fitcol li:first-child{border-top:0}
.mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;margin-top:1px}
.mark svg{width:13px;height:13px}
.mark.y{background:var(--accent-soft);color:var(--accent-ink)}
.mark.n{background:var(--soft);color:var(--ink-3)}
@media (min-width:860px){.fit-grid{grid-template-columns:1fr 1fr}}

/* ---------- Über ---------- */
.about-grid{display:grid;gap:clamp(40px,6vw,96px);align-items:center}
.about-txt p{color:var(--ink-2);font-size:1.08rem;margin-top:20px;max-width:34em}
.about-txt .h2{margin-bottom:12px}
.about-sign{display:flex;align-items:center;gap:16px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-3)}
.about-sign b{font:400 italic 1.8rem/1 var(--f-serif);color:var(--ink)}
.about-txt .about-lead{font:600 clamp(1.4rem,2.4vw,2rem)/1.3 var(--f-display);letter-spacing:-.025em;color:var(--ink);margin-top:0;max-width:24em;text-wrap:pretty}
@media (min-width:960px){.about-grid{grid-template-columns:5fr 7fr;align-items:start;gap:80px}.about-grid .sec-head{position:sticky;top:120px;margin-bottom:0}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;gap:40px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer;font:700 clamp(1.15rem,1.7vw,1.45rem)/1.25 var(--f-display);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover .pm{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.pm{position:relative;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid #CFCBBF;transition:background-color .3s,transform .5s var(--ease),border-color .3s}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.6px;margin:-.8px 0 0 -7px;background:currentColor;transition:transform .5s var(--ease)}
.pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq .ans{overflow:hidden}
.faq .ans p{padding:0 56px 30px 0;color:var(--ink-2);max-width:42em}
@media (min-width:960px){.faq-grid{grid-template-columns:5fr 7fr;gap:80px}.faq-grid .sec-head{margin-bottom:0}}

/* ---------- Anfrage ---------- */
.contact{background:var(--ink);color:var(--on-dark)}
.contact .h2{color:#fff}
.contact .serif{color:#FF8A63}
.contact .lead{color:var(--on-dark-2)}
.contact-grid{display:grid;gap:56px;align-items:start}
.after{display:grid;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,.12)}
.after li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);color:var(--on-dark-2);font-size:15.5px}
.after li>span:first-child{font:500 13px/1.7 var(--f-text);color:#FF8A63;letter-spacing:.06em}
.after b{color:#fff;font-weight:600}
.alt{margin-top:28px;font-size:15px;color:var(--on-dark-2)}
.alt a{color:#fff}
.formcard{position:relative;background:var(--bg);color:var(--ink);border-radius:calc(var(--rad) + 8px);padding:clamp(24px,3.4vw,48px)}
.form{display:grid;gap:22px}
.row2{display:grid;gap:22px}
@media (min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:8px;position:relative}
.field>label,.fs-legend{font-size:14px;font-weight:600;color:var(--ink)}
.field small{font-weight:400;color:var(--ink-3)}
.input{width:100%;height:54px;padding:0 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:16px;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
textarea.input{height:auto;min-height:110px;padding:14px 16px;resize:vertical;line-height:1.5}
select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23141414' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.input::placeholder{color:#9A9A93}
.input:hover{border-color:#CFCBBF}
.input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(20,20,20,.07)}
.field.err .input{border-color:#C7321B;box-shadow:0 0 0 4px rgba(199,50,27,.08)}
.ferr{display:none;font-size:13.5px;color:#B3290F;font-weight:500}
.field.err .ferr{display:block}
fieldset{border:0;margin:0;padding:0;min-width:0}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-size:15px;font-weight:500;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.seg label:hover{border-color:#CFCBBF}
.seg input:checked+label{background:var(--ink);border-color:var(--ink);color:#fff}
.seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}
.consent{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:14px;color:var(--ink-2);line-height:1.5;cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;width:24px;height:24px;border-radius:7px;border:1.5px solid #BDB9AD;background:var(--surface);margin:0;display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.consent input::after{content:"";width:11px;height:6px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .25s var(--ease)}
.consent input:checked{background:var(--ink);border-color:var(--ink)}
.consent input:checked::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.consent a{text-decoration:underline;text-underline-offset:2px}
.field.err .consent input{border-color:#C7321B}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0}
.submit{width:100%;height:62px;font-size:17px}
.submit[aria-busy="true"]{pointer-events:none}
.submit .spin{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}
.submit[aria-busy="true"] .spin{display:block}
.submit[aria-busy="true"] .arr{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.form-msg{font-size:14.5px;border-radius:12px;padding:0;color:#B3290F}
.form-msg:not(:empty){padding:14px 16px;background:#FCEDE8}
.form-msg a{text-decoration:underline}
.thanks{display:none;text-align:left;padding:clamp(8px,2vw,24px) 0}
.thanks .tick{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin-bottom:28px}
.thanks .tick svg{width:28px;height:28px}
.thanks h3{font:400 italic clamp(2.2rem,4vw,3.2rem)/1.05 var(--f-serif);margin-bottom:16px}
.thanks p{color:var(--ink-2);max-width:28em}
.formcard.is-done .form{display:none}
.formcard.is-done .thanks{display:block}
@media (min-width:1024px){.contact-grid{grid-template-columns:5fr 7fr;gap:80px}.contact-grid>div:first-child{position:sticky;top:120px}}

/* ---------- Footer ---------- */
.foot{padding:clamp(72px,9vw,128px) 0 32px}
.foot-top{display:grid;gap:40px;padding-bottom:clamp(48px,7vw,96px)}
.foot-top h2{font:800 clamp(2rem,4.4vw,3.8rem)/1 var(--f-display);letter-spacing:-.04em;max-width:13em}
.foot-top h2 .serif{font-size:1.06em}
.foot-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;font-size:15.5px}
.foot-cols h3{font:600 12.5px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.foot-cols li+li{margin-top:8px}
.foot-logo{display:block;width:100%;padding:clamp(20px,3vw,40px) 0;border-top:1px solid var(--line)}
.foot-logo img{width:100%;height:auto}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-3);padding-top:20px}
@media (min-width:860px){.foot-top{grid-template-columns:1.4fr 1fr;align-items:end}}

/* ---------- Sticky-CTA (Handy) ---------- */
.mcta{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:80;transform:translateY(140%);transition:transform .6s var(--ease)}
.mcta .btn{width:100%;background:var(--accent);color:var(--ink);box-shadow:0 18px 40px -12px rgba(20,20,20,.5)}
.mcta .btn::before{background:var(--ink)}
.mcta .btn:hover{color:#fff}
.mcta.is-on{transform:none}
@media (min-width:960px){.mcta{display:none}}

/* ---------- Cursor: immer Kreis mit Punkt in der Mitte ---------- */
/* Punkt (--dot) ist orange. Über einem gefüllten Button tauschen beide die Farbe:
   der Button wird orange, der Punkt nimmt die Ruhefarbe des Buttons an.
   Der Ring (--c) folgt der Textfarbe unter dem Zeiger, damit er überall sichtbar bleibt. */
.cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;display:none;--c:var(--ink);--dot:var(--accent);transition:opacity .25s}
.has-cursor .cursor{display:block}
.c-dot,.c-ring{position:fixed;left:0;top:0;border-radius:50%}
.c-dot{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--dot);transition:background-color .3s,width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease)}
.c-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid var(--c);opacity:.45;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),border-color .3s,opacity .3s}
.c-ring span,.c-ring svg{display:none}
.cursor.is-link .c-ring{width:58px;height:58px;margin:-29px 0 0 -29px;opacity:1}
.cursor.is-view .c-ring{width:84px;height:84px;margin:-42px 0 0 -42px;opacity:1}
.cursor.is-view .c-dot{width:10px;height:10px;margin:-5px 0 0 -5px}
.cursor.is-swap .c-dot{width:10px;height:10px;margin:-5px 0 0 -5px}
.cursor.is-down .c-ring{width:30px;height:30px;margin:-15px 0 0 -15px}
.cursor.is-text,.cursor.is-hidden{opacity:0}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor label,.has-cursor summary,.has-cursor [data-cursor]{cursor:none}
.has-cursor input,.has-cursor textarea,.has-cursor select{cursor:auto}
.has-cursor input[type="checkbox"]{cursor:none}
/* ---------- Reveal-Grundzustände (nur mit JS + Bewegung) ---------- */
/* Hero-Intro rein per CSS: läuft ab dem ersten Paint, unabhängig von JS */
@property --r{syntax:"<angle>";inherits:false;initial-value:0deg}
@property --x{syntax:"<percentage>";inherits:false;initial-value:0%}
@media (prefers-reduced-motion:no-preference){
  .hero .h1 .line{animation:lineUp 1.2s var(--ease) backwards}
  .hero .h1 .line+.line{animation-delay:.12s}
  .hero [data-hero]{animation:fadeUp 1.1s var(--ease) backwards}
  .hero .hero-status{animation-delay:0s}
  .hero .lead[data-hero]{animation-delay:.32s}
  .hero .hero-ctas{animation-delay:.42s}
  .hero .facts{animation-delay:.7s}
  .fan-item{animation:fanOut 1.6s var(--ease) .35s backwards}
  .fan-card{animation:cardIn 1.1s var(--ease) backwards}
  .fan-item:nth-of-type(2) .fan-card{animation-delay:.05s}
  .fan-item:nth-of-type(3) .fan-card{animation-delay:.1s}
  .fan-item:nth-of-type(4) .fan-card{animation-delay:.15s}
  .fan-item:nth-of-type(5) .fan-card{animation-delay:.2s}
}
@keyframes lineUp{from{clip-path:inset(0 0 100% 0);transform:translateY(.45em)}to{clip-path:inset(0 0 -20% 0);transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}}
@keyframes fanOut{from{--r:0deg;--x:0%}}
@keyframes cardIn{from{opacity:0;transform:translateY(60px)}}
[data-split] [class*="line-mask"]{padding:.02em .12em .22em;margin:-.02em -.12em -.22em}
.split-line{display:block}

.p-cta{margin-top:clamp(56px,7vw,96px);padding:clamp(32px,4vw,56px);border-radius:calc(var(--rad) + 8px);background:var(--ink);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.p-cta .h3{color:#fff}
.p-cta .serif{color:#FF8A63}
.p-cta .btn-primary{background:#fff;color:var(--ink)}

/* ---------- Unterseiten ---------- */
.legal{padding:calc(var(--nav-h) + clamp(48px,8vw,112px)) 0 clamp(80px,10vw,140px)}
.legal .wrap{max-width:calc(820px + 2*var(--gutter))}
.legal h1{margin-bottom:clamp(40px,5vw,64px)}
.legal h2{font:700 1.35rem/1.25 var(--f-display);letter-spacing:-.02em;margin:48px 0 14px}
.legal p,.legal li{color:var(--ink-2);margin-top:12px}
.legal ul{list-style:disc;padding-left:22px}
.legal a{text-decoration:underline;text-underline-offset:3px}
.todo{display:inline-block;background:#FFF2B8;color:#5C4400;border:1.5px dashed #D9A300;padding:2px 10px;border-radius:6px;font-weight:600;font-size:.94em}
.legal .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(24px,3vw,36px);margin-top:12px}
.back{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
.back svg{width:18px;height:18px}

/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .marquee-track{transform:none !important}
}

/* ---------- Icons (Maske, Farbe über currentColor) ---------- */
.i-check{--i:url(../medien/icons/01-check.svg)}
.i-idee{--i:url(../medien/icons/02-idee.svg)}
.i-bau{--i:url(../medien/icons/03-bau.svg)}
.i-freigabe{--i:url(../medien/icons/04-freigabe.svg)}
.i-launch{--i:url(../medien/icons/05-launch.svg)}
.i-umsatz{--i:url(../medien/icons/umsatz.svg)}
.i-sprach{--i:url(../medien/icons/sprachnachricht.svg)}
.i-risiko{--i:url(../medien/icons/kein-risiko.svg)}
html:not(.js) .nav{background:rgba(250,250,247,.92);box-shadow:0 1px 0 var(--line)}


/* ============================================================
   Runde 2: Links statt Panel, Seitenübergang, Projektseiten
   ============================================================ */
.hero-status{color:var(--ink-2)}
.hero-status:hover{color:var(--ink)}
.fan-item:focus-visible{outline:none}
.fan-item:focus-visible .fan-card{outline:2px solid var(--accent);outline-offset:4px}
a.case-serie{display:block}
a.case-serie img{transition:transform 1s var(--ease)}
a.case-serie:hover img{transform:translateY(-8px) scale(1.01)}
.tp-link{margin-top:32px}
a.tslide-cover{display:block}
a.tslide-cover:hover img{transform:rotate(0deg) translateY(-6px)}

/* Vorschau: Innenseiten blenden nach unten aus */
.gallery figure.veil{position:relative}
.gallery figure.veil img{-webkit-mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.35) 62%,transparent 90%);mask-image:linear-gradient(180deg,#000 30%,rgba(0,0,0,.35) 62%,transparent 90%);box-shadow:none}
.gallery figure.veil figcaption::after{content:" · Vorschau";opacity:.8}

/* Seitenübergang */
.curtain{position:fixed;inset:0;z-index:160;background:var(--ink);pointer-events:none;transform:translateY(100%)}
.curtain::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--accent);opacity:0;transition:opacity .3s .2s}
.is-leaving .curtain{transform:translateY(0);transition:transform .5s cubic-bezier(.7,0,.3,1)}
.is-leaving .curtain::after{opacity:1}
.from-nav .curtain{animation:curtainOut .8s cubic-bezier(.7,0,.3,1) .05s both}
@keyframes curtainOut{from{transform:translateY(0)}to{transform:translateY(-100%)}}

/* ---------- Projektseiten ---------- */
.project{padding-top:calc(var(--nav-h) + clamp(24px,4vw,56px))}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;color:var(--ink-3);margin-bottom:clamp(28px,4vw,48px)}
.crumbs a{color:var(--ink-2)}
.crumbs span[aria-current]{color:var(--ink);font-weight:500}
.crumbs i{font-style:normal;color:#BDB9AD}
.project .p-hero{align-items:center}
.project .p-info h1{font:800 clamp(2.5rem,5.6vw,5rem)/.96 var(--f-display);letter-spacing:-.045em;margin-bottom:20px;text-wrap:balance}
.project .p-info .who{font-size:16px;color:var(--ink-2);margin-bottom:22px}
.project .p-info .who b{color:var(--ink);font-weight:600}
.project .p-info .specs{grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}
.p-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:36px}
.project .p-book{min-height:420px}
.project .p-book img{width:min(66%,380px)}
.psec{margin-top:clamp(72px,9vw,128px)}
.psec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:clamp(24px,3vw,36px)}
.psec-head h2{font:800 clamp(1.8rem,3.4vw,2.9rem)/1 var(--f-display);letter-spacing:-.04em}
.psec-head p{color:var(--ink-3);font-size:15px;max-width:30em}
.project .gallery figure{width:clamp(220px,62vw,340px)}
.project .gallery{margin-left:calc(var(--gutter)*-1)}
.pnote{margin-top:12px;font-size:14.5px;color:var(--ink-3)}
.pquote{max-width:980px}
.pquote blockquote p{font:400 italic clamp(1.6rem,3vw,2.6rem)/1.18 var(--f-serif);letter-spacing:-.012em;text-wrap:pretty}
.pquote.is-long blockquote p{font-size:clamp(1.35rem,2.2vw,2.05rem);line-height:1.22}
.pquote blockquote p::before{content:"„"}
.pquote blockquote p::after{content:"“"}
.pquote figcaption{margin-top:24px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15px;color:var(--ink-2)}
.pquote figcaption b{color:var(--ink);font-weight:600}
.quote-box{background:var(--soft);border-radius:calc(var(--rad) + 8px);padding:clamp(32px,5vw,72px)}
.series{display:grid;gap:16px}
.scard{position:relative;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:20px;padding:14px 20px 14px 14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:border-color .3s}
.scard:hover{border-color:#CFCBBF}
.scard img{width:72px;height:auto;border-radius:3px;box-shadow:0 8px 18px -8px rgba(20,20,20,.4)}
.scard small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.scard b{font:700 1.15rem/1.2 var(--f-display);letter-spacing:-.02em}
.scard[aria-current]{background:var(--soft)}
.scard[aria-current] .arr{display:none}
.scard em{font-style:normal;font-size:13px;color:var(--ink-3)}
@media (min-width:860px){.series{grid-template-columns:repeat(3,1fr)}.scard{grid-template-columns:64px 1fr auto}}
.nextp{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:clamp(28px,4vw,48px);border-radius:calc(var(--rad) + 8px);border:1px solid var(--line);background:var(--surface);transition:border-color .3s}
.nextp:hover{border-color:#CFCBBF}
.nextp small{display:block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.nextp b{display:block;font:800 clamp(1.8rem,4vw,3.4rem)/1 var(--f-display);letter-spacing:-.04em}
.nextp span.c{display:block;margin-top:10px;color:var(--ink-2)}
.nextp img{width:clamp(80px,12vw,140px);height:auto;border-radius:4px;box-shadow:0 20px 40px -18px rgba(20,20,20,.5);transform:rotate(4deg);transition:transform .8s var(--ease)}
.nextp:hover img{transform:rotate(0deg) translateY(-6px)}
.built.light{background:var(--line);border-color:var(--line)}
.built.light div{background:var(--surface)}
.built.light b{color:var(--ink)}
.built.light span{color:var(--ink-3)}
.serie-hero{background:var(--dark);border-radius:calc(var(--rad) + 8px);padding:clamp(28px,5vw,72px);overflow:hidden;position:relative;isolation:isolate}
.serie-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;filter:blur(6px);transform:scale(1.08);z-index:-1}


/* Arbeitsteilung: Icon-Kästchen wird beim Scrollen zum Haken */
.dlist .ic-box{position:relative}
.dlist .ic-box .ic,.dlist .ic-tick{position:absolute;left:50%;top:50%;margin:-13px 0 0 -13px;width:26px;height:26px;transition:opacity .35s var(--ease),transform .5s var(--ease)}
.dlist .ic-tick path{stroke-dasharray:22;stroke-dashoffset:22;transition:stroke-dashoffset .5s var(--ease) .15s}
.dlist .ic-tick{opacity:0;transform:scale(.6)}
.dlist li.on .ic-box .ic,.no-motion .dlist .ic-box .ic,html:not(.js) .dlist .ic-box .ic{opacity:0;transform:scale(.6)}
.dlist li.on .ic-tick,.no-motion .dlist .ic-tick,html:not(.js) .dlist .ic-tick{opacity:1;transform:none}
.dlist li.on .ic-tick path,.no-motion .dlist .ic-tick path,html:not(.js) .dlist .ic-tick path{stroke-dashoffset:0}
.dcol-me .dlist li.on .ic-box,.no-motion .dcol-me .ic-box{background:var(--accent);color:#fff}
.dcol-you .dlist li.on .ic-box,.no-motion .dcol-you .ic-box{background:#fff;color:var(--ink)}
.dcol-you .dlist .ic-box{transition:background-color .5s var(--ease),color .5s var(--ease)}
.project .p-buy{margin-top:18px}.project .p-buy .tlink{color:var(--ink)}
/* ---------- Unterseiten und kurze Startseite (17.10.2026) ---------- */
.subpage{padding-top:var(--nav-h)}
.sub-hero{padding:clamp(40px,7vw,96px) 0 clamp(56px,7vw,96px)}
.sub-hero .lead{max-width:34em;margin-top:28px}
.sub-hero+.sec,.sub-hero+.works{padding-top:0}
.sub-top{height:clamp(24px,5vw,64px)}
.sub-cta{padding-top:0}
.home-facts{margin-top:0}
.home-more{margin-top:clamp(28px,4vw,40px)}
@media (min-width:860px){.home-list{grid-template-columns:repeat(3,1fr)}}
.home-facts .fact{display:block}.home-facts .fact span{display:block;text-align:left;margin-top:6px}

/* ---------- Runde 3 (17.10.2026) ---------- */
/* Hero: Cover beim Hover aus dem Fächer ziehen */
.fan-card{transition:translate .55s var(--ease),scale .55s var(--ease),box-shadow .55s var(--ease),filter .45s var(--ease),opacity .45s var(--ease)}
.fan-item.is-hot{z-index:10}
.fan-item.is-hot .fan-card{translate:0 -16%;scale:1.06;box-shadow:0 2px 3px rgba(20,20,20,.1),0 34px 60px -14px rgba(20,20,20,.45),0 70px 100px -40px rgba(20,20,20,.3)}
.fan.has-hot .fan-item:not(.is-hot) .fan-card{filter:saturate(.55) brightness(.9);opacity:.72}
.fan-cap{position:absolute;left:0;right:0;bottom:-22px;z-index:11;display:flex;justify-content:center;pointer-events:none}
.fan-cap span{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;color:var(--ink-2);box-shadow:0 10px 24px -14px rgba(20,20,20,.35);opacity:0;translate:0 8px;transition:opacity .35s var(--ease),translate .45s var(--ease)}
.fan-cap span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.fan-cap b{color:var(--ink);font-weight:600}
.fan-cap.is-on span{opacity:1;translate:0 0}
@media (hover:none){.fan-cap{display:none}}
.fan-hit{position:absolute;inset:0;z-index:20;pointer-events:none}
.fan-hit a{position:absolute;display:block;pointer-events:auto}
.fan.has-hit .fan-item{pointer-events:none}

/* Stimmen: Abstand zum Farbwechsel, Nachbarsektionen mit eigenem Luftraum */
.testis{padding:clamp(88px,11vw,152px) 0}
.testis+.home-how{padding-top:clamp(88px,11vw,152px)}

/* Projekte-Seite: hell und ruhig wie die Startseite */
.works>.wrap>.cards:first-child{margin-top:0}
.works>.wrap>.cards+.cards{margin-top:clamp(20px,2.4vw,32px)}
.wcard-serie .wcard-book{width:min(96%,660px)}
.wcard-serie:hover .wcard-book{transform:translateY(-8px) scale(1.015)}
.wbands{display:grid;gap:8px;margin:28px 0 36px}
.wband{position:relative;z-index:2;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:14px;padding:8px 16px 8px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-weight:600;font-size:15px;transition:border-color .3s,background-color .3s}
.wband:hover{border-color:#CFCBBF;background:var(--soft)}
.wband img{width:30px;height:auto;border-radius:2px;box-shadow:0 4px 10px -4px rgba(20,20,20,.4)}
.wband small{display:block;font:500 11px/1.3 var(--f-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}

/* Wechsel links/rechts über beide Kartenblöcke hinweg (Reihe steht vorne) */
@media (min-width:860px){
  #work-cards .wcard:nth-child(odd) .wcard-vis{order:2}
  #work-cards .wcard:nth-child(even) .wcard-vis{order:0}
}
/* Eyebrows in Karten wurden von ".wcard-txt>p" grau überschrieben */
.wcard-txt>.eyebrow,.p-info>.eyebrow{color:var(--accent-ink)}
@media (max-width:859px){.wcard-serie .wcard-vis{min-height:0}}
@media (max-width:899px){.tslide-cover{width:min(44%,220px)}}

/* Kleine Textbuttons: beim Hover orange (Punkt im Cursor nimmt die alte Schriftfarbe an) */
:root{--link-hover:var(--accent)}
.on-dark,.contact,.mmenu,.p-cta,.model,.dcol-you{--link-hover:#FF8A63}
.tlink{transition:color .3s var(--ease)}
.tlink:hover,.ulink:hover,.ulink:focus-visible,.hero-status:hover,.hero-status:hover .ulink{color:var(--link-hover) !important}

/* Große Buttons bewegen sich nicht: nur Farbwechsel (Füllung blendet ein statt hochzuwischen) */
.btn{transition:background-color .35s var(--ease),color .35s var(--ease)}
.btn::before{transform:none !important;opacity:0;transition:opacity .35s var(--ease) !important}
.btn:hover::before,.btn:focus-visible::before{opacity:1}

