/* byom – Website. Schriften liegen lokal in /fonts (keine Verbindung zu Google). */
@font-face{font-family:"Instrument Sans";font-weight:400;font-display:swap;src:url(fonts/InstrumentSans_400Regular.ttf) format("truetype")}
@font-face{font-family:"Instrument Sans";font-weight:600;font-display:swap;src:url(fonts/InstrumentSans_600SemiBold.ttf) format("truetype")}
@font-face{font-family:"Instrument Sans";font-weight:700;font-display:swap;src:url(fonts/InstrumentSans_700Bold.ttf) format("truetype")}
@font-face{font-family:Newsreader;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/Newsreader_400Regular.ttf) format("truetype")}
@font-face{font-family:Newsreader;font-weight:400;font-style:italic;font-display:swap;src:url(fonts/Newsreader_400Regular_Italic.ttf) format("truetype")}
@font-face{font-family:Newsreader;font-weight:600;font-style:normal;font-display:swap;src:url(fonts/Newsreader_600SemiBold.ttf) format("truetype")}
@font-face{font-family:Caveat;font-weight:600;font-display:swap;src:url(fonts/Caveat_600SemiBold.ttf) format("truetype")}

:root{--red:#7E0A0A;--cream:#F5F0E5;--paper:#FBFAF7;--blue:#D4E4EF;--blue-deep:#BBD5E7;--ink:#1E1C1C;--soft:#5E5A57;--choc:#2A0E0B;--line:rgba(30,28,28,.14);--max:1160px}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:400 18px/1.6 "Instrument Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}

/* Sprachen: beide Texte stehen im HTML, einer wird ausgeblendet */
html:not([lang=de]) [lang=de]{display:none!important}
html[lang=de] [lang=en]{display:none!important}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.hand{font:600 26px/1.1 Caveat,cursive;color:var(--red);letter-spacing:.01em}
h1,h2,h3{font-family:"Instrument Sans",sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.02}
h1{font-size:clamp(44px,7.4vw,92px)}
h2{font-size:clamp(34px,4.6vw,58px)}
h3{font-size:26px;letter-spacing:-.02em;line-height:1.15}
em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400;color:var(--red);letter-spacing:-.01em}
.lead{font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--soft);max-width:640px}
.eyebrow{font:600 13px/1 "Instrument Sans";letter-spacing:.14em;text-transform:uppercase;opacity:.6}

/* Hinweisleiste */
.bar{background:var(--blue);text-align:center;font:600 15px/1.3 "Instrument Sans";padding:12px 16px}
.bar a{color:var(--red)}

/* Kopf */
header.top{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.logo{font:600 28px Newsreader,serif;text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.logo i{font-weight:400;font-size:21px}
.nav ul{display:flex;gap:26px;list-style:none;padding:0;font:600 15px "Instrument Sans"}
.nav ul a{text-decoration:none;opacity:.75}.nav ul a:hover{opacity:1}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;font:600 13px "Instrument Sans"}
.lang button{border:0;background:none;padding:6px 11px;border-radius:99px;cursor:pointer;color:var(--soft);font:inherit}
html:not([lang=de]) .lang [data-l=en],html[lang=de] .lang [data-l=de]{background:var(--ink);color:var(--paper)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:var(--cream);text-decoration:none;font:600 17px/1 "Instrument Sans";padding:17px 28px;border-radius:99px;border:0;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px);background:#a30d0d}
.btn.sm{padding:12px 20px;font-size:15px}
.btn.off{background:var(--ink);cursor:default}.btn.off:hover{transform:none;background:var(--ink)}
.link{font:600 16px "Instrument Sans";text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:2px}

/* Hero */
.hero{padding:72px 0 40px}
.hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.hero h1{margin:14px 0 24px}
.hero .cta{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:32px}
.hero small{display:block;margin-top:18px;color:var(--soft);font-size:15px}
.phone{width:310px;margin:0 auto;border-radius:44px;background:#141212;padding:9px;box-shadow:0 30px 70px rgba(42,14,11,.25);transform:rotate(2deg)}
.screen{background:var(--paper);border-radius:36px;padding:30px 20px 24px;min-height:560px;font-size:15px;line-height:1.4;position:relative;overflow:hidden}
.screen .wm{font:600 22px Newsreader,serif}.screen .wm i{font-weight:400;font-size:17px}
.screen .date{font:600 10.5px "Instrument Sans";letter-spacing:.14em;opacity:.55;margin-top:20px}
.screen .hi{font:400 36px/1.05 Newsreader,serif;letter-spacing:-.01em;margin-top:6px}
.screen .q{font:italic 400 16px/1.35 Newsreader,serif;opacity:.8;margin-top:12px}
.screen .card{background:var(--blue-deep);border-radius:24px;padding:18px;margin-top:16px}
.screen .card .l{font:600 10px "Instrument Sans";letter-spacing:.14em;opacity:.6}
.screen .card p{font:400 21px/1.2 Newsreader,serif;margin-top:8px}
.screen .shot{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:var(--cream);font:600 13px "Instrument Sans";padding:11px 16px;border-radius:99px;margin-top:14px}
.screen .row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:9px 0;font:400 17px Newsreader,serif}
.screen .row span{font:400 12px "Instrument Sans";opacity:.6}
.dots{display:flex;gap:6px;margin-top:16px}.dots i{width:16px;height:16px;border-radius:8px;background:var(--red);display:block}.dots i.o{background:none;border:1.5px solid var(--blue-deep)}
.thread{position:absolute;left:-10px;right:-10px;bottom:6px;opacity:.9}

/* Foto-Reihe (Platzhalter) */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:48px 0 0}
.ph{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;padding:16px;font:600 12px/1.3 "Instrument Sans";letter-spacing:.06em;color:rgba(30,28,28,.55)}
.ph::before{content:"";position:absolute;inset:0;z-index:0}
.ph span{position:relative;z-index:1;background:rgba(251,250,247,.85);padding:5px 10px;border-radius:99px}
.ph.a::before{background:linear-gradient(160deg,#E9DFC8,#D9C7A3)}
.ph.b::before{background:linear-gradient(160deg,#D4E4EF,#B3CFE2)}
.ph.c::before{background:linear-gradient(160deg,#EFE6D8,#E2CFC0)}
.ph.d::before{background:linear-gradient(160deg,#E9DFC8,#D4E4EF)}
.ph:nth-child(even){transform:translateY(22px)}

/* Abschnitte */
section{padding:104px 0}
.blue{background:var(--blue)}
.blue h2,.blue .lead{color:var(--ink)}
.head{max-width:820px;margin-bottom:52px}
.head h2{margin:12px 0 18px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card3{background:#fff;border-radius:28px;padding:34px 30px}
.card3 .n{font:400 44px/1 Newsreader,serif;color:var(--red)}
.card3 h3{margin:22px 0 8px}
.card3 p{color:var(--soft);font-size:17px}
.card3 ul{list-style:none;padding:0;margin-top:18px;border-top:1px solid var(--line);padding-top:16px;font-size:16px}
.card3 li{padding-left:28px;position:relative;margin-bottom:10px}
.card3 li::before{content:"";position:absolute;left:2px;top:7px;width:7px;height:12px;border:solid var(--red);border-width:0 2px 2px 0;transform:rotate(40deg)}

/* Drei Probleme */
.trio .item{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px 0;border-top:1px solid var(--line);align-items:baseline}
.trio .item:last-child{border-bottom:1px solid var(--line)}
.trio h3{font-weight:400;font-family:Newsreader,serif;font-size:32px;letter-spacing:-.01em;line-height:1.15}
.trio p{color:var(--soft)}
.trio b{color:var(--ink)}

/* Geschichte */
.story .grid{display:grid;grid-template-columns:1fr;max-width:820px;margin:0 auto;align-items:start}
.portrait{aspect-ratio:4/5;border-radius:28px;border:2px dashed rgba(30,28,28,.25);background:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--soft);font:600 14px/1.4 "Instrument Sans"}
.story p{font:400 clamp(20px,2.2vw,25px)/1.5 Newsreader,serif;margin-bottom:18px}
.sign{font:600 30px Caveat,cursive;color:var(--red);margin-top:8px}
.placeholder{outline:2px dashed rgba(141,11,11,.45);outline-offset:3px;border-radius:4px}

/* Dunkler Teil */
.dark{background:var(--choc);color:#F3E9DD}
.dark .hand{color:#E6B9A8}
.dark h2{color:#fff}
.dark em{color:#E6B9A8}
.dark .lead{color:#D7C4B8}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;margin-top:20px}
.fact{padding:22px 0;border-top:1px solid rgba(243,233,221,.2)}
.fact b{display:block;font:600 20px "Instrument Sans";margin-bottom:4px;color:#fff}
.fact span{color:#D7C4B8;font-size:16px}
details{border-top:1px solid rgba(243,233,221,.2);padding:20px 0}
details:last-of-type{border-bottom:1px solid rgba(243,233,221,.2)}
summary{cursor:pointer;font:600 20px "Instrument Sans";list-style:none;display:flex;justify-content:space-between;gap:20px;color:#fff}
summary::after{content:"+";font:400 28px/1 Newsreader,serif;color:#E6B9A8}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:#D7C4B8;max-width:720px;font-size:17px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;margin-top:80px}

/* Abschluss */
.final{text-align:center}
.final h2{margin:10px auto 22px;max-width:900px}
.final .lead{margin:0 auto 34px}

footer{padding:40px 0 56px;border-top:1px solid var(--line);font-size:15px;color:var(--soft)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:center}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
.disc{font-size:13px;max-width:560px}

/* Rechtstexte */
.legal{padding:64px 0 96px;max-width:860px}
.legal h1{font-size:clamp(40px,6vw,64px);margin:8px 0 10px}
.legal .stand{color:var(--soft);font-size:15px;margin-bottom:28px}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.toc a{font:600 14px "Instrument Sans";text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:8px 14px;background:#fff;transition:border-color .15s,color .15s}
.toc a:hover{border-color:var(--red);color:var(--red)}
.lsec{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px 30px;margin-bottom:16px;scroll-margin-top:96px}
.lsec h2{font-size:24px;margin:0 0 12px;letter-spacing:-.02em}
.lsec p,.lsec li{font-size:17px;line-height:1.65;color:#2f2c2b;margin-bottom:10px}
.lsec p:last-child{margin-bottom:0}
.lsec b{color:var(--ink)}
.lsec a{color:var(--red)}
.lsec ul{padding-left:0;list-style:none}
.lsec li{position:relative;padding-left:28px}
.lsec li::before{content:"";position:absolute;left:3px;top:8px;width:7px;height:12px;border:solid var(--red);border-width:0 2px 2px 0;transform:rotate(40deg)}
.lsec.short{background:var(--blue);border-color:transparent}
.imprint div[lang]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.imprint .lsec{margin:0}
.imprint .lsec h2{font:600 13px "Instrument Sans";letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.imprint .lsec p{font:400 20px/1.5 Newsreader,serif}

/* Zweiter Knopf (Umriss) */
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);padding:15.5px 24px}
.btn.ghost:hover{background:#fff;border-color:var(--red);color:var(--red)}
.btn.ghost svg{flex:none}

/* Hero-Szene: Papier wird Text */
.scene{position:relative;width:440px;height:580px;margin:0 auto}
.paper{position:absolute;left:-46px;top:150px;width:236px;height:310px;background:#FFFDF8;border-radius:8px;box-shadow:0 22px 50px rgba(42,14,11,.16);transform:rotate(-5deg);overflow:hidden;
 background-image:linear-gradient(90deg,transparent 33px,#E8B5A2 33px,#E8B5A2 34px,transparent 34px),repeating-linear-gradient(180deg,transparent 0 25px,#D4E4EF 25px 26px);background-position:0 0,0 22px}
.ink{position:absolute;left:44px;top:43px;right:14px;font:600 25px/26px Caveat,cursive;color:#2b2623}
.ln{display:block;white-space:nowrap}
.scanbar{position:absolute;left:-10%;right:-10%;top:0;height:46px;opacity:0;background:linear-gradient(180deg,rgba(126,10,10,0),rgba(126,10,10,.16),rgba(126,10,10,0))}
.scanbar::after{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:var(--red);opacity:.65}
.phone.mini{position:absolute;right:0;top:0;width:262px;transform:rotate(2deg)}
.phone.mini .screen{min-height:540px;padding:26px 16px 20px}
.screen .entry{border-top:1px solid var(--line);padding:12px 0 12px}
.screen .entry .d{font:600 9.5px "Instrument Sans";letter-spacing:.14em;opacity:.55}
.screen .entry p{font:italic 400 16px/1.3 Newsreader,serif;margin-top:4px}
.chip{display:inline-block;background:var(--blue-deep);border-radius:99px;padding:2px 10px;font:400 12px "Instrument Sans";margin-top:7px;color:var(--ink)}
.screen .entry.new{overflow:hidden}
/* Animation nur mit JS: Startzustand versteckt, beim Sichtbarwerden läuft sie einmal */
.js .scene .ln{clip-path:inset(0 100% 0 0)}
.js .scene .entry.new{max-height:0;opacity:0;padding:0;border-top-color:transparent}
.js .scene.play .ln{animation:write .62s cubic-bezier(.45,.05,.4,1) var(--d) forwards}
.js .scene.play .scanbar{animation:scan .7s ease-in-out 2.05s forwards}
.js .scene.play .entry.new{animation:arrive .7s cubic-bezier(.2,.7,.2,1) 2.6s forwards}
.screen .entry.new p{color:var(--red)}
@keyframes write{to{clip-path:inset(0 0 0 0)}}
@keyframes scan{0%{opacity:0;transform:translateY(20px)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(290px)}}
@keyframes arrive{0%{max-height:0;opacity:0;padding:0}60%{opacity:0}100%{max-height:160px;opacity:1;padding:12px 0;border-top-color:var(--line)}}

/* Aufruf in der Mitte */
.midcta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:44px}
.midcta>span{color:var(--soft);font-size:16px}

/* Fäden */
.threads{padding-bottom:88px}
.tq-wrap{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;padding:30px 0 10px}
.tline{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
.tline path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s cubic-bezier(.45,.05,.3,1) .2s}
.tq-wrap.in .tline path{stroke-dashoffset:0}
.tq{position:relative;z-index:1;background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 14px 34px rgba(42,14,11,.08);margin:0}
.tq:nth-of-type(2){margin-top:70px}
.tq figcaption{font:600 11px "Instrument Sans";letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.tq blockquote{margin:8px 0 0;font:italic 400 22px/1.3 Newsreader,serif}
.tq::before{content:"";position:absolute;left:24px;top:-7px;width:13px;height:13px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--paper);z-index:3}
.tlabel{margin-top:26px;color:var(--soft);font-size:15px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tlabel .chip{margin:0}

/* Gründerin: folgen */
.btn.follow{margin-top:26px}

/* Mobile Leiste unten */
.mcta{display:none}

/* Sanftes Einblenden beim Scrollen (nur mit JS und ohne „Bewegung reduzieren“) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media(max-width:900px){
 .nav ul{display:none}
 .logo{font-size:23px}.logo i{font-size:17px}
 .nav .btn.sm{padding:10px 14px;font-size:14px}
 .lang button{padding:5px 8px}
 .hero .grid,.story .grid,.faq{grid-template-columns:1fr;gap:40px}
 .cards{grid-template-columns:1fr}
 .strip{grid-template-columns:repeat(2,1fr)}
 .ph:nth-child(even){transform:none}
 .trio .item{grid-template-columns:1fr;gap:8px}
 .facts{grid-template-columns:1fr}
 section{padding:72px 0}
 .hero{padding-top:44px}
 .phone{transform:none}
 .portrait{max-width:300px}
 .imprint div[lang]{grid-template-columns:1fr}
 .scene{width:340px;height:470px;transform:none}
 .paper{left:-10px;top:120px;width:180px;height:250px}
 .ink{left:38px;top:38px;font-size:19px;line-height:24px}
 .paper{background-position:0 0,0 14px}
 .phone.mini{width:200px}
 .phone.mini .screen{min-height:430px;padding:20px 12px 16px;border-radius:30px}
 .phone.mini{border-radius:38px;padding:7px}
 .screen .entry p{font-size:14px}
 .tq-wrap{grid-template-columns:1fr;gap:18px;padding-left:22px}
 .tq:nth-of-type(2){margin-top:0}
 .tline{display:none}
 .tq-wrap::before{content:"";position:absolute;left:4px;top:20px;bottom:20px;width:2px;background:var(--red);transform-origin:top;transform:scaleY(0);transition:transform 1.8s ease .2s}
 .tq-wrap.in::before{transform:scaleY(1)}
 .tq::before{left:-24px;top:26px}
 .mcta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;transform:translateY(140%);transition:transform .35s ease}
 .mcta.show{transform:none}
 .mcta .btn{width:100%;justify-content:center;box-shadow:0 12px 30px rgba(42,14,11,.3)}
 .hero .cta .btn{width:100%;justify-content:center}
 .lsec{padding:22px 20px}
}
@media(prefers-reduced-motion:reduce){
 *{transition:none!important;scroll-behavior:auto!important;animation:none!important}
 .ln{clip-path:none}
 .scanbar{display:none}
 .screen .entry.new{max-height:none;opacity:1;padding:12px 0;border-top-color:var(--line)}
 .tline path{stroke-dashoffset:0}
 .tq-wrap::before{transform:none}
 .rv{opacity:1;transform:none}
}
