:root { --petrol:#008080; --bordeaux:#8D001D; --ink:#050a0b; --paper:#d2d0cb; --muted:#92938f; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--ink); color:var(--paper); }
body { overflow-x:hidden; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
button,a { font:inherit; }

[hidden] { display:none!important; }
.hero { position:relative; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; padding:clamp(22px,3.5vw,52px) 28px clamp(92px,12vh,118px); isolation:isolate; background:radial-gradient(circle at 50% 38%,#0a1719 0%,#061012 32%,#050a0b 68%,#030607 100%); }
.ambient { position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 50% 31%,rgba(0,128,128,.11),transparent 27%),radial-gradient(circle at 50% 60%,rgba(141,0,29,.035),transparent 35%); }
.hero-content { width:min(1240px,94vw); margin:auto; display:flex; flex-direction:column; align-items:center; text-align:center; }
.brand-logo { width:clamp(150px,17vw,245px); max-height:27vh; object-fit:contain; margin-bottom:clamp(18px,2.8vh,34px); filter:drop-shadow(0 18px 34px rgba(0,0,0,.35)); }
h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.8rem,4vw,4.6rem); line-height:1.04; letter-spacing:-.035em; font-weight:400; color:var(--paper); text-shadow:0 2px 18px rgba(0,0,0,.3); white-space:nowrap; }
.intro { margin:clamp(20px,2.8vh,34px) 0 0; color:var(--muted); font-size:clamp(1rem,1.35vw,1.25rem); line-height:1.65; font-weight:300; }
.intro > span { display:block; }
.intro-dash { line-height:1.25; }
.discover { position:absolute; left:50%; bottom:clamp(18px,3vh,34px); transform:translateX(-50%); z-index:2; border:0; background:transparent; color:var(--bordeaux); display:flex; flex-direction:column; align-items:center; gap:10px; padding:12px 20px; cursor:pointer; letter-spacing:.24em; font-size:.86rem; font-weight:500; white-space:nowrap; }
.discover .arrow { font-size:2rem; line-height:1; font-weight:300; transition:transform .25s ease; }
.discover:hover .arrow { transform:translateY(5px); }

.available { position:relative; min-height:100svh; overflow-x:hidden; overflow-y:auto; padding:clamp(104px,10vh,132px) clamp(28px,4.2vw,72px) clamp(42px,5vh,70px); background:linear-gradient(145deg,#061013 0%,#050a0b 48%,#071113 100%); isolation:isolate; }
.available-ambient { position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 18% 30%,rgba(0,128,128,.07),transparent 27%),radial-gradient(circle at 72% 48%,rgba(141,0,29,.035),transparent 34%); }
.available-shell { position:relative; width:min(1510px,100%); margin:0 auto; }
.available-shell::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; transform:translateX(-.5px); background:rgba(210,208,203,.11); pointer-events:none; }
.back-home { position:absolute; top:clamp(24px,3.3vw,52px); left:clamp(28px,4.2vw,72px); z-index:4; display:flex; align-items:center; gap:10px; border:0; background:transparent; color:rgba(210,208,203,.76); cursor:pointer; padding:8px 0; font-family:Georgia,"Times New Roman",serif; font-size:.72rem; letter-spacing:.06em; transition:color .2s; }
.back-home span:first-child { color:var(--paper); font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-size:1rem; }
.back-home:hover { color:#fff; }
.available-top-logo { position:absolute; top:clamp(18px,2.3vw,34px); left:50%; z-index:3; transform:translateX(-50%); width:clamp(86px,7vw,118px); opacity:.9; pointer-events:none; }
.available-top-logo img { display:block; width:100%; height:auto; filter:drop-shadow(0 12px 26px rgba(0,0,0,.32)); }
.app-layout { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:clamp(54px,6vw,100px); align-items:stretch; }
.app-showcase { min-width:0; }
.section-index-row { display:flex; align-items:center; gap:12px; margin:0 0 14px 4px; color:var(--petrol); font-size:.66rem; letter-spacing:.18em; font-weight:500; }
.section-index-line { width:24px; height:1px; background:var(--bordeaux); opacity:.9; }
.section-index-label { color:rgba(0,128,128,.88); letter-spacing:.18em; }
.app-showcase h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(5.5rem,7.7vw,8.9rem); line-height:.82; letter-spacing:.06em; font-weight:400; color:var(--paper); text-shadow:0 2px 22px rgba(0,0,0,.26); }
.app-tagline { margin:18px 0 clamp(32px,4vh,46px) 4px; color:rgba(0,128,128,.92); font-family:Georgia,"Times New Roman",serif; font-size:clamp(.72rem,1vw,.95rem); letter-spacing:.16em; }
.app-preview-wrap { position:relative; width:100%; overflow:hidden; border-radius:14px; border:1px solid rgba(210,208,203,.28); background:#0b1117; box-shadow:-15px -9px 36px rgba(0,128,128,.12),16px 11px 40px rgba(141,0,29,.10),0 28px 65px rgba(0,0,0,.32); }
.app-preview { display:block; width:100%; height:auto; }
.greeting-fix { position:absolute; left:42.7%; top:26.2%; width:16%; height:8.8%; display:flex; align-items:center; justify-content:center; background:#0b1117; color:#e8e8e8; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(.72rem,1.2vw,1.25rem); white-space:nowrap; pointer-events:none; }
.app-open-button { display:flex; width:min(300px,56%); min-width:220px; justify-content:center; align-items:center; gap:15px; margin:clamp(30px,3.3vh,40px) auto 0; padding:14px 22px; color:#8fd1d1; text-decoration:none; border:1px solid rgba(0,128,128,.72); border-radius:4px; font-family:Georgia,"Times New Roman",serif; font-size:.84rem; letter-spacing:.12em; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.app-open-button span:last-child { font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-size:1rem; }
.app-open-button:hover { background:rgba(0,128,128,.06); border-color:#0b9292; color:#b8ecec; transform:translateY(-1px); }
.open-note { margin:10px 0 0; text-align:center; color:rgba(146,147,143,.72); font-size:.72rem; font-weight:300; }
.app-description { position:relative; min-width:0; border-left:0; padding:clamp(38px,4.8vw,72px) 0 28px clamp(52px,5.3vw,88px); overflow:hidden; }
.description-inner { position:relative; z-index:2; max-width:690px; }
.description-kicker { margin:0 0 26px; color:rgba(0,128,128,.92); font-family:Georgia,"Times New Roman",serif; font-size:clamp(.9rem,1.05vw,1.05rem); letter-spacing:.16em; }
.app-description h3 { margin:0; max-width:650px; color:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,2.65vw,3rem); line-height:1.3; letter-spacing:-.025em; font-weight:400; }
.description-copy { margin-top:clamp(30px,4vh,48px); color:#aaa9a5; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1rem,1.3vw,1.22rem); line-height:1.48; }
.description-copy p { margin:0 0 30px; }
.description-copy span { color:var(--petrol); }
.feature-divider { width:100%; height:1px; margin:clamp(30px,4vh,46px) 0 clamp(28px,3.6vh,42px); background:rgba(210,208,203,.12); }
.feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2vw,32px); }
.feature-item { min-width:0; }
.feature-icon { width:clamp(54px,4.5vw,72px); aspect-ratio:1; display:grid; place-items:center; margin:0 auto 15px; border:1px solid rgba(210,208,203,.38); border-radius:50%; }
.feature-icon svg { width:55%; height:55%; stroke:rgba(231,230,226,.86); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.feature-item h4 { margin:0; color:var(--paper); text-align:center; font-family:Georgia,"Times New Roman",serif; font-size:clamp(.72rem,.9vw,.92rem); letter-spacing:.08em; font-weight:400; }
.feature-item p { margin:10px 0 0; color:rgba(146,147,143,.88); text-align:center; font-size:clamp(.66rem,.75vw,.78rem); line-height:1.45; font-weight:300; }
.description-watermark { position:absolute; right:-.06em; top:2%; z-index:0; color:rgba(0,128,128,.105); font-family:Georgia,serif; font-size:clamp(20rem,29vw,34rem); line-height:.8; user-select:none; pointer-events:none; text-shadow:0 0 80px rgba(0,128,128,.035); }
.nav-overlay { position:fixed; inset:0; z-index:10; background:radial-gradient(circle at 82% 28%,rgba(0,128,128,.12),transparent 28%),linear-gradient(145deg,#071516 0%,#050a0b 72%); color:var(--paper); display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,5vw,72px) clamp(30px,7vw,110px); transform:translateY(101%); visibility:hidden; transition:transform .65s cubic-bezier(.77,0,.18,1),visibility .65s; overflow:hidden; }
.nav-overlay.open { transform:translateY(0); visibility:visible; }
.menu-shell { position:relative; z-index:2; width:min(1050px,82vw); }
.menu-kicker { margin:0 0 clamp(18px,3vh,34px); color:var(--bordeaux); letter-spacing:.28em; font-size:.72rem; font-weight:500; }
.nav-overlay nav { display:flex; flex-direction:column; align-items:flex-start; }
.nav-link { width:100%; display:grid; grid-template-columns:54px 28px auto; align-items:baseline; gap:clamp(8px,1.5vw,20px); color:inherit; text-decoration:none; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.75rem,3.15vw,3.25rem); line-height:1.18; letter-spacing:-.035em; font-weight:400; padding:.16em 0; transition:color .2s,transform .25s; }
.nav-link::before { content:""; grid-column:2; width:24px; height:1px; background:var(--bordeaux); align-self:center; opacity:.9; }
.nav-link > span:last-child { grid-column:3; }
.nav-number { grid-column:1; font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; color:var(--petrol); font-size:clamp(.58rem,.8vw,.78rem); letter-spacing:.16em; font-weight:500; transform:translateY(-.4em); }
.nav-link:nth-child(2n):hover { color:var(--bordeaux); transform:translateX(12px); }
.nav-link:nth-child(2n+1):hover { color:#0b8f8f; transform:translateX(12px); }
.nav-link:hover .nav-number { color:var(--paper); }
.watermark { position:absolute; right:2vw; top:50%; transform:translateY(-50%); font-family:Georgia,serif; font-size:132svh; line-height:.76; color:rgba(0,128,128,.22); text-shadow:0 0 70px rgba(0,128,128,.08),0 0 150px rgba(0,128,128,.04); user-select:none; }
.legal-links { display:flex; gap:12px; align-items:center; margin:clamp(22px,3vh,34px) 0 0 82px; color:var(--muted); font-size:.78rem; letter-spacing:.08em; }
.legal-links a { color:inherit; text-decoration:none; transition:color .2s; }
.legal-links a:hover { color:var(--paper); }
.legal-links span { color:var(--bordeaux); }
.close-menu { position:absolute; z-index:3; right:clamp(30px,6vw,90px); bottom:clamp(26px,4vw,60px); border:0; background:transparent; color:var(--paper); cursor:pointer; display:flex; gap:16px; align-items:center; font-size:clamp(.9rem,1.2vw,1.05rem); }
.close-menu span:last-child { color:var(--bordeaux); font-size:1.6rem; }
@media (max-width:760px) {
 .hero { min-height:100svh; height:100svh; padding:20px 24px 86px; }
 .hero-content { width:100%; }
 .brand-logo { width:min(38vw,150px); max-height:22vh; margin-bottom:18px; }
 h1 { font-size:clamp(2.35rem,10.5vw,3.8rem); line-height:1.06; white-space:normal; }
 .intro { margin-top:18px; font-size:.9rem; line-height:1.55; max-width:340px; }
 .desktop-break { display:none; }
 .discover { bottom:12px; font-size:.72rem; gap:5px; padding:8px 16px; }
 .discover .arrow { font-size:1.65rem; }
 .nav-overlay { justify-content:flex-start; padding:8vh 24px 100px; overflow-y:auto; }
 .menu-shell { width:100%; }
 .menu-kicker { margin-bottom:20px; }
 .nav-link { grid-template-columns:30px 20px auto; gap:8px; font-size:clamp(1.45rem,6.4vw,2.25rem); line-height:1.08; padding:.08em 0; }
 .nav-link::before { content:""; grid-column:2; width:24px; height:1px; background:var(--bordeaux); align-self:center; opacity:.9; }
.nav-link > span:last-child { grid-column:3; }
.nav-number { grid-column:1; font-size:.52rem; }
 .legal-links { margin:24px 0 0 58px; font-size:.7rem; }
 .close-menu { left:24px; right:auto; bottom:24px; font-size:.82rem; }
 .watermark { font-size:116svh; right:-.10em; top:50%; transform:translateY(-50%); }
 .available { min-height:100svh; padding:96px 22px 46px; }
 .back-home { top:18px; left:22px; font-size:.56rem; letter-spacing:.04em; gap:7px; }
 .back-home span:first-child { font-size:.85rem; }
 .available-top-logo { top:52px; width:72px; }
 .app-layout { grid-template-columns:1fr; gap:56px; }
 .section-index-row { margin-top:34px; font-size:.56rem; gap:9px; }
 .section-index-line { width:18px; }
 .app-showcase h2 { font-size:clamp(4.4rem,22vw,6.5rem); letter-spacing:.035em; }
 .app-tagline { margin:14px 0 30px 2px; font-size:.68rem; letter-spacing:.13em; }
 .app-preview-wrap { border-radius:10px; }
 .greeting-fix { font-size:clamp(.46rem,2.9vw,.8rem); }
 .app-open-button { width:min(82%,310px); min-width:0; margin-top:28px; font-size:.72rem; }
 .open-note { font-size:.62rem; }
 .available-shell::before { display:none; }
 .app-description { border-left:0; border-top:1px solid rgba(210,208,203,.11); padding:46px 0 8px; overflow:visible; }
 .description-kicker { margin-bottom:22px; font-size:.78rem; }
 .app-description h3 { font-size:clamp(1.75rem,8vw,2.45rem); }
 .ravyn-detail-break { display:none; }
 .description-copy { margin-top:28px; font-size:1rem; }
 .description-copy p { margin-bottom:24px; }
 .feature-divider { margin:30px 0 28px; }
 .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; }
 .feature-icon { width:58px; }
 .feature-item h4 { font-size:.76rem; }
 .feature-item p { font-size:.68rem; }
 .description-watermark { right:-.20em; top:7%; font-size:90vw; opacity:.7; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* v16 — Übersicht „Jetzt verfügbar“ */
.apps-overview { display:flex; align-items:center; }
.apps-overview-shell { position:relative; width:min(1320px,100%); margin:0 auto; z-index:1; }
.apps-overview-head { position:relative; z-index:2; max-width:860px; margin-bottom:clamp(48px,7vh,82px); }
.overview-index { margin-left:0; margin-bottom:22px; }
.apps-overview-head h2 { margin:0; color:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.3rem,6vw,6.5rem); line-height:.98; letter-spacing:-.045em; font-weight:400; }
.apps-overview-head > p { margin:clamp(18px,2.5vh,28px) 0 0; max-width:620px; color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.2rem,1.75vw,1.65rem); line-height:1.55; }
.apps-list { position:relative; z-index:2; width:100%; border-top:1px solid rgba(210,208,203,.14); }
.app-list-item { width:100%; min-height:clamp(112px,14vh,154px); display:grid; grid-template-columns:70px minmax(0,1fr) auto 42px; align-items:center; gap:clamp(16px,2.2vw,34px); padding:clamp(24px,3vh,34px) 4px; border:0; border-bottom:1px solid rgba(210,208,203,.14); background:transparent; color:inherit; text-align:left; }
button.app-list-item { cursor:pointer; transition:padding-left .28s ease,background .28s ease; }
button.app-list-item:hover { padding-left:18px; background:linear-gradient(90deg,rgba(0,128,128,.055),transparent 65%); }
.app-list-number { align-self:start; padding-top:.72em; color:var(--petrol); font-size:.68rem; letter-spacing:.16em; font-weight:500; }
.app-list-main { display:flex; flex-direction:column; gap:10px; min-width:0; }
.app-list-name { color:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,4.2vw,4.9rem); line-height:.9; letter-spacing:-.035em; }
.app-list-copy { color:rgba(146,147,143,.86); font-size:clamp(.72rem,.9vw,.9rem); letter-spacing:.06em; font-weight:300; }
.app-list-status { color:rgba(0,128,128,.9); font-size:.62rem; letter-spacing:.18em; white-space:nowrap; }
.app-list-arrow { color:var(--bordeaux); font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; font-size:1.35rem; text-align:right; transition:transform .25s ease,color .25s ease; }
button.app-list-item:hover .app-list-arrow { transform:translateX(7px); color:#b00029; }
.app-list-item.is-pending { opacity:.55; }
.app-list-item.is-pending .app-list-status { color:rgba(210,208,203,.58); }
.app-list-item.is-pending .app-list-arrow { color:rgba(141,0,29,.45); }
.apps-overview-note { position:relative; z-index:2; margin:clamp(26px,4vh,44px) 0 0 70px; color:rgba(146,147,143,.62); font-size:.7rem; letter-spacing:.04em; }
.overview-watermark { position:absolute; z-index:0; right:-.03em; top:50%; transform:translateY(-42%); color:rgba(0,128,128,.075); font-family:Georgia,serif; font-size:min(70vw,780px); line-height:.8; user-select:none; pointer-events:none; text-shadow:0 0 90px rgba(0,128,128,.035); }

@media (max-width:760px) {
 .apps-overview { display:block; padding-top:112px; }
 .apps-overview-head { margin-bottom:42px; }
 .overview-index { margin-top:12px; }
 .apps-overview-head h2 { font-size:clamp(2.9rem,14vw,4.5rem); }
 .apps-overview-head > p { font-size:1.08rem; }
 .app-list-item { min-height:120px; grid-template-columns:34px minmax(0,1fr) 22px; gap:10px; padding:22px 0; }
 .app-list-number { font-size:.55rem; }
 .app-list-name { font-size:clamp(2.15rem,12vw,3.25rem); }
 .app-list-copy { font-size:.65rem; line-height:1.45; }
 .app-list-status { grid-column:2; margin-top:3px; font-size:.52rem; }
 .app-list-arrow { grid-column:3; grid-row:1 / span 2; font-size:1.1rem; }
 button.app-list-item:hover { padding-left:8px; }
 .apps-overview-note { margin:24px 0 0 44px; font-size:.62rem; line-height:1.5; }
 .overview-watermark { right:-.26em; top:52%; font-size:110vw; }
}

/* v19 — Bald für dich / EasyBudget */
.upcoming-ambient { background:radial-gradient(circle at 18% 30%,rgba(0,128,128,.065),transparent 28%),radial-gradient(circle at 72% 48%,rgba(36,156,78,.05),transparent 34%); }
.upcoming-item .app-list-status { color:rgba(118,205,139,.82); }
.easybudget-detail { --easy-green:#2ca44f; --easy-green-soft:#7bd58f; --easy-teal:#16a7a7; }
.easybudget-ambient { background:radial-gradient(circle at 18% 30%,rgba(44,164,79,.09),transparent 27%),radial-gradient(circle at 72% 48%,rgba(22,167,167,.045),transparent 34%); }
.easybudget-showcase h2 { font-size:clamp(4.4rem,6.3vw,7.2rem); letter-spacing:-.035em; }
.easybudget-accent { color:var(--easy-green-soft)!important; }
.easybudget-line { background:var(--easy-teal); }
.easybudget-brand-card { width:min(270px,42%); margin:clamp(26px,3.3vh,40px) 0 clamp(24px,3vh,34px); overflow:hidden; border-radius:22%; border:1px solid rgba(123,213,143,.26); box-shadow:0 18px 55px rgba(0,0,0,.28),0 0 44px rgba(44,164,79,.08); }
.easybudget-brand-card img { display:block; width:100%; height:auto; }
.easybudget-preview-wrap { border-color:rgba(123,213,143,.28); background:#f8faf8; box-shadow:-14px -8px 34px rgba(44,164,79,.10),15px 10px 38px rgba(22,167,167,.07),0 28px 65px rgba(0,0,0,.3); }
.development-badge { display:flex; width:min(300px,56%); min-width:220px; justify-content:center; align-items:center; margin:clamp(28px,3.2vh,38px) auto 0; padding:14px 22px; border:1px solid rgba(123,213,143,.55); border-radius:4px; color:#9ae4ab; font-family:Georgia,"Times New Roman",serif; font-size:.78rem; letter-spacing:.14em; background:rgba(44,164,79,.045); }
.easybudget-description h3 { max-width:690px; }
.easybudget-feature-icon { border-color:rgba(123,213,143,.38); }
.easybudget-feature-icon svg { stroke:rgba(197,240,207,.88); }
.easybudget-watermark { color:rgba(44,164,79,.095); font-family:Georgia,"Times New Roman",serif; font-size:clamp(19rem,27vw,32rem); right:-.01em; top:5%; text-shadow:0 0 80px rgba(44,164,79,.03); }

@media (max-width:760px) {
 .easybudget-showcase h2 { font-size:clamp(3.3rem,16vw,5rem); }
 .easybudget-brand-card { width:min(180px,48%); margin-top:24px; border-radius:20%; }
 .development-badge { width:min(82%,310px); min-width:0; font-size:.68rem; }
 .easybudget-watermark { right:-.10em; top:8%; font-size:75vw; }
}

/* v20 — Das ist RAVYN */
.about-page {
  position:relative;
  min-height:100svh;
  overflow-x:hidden;
  padding:clamp(118px,11vh,150px) clamp(28px,6vw,96px) clamp(74px,9vh,128px);
  background:linear-gradient(145deg,#061013 0%,#050a0b 50%,#071113 100%);
  isolation:isolate;
}
.about-ambient {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 17%,rgba(0,128,128,.085),transparent 28%),
    radial-gradient(circle at 82% 48%,rgba(141,0,29,.035),transparent 31%),
    radial-gradient(circle at 50% 92%,rgba(0,128,128,.03),transparent 26%);
}
.about-shell { width:min(1320px,100%); margin:0 auto; position:relative; }
.about-hero { position:relative; min-height:min(790px,78svh); padding:clamp(18px,2vh,28px) 0 clamp(68px,8vh,108px); }
.about-index { margin:0 0 clamp(28px,4vh,48px); }
.about-hero h2 {
  position:relative;
  z-index:2;
  margin:0;
  max-width:920px;
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,7.4vw,8.2rem);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:400;
}
.about-lead {
  position:relative;
  z-index:2;
  margin:clamp(28px,4vh,46px) 0 0;
  max-width:720px;
  color:rgba(210,208,203,.76);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.2rem,1.75vw,1.65rem);
  line-height:1.55;
}
.about-lead > span { display:block; }
.about-lead-dash { line-height:1.2; }
.about-opening {
  position:relative;
  z-index:2;
  width:min(610px,48%);
  margin:clamp(58px,8vh,92px) 0 0 auto;
  padding-right:clamp(0px,2vw,32px);
  color:rgba(190,191,187,.72);
  font-size:clamp(.92rem,1.05vw,1.05rem);
  line-height:1.85;
  font-weight:300;
}
.about-opening p { margin:0 0 1.4em; }
.about-opening strong { color:rgba(226,224,218,.92); font-weight:400; }
.about-watermark {
  position:absolute;
  z-index:0;
  right:-.02em;
  top:4%;
  color:rgba(0,128,128,.07);
  font-family:Georgia,serif;
  font-size:min(58vw,720px);
  line-height:.8;
  user-select:none;
  pointer-events:none;
  text-shadow:0 0 95px rgba(0,128,128,.04);
}
.about-divider { width:100%; height:1px; margin:0 0 clamp(76px,10vh,126px); background:linear-gradient(90deg,rgba(141,0,29,.65),rgba(210,208,203,.09) 24%,rgba(210,208,203,.09) 76%,rgba(0,128,128,.45)); }
.about-divider.short { width:64%; margin:clamp(76px,10vh,126px) auto; opacity:.72; }
.about-block { position:relative; display:grid; grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); gap:clamp(38px,6vw,100px); align-items:start; max-width:1060px; }
.about-block-left { margin-right:auto; }
.about-block-right { margin-left:auto; grid-template-columns:minmax(0,1fr) minmax(150px,.35fr); }
.about-block-right .about-block-number { grid-column:2; grid-row:1; text-align:right; }
.about-block-right .about-block-copy { grid-column:1; grid-row:1; }
.about-block-number {
  color:rgba(0,128,128,.13);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(6rem,10vw,11rem);
  line-height:.72;
  letter-spacing:-.06em;
  user-select:none;
}
.about-block-copy { max-width:720px; }
.about-block-kicker { margin:0 0 20px; color:var(--bordeaux); font-size:.7rem; letter-spacing:.22em; font-weight:500; }
.about-block h3 {
  margin:0 0 clamp(30px,4vh,44px);
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.3rem,4vw,4.3rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:400;
}
.about-block-copy > p:not(.about-block-kicker):not(.about-emphasis) {
  margin:0 0 1.45em;
  color:rgba(177,179,174,.76);
  font-size:clamp(.94rem,1.08vw,1.08rem);
  line-height:1.85;
  font-weight:300;
}
.about-emphasis {
  margin:clamp(30px,4vh,44px) 0 0;
  max-width:650px;
  color:#0b9a9a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3vw,3.2rem);
  line-height:1.18;
}
.about-closing {
  position:relative;
  margin:clamp(110px,15vh,190px) 0 0;
  padding:clamp(54px,7vh,86px) 0 0;
  text-align:center;
}
.about-closing-line { position:absolute; top:0; left:50%; width:1px; height:44px; background:var(--bordeaux); }
.about-closing p { margin:0 0 18px; color:rgba(146,147,143,.76); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; }
.about-closing h3 { margin:0; color:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.8rem,5vw,5.6rem); line-height:1.06; letter-spacing:-.04em; font-weight:400; }
.about-closing h3 span { color:rgba(0,128,128,.92); }

@media (max-width:760px) {
  .about-page { padding:112px 22px 72px; }
  .about-hero { min-height:0; padding:22px 0 66px; }
  .about-index { margin-top:28px; margin-bottom:30px; }
  .about-hero h2 { font-size:clamp(3.15rem,16vw,5rem); line-height:.96; }
  .about-lead { margin-top:28px; font-size:1.08rem; }
  .about-opening { width:100%; margin-top:46px; padding:0; font-size:.92rem; line-height:1.72; }
  .about-watermark { right:-.28em; top:13%; font-size:110vw; }
  .about-divider { margin-bottom:70px; }
  .about-divider.short { width:100%; margin:72px 0; }
  .about-block,
  .about-block-right { display:flex; flex-direction:column; gap:24px; max-width:none; margin:0; }
  .about-block-number,
  .about-block-right .about-block-number { order:0; text-align:left; font-size:5.8rem; line-height:.7; }
  .about-block-copy,
  .about-block-right .about-block-copy { order:1; }
  .about-block-kicker { margin-bottom:16px; font-size:.62rem; line-height:1.55; }
  .about-block h3 { margin-bottom:28px; font-size:clamp(2rem,10vw,3rem); }
  .about-block-copy > p:not(.about-block-kicker):not(.about-emphasis) { font-size:.92rem; line-height:1.72; }
  .about-emphasis { margin-top:28px; font-size:clamp(1.65rem,8vw,2.35rem); }
  .about-closing { margin-top:94px; padding-top:60px; }
  .about-closing h3 { font-size:clamp(2.35rem,11vw,3.6rem); }
}

/* v23 — Deine Idee: ruhiger, luftiger Einstieg */
.idea-page {
  position:relative;
  min-height:100svh;
  overflow-x:hidden;
  padding:clamp(126px,12vh,164px) clamp(30px,6.5vw,118px) clamp(84px,10vh,142px);
  background:linear-gradient(145deg,#061013 0%,#050a0b 56%,#071012 100%);
  isolation:isolate;
}
.idea-ambient {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 15%,rgba(141,0,29,.055),transparent 29%),
    radial-gradient(circle at 83% 20%,rgba(0,128,128,.07),transparent 31%),
    radial-gradient(circle at 70% 82%,rgba(141,0,29,.022),transparent 30%);
}
.idea-shell { width:min(1480px,100%); margin:0 auto; position:relative; }

/* Einstieg: bewusst nicht mehr als enge 50/50-Spalten */
.idea-intro-grid {
  display:block;
  min-height:0;
  padding:clamp(24px,3vh,42px) 0 clamp(94px,12vh,142px);
}
.idea-intro-left {
  position:relative;
  min-width:0;
  min-height:clamp(330px,37vh,440px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.idea-index { margin:0 0 clamp(34px,4vh,48px); }
.idea-intro-left h2 {
  position:relative;
  z-index:2;
  margin:0 auto;
  max-width:1180px;
  width:100%;
  text-align:center;
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4.4rem,6.7vw,8rem);
  line-height:.94;
  letter-spacing:-.052em;
  font-weight:400;
}
.idea-intro-left h2 br { display:none; }
.idea-lead {
  position:relative;
  z-index:2;
  margin:clamp(28px,3.8vh,44px) auto 0;
  max-width:920px;
  color:rgba(210,208,203,.72);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,1.8vw,2rem);
  line-height:1.42;
  text-align:center;
}
.idea-lead br { display:none; }
.idea-mark {
  position:absolute;
  z-index:0;
  right:clamp(-20px,1vw,18px);
  top:52%;
  transform:translateY(-50%);
  color:rgba(0,128,128,.05);
  font-family:Georgia,"Times New Roman",serif;
  font-size:min(34vw,500px);
  line-height:.78;
  user-select:none;
  pointer-events:none;
  text-shadow:0 0 100px rgba(0,128,128,.035);
}
.idea-intro-copy {
  position:relative;
  margin-top:clamp(62px,8vh,94px);
  padding:clamp(46px,5.5vh,66px) 0 0;
  border-top:1px solid rgba(210,208,203,.1);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(58px,7vw,118px);
  row-gap:clamp(24px,3vh,36px);
  color:rgba(182,184,179,.79);
  font-size:clamp(.98rem,1.06vw,1.1rem);
  line-height:1.88;
  font-weight:300;
}
.idea-intro-copy::before {
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:82px;
  height:1px;
  background:var(--bordeaux);
}
.idea-intro-copy p { margin:0; max-width:620px; }
.idea-intro-copy p:nth-child(2) { justify-self:end; }
.idea-intro-emphasis {
  grid-column:1 / -1;
  justify-self:center;
  width:100%;
  margin-top:clamp(22px,3vh,38px)!important;
  color:#0b9999;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.85rem,2.6vw,3rem);
  line-height:1.22;
  text-align:center;
}

.idea-rule { height:1px; width:100%; margin:0 0 clamp(90px,12vh,142px); background:linear-gradient(90deg,rgba(141,0,29,.68),rgba(210,208,203,.08) 26%,rgba(210,208,203,.08) 74%,rgba(0,128,128,.42)); }
.idea-rule-short { width:68%; margin:clamp(90px,12vh,142px) auto; opacity:.75; }
.idea-step {
  display:grid;
  grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);
  gap:clamp(38px,6vw,96px);
  align-items:start;
  max-width:1080px;
  margin-right:auto;
}
.idea-step-reverse { margin-left:auto; margin-right:0; grid-template-columns:minmax(0,1fr) minmax(130px,.28fr); }
.idea-step-reverse .idea-step-number { grid-column:2; grid-row:1; text-align:right; }
.idea-step-reverse .idea-step-content { grid-column:1; grid-row:1; }
.idea-step-number {
  color:rgba(0,128,128,.13);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(6rem,10vw,11rem);
  line-height:.72;
  letter-spacing:-.06em;
  user-select:none;
}
.idea-step-content { max-width:760px; }
.idea-kicker { margin:0 0 20px; color:var(--bordeaux); font-size:.7rem; letter-spacing:.22em; font-weight:500; }
.idea-step h3,
.idea-trust h3 {
  margin:0 0 clamp(30px,4vh,44px);
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4vw,4.4rem);
  line-height:1.07;
  letter-spacing:-.038em;
  font-weight:400;
}
.idea-step-content > p:not(.idea-kicker) { margin:0 0 1.4em; color:rgba(179,181,176,.77); font-size:clamp(.94rem,1.08vw,1.08rem); line-height:1.84; font-weight:300; }
.idea-questions {
  margin:clamp(38px,5vh,58px) 0;
  padding:4px 0 4px clamp(28px,3vw,46px);
  border-left:1px solid rgba(0,128,128,.7);
}
.idea-questions p {
  margin:0;
  padding:.5em 0;
  color:rgba(222,220,214,.92);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.35;
}
.idea-trust {
  position:relative;
  width:min(900px,86%);
  margin:clamp(120px,16vh,200px) auto 0;
  padding:clamp(58px,7vh,86px) clamp(34px,6vw,92px);
  text-align:center;
  border-top:1px solid rgba(210,208,203,.1);
  border-bottom:1px solid rgba(210,208,203,.1);
  background:linear-gradient(90deg,transparent,rgba(0,128,128,.025),transparent);
}
.idea-trust-line { position:absolute; top:-1px; left:50%; width:72px; height:1px; transform:translateX(-50%); background:var(--bordeaux); }
.idea-trust .idea-kicker { margin-bottom:22px; }
.idea-trust h3 { margin-bottom:26px; font-size:clamp(2.6rem,4.7vw,5rem); }
.idea-trust > p:not(.idea-kicker) { max-width:720px; margin:0 auto; color:rgba(171,173,168,.76); font-size:clamp(.94rem,1.05vw,1.06rem); line-height:1.8; font-weight:300; }
.idea-closing { margin:clamp(100px,13vh,165px) 0 0; text-align:center; }
.idea-closing > p { margin:0 0 22px; color:rgba(146,147,143,.72); font-size:.7rem; letter-spacing:.2em; }
.idea-cta {
  border:0;
  background:transparent;
  color:var(--paper);
  padding:8px 0;
  display:inline-flex;
  align-items:center;
  gap:20px;
  cursor:pointer;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,3.3vw,3.55rem);
  font-weight:400;
  letter-spacing:-.025em;
}
.idea-cta span:last-child { color:var(--petrol); transition:transform .25s ease,color .2s ease; }
.idea-cta:hover span:last-child { transform:translateX(8px); color:#0b9a9a; }
.idea-cta:focus-visible { outline:1px solid rgba(0,128,128,.7); outline-offset:9px; }

@media (max-width:980px) {
  .idea-intro-copy { grid-template-columns:1fr; max-width:780px; }
  .idea-intro-copy p:nth-child(2) { justify-self:start; }
  .idea-intro-emphasis { grid-column:1; justify-self:center; width:100%; text-align:center; }
  .idea-mark { right:-.08em; font-size:min(52vw,430px); }
}

@media (max-width:760px) {
  .idea-page { padding:112px 22px 72px; }
  .idea-intro-grid { padding:30px 0 72px; }
  .idea-intro-left { min-height:0; display:block; }
  .idea-index { margin-top:28px; margin-bottom:34px; }
  .idea-intro-left h2 { max-width:100%; font-size:clamp(3.35rem,16.5vw,5.1rem); line-height:.93; }
  .idea-intro-left h2 br { display:block; }
  .idea-lead { margin-top:28px; font-size:1.25rem; }
  .idea-lead br { display:block; }
  .idea-mark { right:-.22em; top:48%; font-size:112vw; opacity:.9; }
  .idea-intro-copy { margin-top:58px; padding-top:34px; display:block; font-size:.92rem; line-height:1.72; }
  .idea-intro-copy p { margin-bottom:1.45em; }
  .idea-intro-emphasis { width:100%; margin-top:34px!important; font-size:1.65rem; text-align:center; }
  .idea-rule { margin-bottom:70px; }
  .idea-rule-short { width:100%; margin:72px 0; }
  .idea-step,
  .idea-step-reverse { display:flex; flex-direction:column; gap:24px; max-width:none; margin:0; }
  .idea-step-number,
  .idea-step-reverse .idea-step-number { order:0; text-align:left; font-size:5.8rem; line-height:.7; }
  .idea-step-content,
  .idea-step-reverse .idea-step-content { order:1; }
  .idea-kicker { margin-bottom:16px; font-size:.62rem; line-height:1.55; }
  .idea-step h3, .idea-trust h3 { font-size:clamp(2rem,10vw,3rem); margin-bottom:28px; }
  .idea-step-content > p:not(.idea-kicker) { font-size:.92rem; line-height:1.72; }
  .idea-questions { margin:34px 0; padding-left:22px; }
  .idea-questions p { font-size:clamp(1.2rem,6.2vw,1.6rem); }
  .idea-trust { width:100%; margin-top:92px; padding:50px 10px; }
  .idea-trust > p:not(.idea-kicker) { font-size:.92rem; line-height:1.72; }
  .idea-closing { margin-top:86px; }
  .idea-cta { font-size:clamp(1.65rem,8.5vw,2.4rem); gap:14px; }
}


/* v27 — Was dir fehlt */
.missing-page {
  position:relative;
  min-height:100svh;
  overflow-x:hidden;
  padding:clamp(126px,12vh,164px) clamp(30px,6.5vw,118px) clamp(88px,11vh,150px);
  background:linear-gradient(150deg,#050a0b 0%,#061011 52%,#05090a 100%);
  isolation:isolate;
}
.missing-ambient {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 15%,rgba(0,128,128,.085),transparent 27%),
    radial-gradient(circle at 12% 54%,rgba(141,0,29,.035),transparent 30%),
    radial-gradient(circle at 88% 76%,rgba(0,128,128,.035),transparent 28%);
}
.missing-shell { width:min(1480px,100%); margin:0 auto; position:relative; }
.missing-hero {
  position:relative;
  min-height:clamp(430px,56vh,650px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:clamp(28px,4vh,50px) 0 clamp(72px,9vh,108px);
}
.missing-index { align-self:stretch; margin:0 0 clamp(58px,7vh,86px); }
.missing-eyebrow {
  position:relative;
  z-index:2;
  margin:0 0 24px;
  color:var(--bordeaux);
  font-size:clamp(.68rem,.78vw,.8rem);
  letter-spacing:.25em;
  font-weight:500;
}
.missing-hero h2 {
  position:relative;
  z-index:2;
  margin:0;
  max-width:1200px;
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,6.4vw,7.6rem);
  line-height:.98;
  letter-spacing:-.047em;
  font-weight:400;
}
.missing-dots {
  position:absolute;
  z-index:0;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);
  color:rgba(0,128,128,.055);
  font-family:Georgia,"Times New Roman",serif;
  font-size:min(34vw,520px);
  line-height:.6;
  letter-spacing:.08em;
  user-select:none;
  pointer-events:none;
  text-shadow:0 0 100px rgba(0,128,128,.04);
}
.missing-opening {
  border-top:1px solid rgba(210,208,203,.1);
  padding:clamp(52px,7vh,84px) 0 clamp(98px,13vh,150px);
}
.missing-opening-copy {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(52px,7vw,120px);
  color:rgba(182,184,179,.78);
  font-size:clamp(.98rem,1.08vw,1.1rem);
  line-height:1.88;
  font-weight:300;
}
.missing-opening-copy p { margin:0; max-width:620px; }
.missing-opening-copy p:last-child { justify-self:end; }
.missing-standalone-dash { display:inline-block; line-height:1; }
.missing-emphasis {
  margin:clamp(68px,8vh,96px) auto 0;
  max-width:980px;
  text-align:center;
  color:rgba(220,218,212,.88);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.25vw,3.8rem);
  line-height:1.24;
}
.missing-emphasis span { color:#0b9999; }
.missing-rule {
  width:100%;
  height:1px;
  margin:0 0 clamp(98px,13vh,156px);
  background:linear-gradient(90deg,rgba(141,0,29,.66),rgba(210,208,203,.08) 25%,rgba(210,208,203,.08) 75%,rgba(0,128,128,.44));
}
.missing-process {
  display:grid;
  grid-template-columns:minmax(130px,.28fr) minmax(0,1fr);
  gap:clamp(38px,6vw,96px);
  align-items:start;
  max-width:1450px;
}
.missing-process-number {
  color:rgba(0,128,128,.13);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(6rem,10vw,11rem);
  line-height:.72;
  letter-spacing:-.06em;
  user-select:none;
}
.missing-process-copy { max-width:1180px; }
.missing-kicker { margin:0 0 20px; color:var(--bordeaux); font-size:.7rem; letter-spacing:.22em; font-weight:500; }
.missing-process h3,
.missing-note h3 {
  margin:0 0 clamp(30px,4vh,44px);
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,4vw,4.4rem);
  line-height:1.08;
  letter-spacing:-.038em;
  font-weight:400;
}
.missing-process-copy > p:not(.missing-kicker):not(.missing-free) {
  margin:0 0 1.45em;
  color:rgba(179,181,176,.77);
  font-size:clamp(.94rem,1.08vw,1.08rem);
  line-height:1.84;
  font-weight:300;
}
.missing-possibilities {
  margin:clamp(38px,5vh,58px) 0;
  padding:6px 0 6px clamp(28px,3vw,46px);
  border-left:1px solid rgba(0,128,128,.72);
}
.missing-possibilities p {
  margin:0;
  padding:.5em 0;
  color:rgba(222,220,214,.92);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.32rem,1.9vw,1.95rem);
  line-height:1.38;
}
.missing-free {
  margin:clamp(40px,5vh,58px) 0 0;
  color:#0b9999;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,2.2vw,2.35rem);
  line-height:1.4;
}
.missing-free-line { white-space:nowrap; }
.missing-note {
  position:relative;
  width:min(1380px,94%);
  margin:clamp(132px,17vh,210px) auto 0;
  padding:clamp(60px,8vh,92px) clamp(34px,7vw,110px);
  text-align:center;
  border-top:1px solid rgba(210,208,203,.11);
  border-bottom:1px solid rgba(210,208,203,.11);
  background:linear-gradient(90deg,transparent,rgba(141,0,29,.026),rgba(0,128,128,.025),transparent);
}
.missing-note-line {
  position:absolute;
  top:-1px;
  left:50%;
  width:82px;
  height:1px;
  transform:translateX(-50%);
  background:var(--bordeaux);
}
.missing-note .missing-kicker { margin-bottom:22px; }
.missing-note h3 { margin-bottom:30px; font-size:clamp(2.5rem,4.4vw,4.9rem); }
.missing-note > p:not(.missing-kicker) {
  max-width:1240px;
  margin:0 auto 1.2em;
  color:rgba(174,176,171,.78);
  font-size:clamp(.94rem,1.05vw,1.06rem);
  line-height:1.82;
  font-weight:300;
}
.missing-note strong { color:rgba(220,218,212,.9); font-weight:500; letter-spacing:.05em; }
.missing-note-followup { white-space:nowrap; }
.missing-idea-link {
  margin-top:24px;
  border:0;
  background:transparent;
  color:rgba(210,208,203,.88);
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:8px 0;
  cursor:pointer;
  font-size:.78rem;
  letter-spacing:.16em;
}
.missing-idea-link span:last-child { color:var(--petrol); transition:transform .25s ease; }
.missing-idea-link:hover span:last-child { transform:translateX(6px); }
.missing-idea-link:focus-visible { outline:1px solid rgba(0,128,128,.65); outline-offset:8px; }
.missing-closing { margin:clamp(105px,14vh,175px) 0 0; text-align:center; }
.missing-closing > p { margin:0 0 22px; color:rgba(146,147,143,.72); font-size:.7rem; letter-spacing:.2em; }
.missing-cta {
  border:0;
  background:transparent;
  color:var(--paper);
  padding:8px 0;
  display:inline-flex;
  align-items:center;
  gap:20px;
  cursor:pointer;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,3.3vw,3.55rem);
  font-weight:400;
  letter-spacing:-.025em;
}
.missing-cta span:last-child { color:var(--petrol); transition:transform .25s ease,color .2s ease; }
.missing-cta:hover span:last-child { transform:translateX(8px); color:#0b9a9a; }
.missing-cta:focus-visible { outline:1px solid rgba(0,128,128,.7); outline-offset:9px; }

@media (max-width:900px) {
  .missing-opening-copy { grid-template-columns:1fr; max-width:780px; }
  .missing-opening-copy p:last-child { justify-self:start; }
}

@media (max-width:760px) {
  .missing-page { padding:112px 22px 72px; }
  .missing-hero { min-height:0; padding:30px 0 72px; }
  .missing-index { align-self:stretch; margin-top:28px; margin-bottom:48px; }
  .missing-eyebrow { max-width:310px; font-size:.61rem; line-height:1.6; }
  .missing-hero h2 { font-size:clamp(3.15rem,15vw,4.8rem); line-height:.98; }
  .missing-dots { top:50%; font-size:105vw; }
  .missing-opening { padding:42px 0 76px; }
  .missing-opening-copy { display:block; font-size:.92rem; line-height:1.72; }
  .missing-opening-copy p { margin-bottom:1.45em; }
  .missing-emphasis { margin-top:48px; font-size:clamp(1.75rem,8vw,2.6rem); }
  .missing-emphasis br { display:none; }
  .missing-rule { margin-bottom:72px; }
  .missing-process { display:flex; flex-direction:column; gap:24px; max-width:none; }
  .missing-process-number { font-size:5.8rem; line-height:.7; }
  .missing-kicker { margin-bottom:16px; font-size:.62rem; line-height:1.55; }
  .missing-process h3, .missing-note h3 { font-size:clamp(2rem,10vw,3rem); margin-bottom:28px; }
  .missing-process-copy > p:not(.missing-kicker):not(.missing-free) { font-size:.92rem; line-height:1.72; }
  .missing-possibilities { margin:34px 0; padding-left:22px; }
  .missing-possibilities p { font-size:clamp(1.16rem,5.9vw,1.55rem); }
  .missing-free { font-size:1.45rem; }
  .missing-free-line, .missing-note-followup { white-space:normal; }
  .missing-note { width:100%; margin-top:94px; padding:52px 12px; }
  .missing-note > p:not(.missing-kicker) { font-size:.92rem; line-height:1.72; }
  .missing-idea-link { margin-top:18px; font-size:.7rem; }
  .missing-closing { margin-top:88px; }
  .missing-cta { font-size:clamp(1.65rem,8.5vw,2.4rem); gap:14px; }
}


/* v32 — Kontakt */
.contact-page {
  position:relative;
  min-height:100svh;
  overflow-x:hidden;
  padding:clamp(126px,12vh,164px) clamp(30px,6.5vw,118px) clamp(88px,11vh,150px);
  background:linear-gradient(145deg,#061012 0%,#050a0b 54%,#071113 100%);
  isolation:isolate;
}
.contact-ambient {
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 12%,rgba(0,128,128,.085),transparent 27%),
    radial-gradient(circle at 14% 58%,rgba(141,0,29,.04),transparent 29%),
    radial-gradient(circle at 88% 72%,rgba(0,128,128,.035),transparent 29%);
}
.contact-shell { width:min(1480px,100%); margin:0 auto; position:relative; }
.contact-hero {
  position:relative;
  min-height:clamp(430px,56vh,650px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:clamp(28px,4vh,50px) 0 clamp(78px,10vh,116px);
}
.contact-index { align-self:stretch; margin:0 0 clamp(56px,7vh,84px); }
.contact-eyebrow {
  position:relative;
  z-index:2;
  margin:0 0 24px;
  color:var(--bordeaux);
  font-size:clamp(.68rem,.78vw,.8rem);
  letter-spacing:.25em;
  font-weight:500;
}
.contact-hero h2 {
  position:relative;
  z-index:2;
  margin:0;
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,6.4vw,7.6rem);
  line-height:.98;
  letter-spacing:-.047em;
  font-weight:400;
}
.contact-lead {
  position:relative;
  z-index:2;
  margin:clamp(30px,4vh,46px) 0 0;
  color:rgba(177,179,174,.78);
  font-size:clamp(.96rem,1.15vw,1.16rem);
  line-height:1.75;
  font-weight:300;
}
.contact-mark {
  position:absolute;
  z-index:0;
  left:50%;
  top:49%;
  transform:translate(-50%,-50%);
  color:rgba(0,128,128,.045);
  font-family:Georgia,"Times New Roman",serif;
  font-size:min(30vw,460px);
  line-height:.7;
  user-select:none;
  pointer-events:none;
  text-shadow:0 0 100px rgba(0,128,128,.035);
}
.contact-paths { border-top:1px solid rgba(210,208,203,.11); }
.contact-path {
  width:100%;
  display:grid;
  grid-template-columns:70px minmax(0,1fr) minmax(150px,.28fr) 38px;
  gap:clamp(18px,2.7vw,44px);
  align-items:center;
  padding:clamp(30px,4vh,48px) 0;
  border:0;
  border-bottom:1px solid rgba(210,208,203,.11);
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:padding-left .3s ease,background .3s ease;
}
.contact-path:hover,
.contact-path[aria-pressed="true"] { padding-left:clamp(10px,1.2vw,20px); background:linear-gradient(90deg,rgba(0,128,128,.035),transparent 70%); }
.contact-path-number { color:var(--petrol); font-size:.68rem; letter-spacing:.18em; font-weight:500; }
.contact-path-main { display:flex; flex-direction:column; gap:10px; min-width:0; }
.contact-path-main strong {
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,3vw,3.4rem);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:400;
}
.contact-path-main small { max-width:720px; color:rgba(160,162,157,.74); font-size:clamp(.82rem,.92vw,.96rem); line-height:1.65; font-weight:300; }
.contact-path-action { justify-self:end; color:rgba(178,180,175,.72); font-size:.68rem; letter-spacing:.16em; white-space:nowrap; }
.contact-path-arrow { justify-self:end; color:var(--bordeaux); font-family:Georgia,"Times New Roman",serif; font-size:1.7rem; transition:transform .25s ease,color .2s ease; }
.contact-path:hover .contact-path-arrow,
.contact-path[aria-pressed="true"] .contact-path-arrow { transform:translateX(7px); color:#0b9999; }
.contact-path:focus-visible { outline:1px solid rgba(0,128,128,.7); outline-offset:7px; }
.contact-form-area {
  width:min(1280px,92%);
  margin:clamp(110px,15vh,185px) auto 0;
  padding:clamp(58px,8vh,92px) clamp(26px,5vw,78px);
  border-top:1px solid rgba(210,208,203,.12);
  border-bottom:1px solid rgba(210,208,203,.12);
  background:linear-gradient(100deg,rgba(141,0,29,.018),rgba(0,128,128,.028),rgba(141,0,29,.014));
}
.contact-form-placeholder { text-align:center; padding:clamp(18px,3vh,34px) 0; }
.contact-form-line { display:block; width:76px; height:1px; margin:0 auto 28px; background:var(--bordeaux); }
.contact-form-placeholder p,
.contact-form-kicker { margin:0 0 20px; color:var(--bordeaux); font-size:.68rem; letter-spacing:.22em; font-weight:500; }
.contact-form-placeholder h3,
.contact-form-head h3 {
  margin:0;
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.4rem,4.2vw,4.7rem);
  line-height:1.08;
  letter-spacing:-.038em;
  font-weight:400;
}
.contact-form-head { text-align:center; max-width:1000px; margin:0 auto clamp(54px,7vh,80px); }
.contact-form-head > p:last-child { max-width:760px; margin:28px auto 0; color:rgba(174,176,171,.77); font-size:clamp(.92rem,1.03vw,1.04rem); line-height:1.78; font-weight:300; }
.contact-form-panel[hidden] { display:none!important; }
.contact-form { max-width:1020px; margin:0 auto; }
.contact-fields { display:grid; gap:clamp(28px,4vw,54px); }
.contact-fields-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.contact-form label { display:flex; flex-direction:column; gap:12px; }
.contact-form label > span { color:rgba(187,189,184,.76); font-size:.68rem; letter-spacing:.18em; font-weight:500; }
.contact-form label > span em { color:rgba(125,128,123,.7); font-style:normal; font-size:.58rem; letter-spacing:.12em; }
.contact-form input,
.contact-form textarea {
  width:100%;
  border:0;
  border-bottom:1px solid rgba(210,208,203,.16);
  border-radius:0;
  background:rgba(0,0,0,.08);
  color:var(--paper);
  padding:16px 4px;
  font:300 clamp(.96rem,1.05vw,1.06rem)/1.65 "Manrope",system-ui,sans-serif;
  outline:none;
  transition:border-color .2s ease,background .2s ease;
}
.contact-form textarea { min-height:190px; resize:vertical; padding:18px 4px; }
.contact-form input:focus,
.contact-form textarea:focus { border-bottom-color:rgba(0,128,128,.8); background:rgba(0,128,128,.025); }
.contact-form textarea::placeholder { color:rgba(126,128,124,.56); }
.contact-field-wide { margin-top:clamp(40px,5vh,58px); }
.contact-form-note { max-width:900px; margin:clamp(36px,5vh,54px) 0 0; color:rgba(153,155,150,.68); font-size:.78rem; line-height:1.75; font-weight:300; }
.contact-submit {
  margin:clamp(44px,6vh,66px) 0 0;
  border:0;
  background:transparent;
  color:var(--paper);
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:8px 0;
  cursor:pointer;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,3vw,3.2rem);
  font-weight:400;
  letter-spacing:-.025em;
}
.contact-submit span:last-child { color:var(--petrol); transition:transform .25s ease,color .2s ease; }
.contact-submit:hover span:last-child { transform:translateX(8px); color:#0b9a9a; }
.contact-submit:focus-visible { outline:1px solid rgba(0,128,128,.7); outline-offset:9px; }
.contact-submit:disabled { opacity:.45; cursor:wait; }
.contact-status { min-height:1.6em; margin:20px 0 0; color:#0b9999; font-size:.8rem; line-height:1.6; }
.contact-status.is-error { color:#b84c63; }
.contact-privacy-note { max-width:720px; margin:42px auto 0; text-align:center; color:rgba(132,134,130,.55); font-size:.7rem; line-height:1.65; font-weight:300; }
.netlify-honeypot { position:absolute!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; height:1px!important; width:1px!important; margin:-1px!important; padding:0!important; border:0!important; }

@media (max-width:900px) {
  .contact-path { grid-template-columns:44px minmax(0,1fr) 30px; }
  .contact-path-action { display:none; }
}

@media (max-width:760px) {
  .contact-page { padding:112px 22px 72px; }
  .contact-hero { min-height:0; padding:30px 0 76px; }
  .contact-index { margin-top:28px; margin-bottom:48px; }
  .contact-eyebrow { max-width:320px; font-size:.61rem; line-height:1.6; }
  .contact-hero h2 { font-size:clamp(3.15rem,15vw,4.8rem); line-height:.98; }
  .contact-hero h2 br { display:none; }
  .contact-lead { margin-top:28px; font-size:.92rem; }
  .contact-mark { top:52%; font-size:96vw; }
  .contact-path { grid-template-columns:32px minmax(0,1fr) 24px; gap:12px; padding:28px 0; }
  .contact-path:hover,
  .contact-path[aria-pressed="true"] { padding-left:6px; }
  .contact-path-number { font-size:.56rem; }
  .contact-path-main { gap:8px; }
  .contact-path-main strong { font-size:clamp(1.45rem,7.8vw,2.15rem); }
  .contact-path-main small { font-size:.76rem; line-height:1.55; }
  .contact-path-arrow { font-size:1.35rem; }
  .contact-form-area { width:100%; margin-top:86px; padding:48px 14px; }
  .contact-form-placeholder h3,
  .contact-form-head h3 { font-size:clamp(2rem,10vw,3rem); }
  .contact-form-head { margin-bottom:48px; }
  .contact-form-head > p:last-child { font-size:.9rem; line-height:1.7; }
  .contact-fields-two { grid-template-columns:1fr; gap:34px; }
  .contact-field-wide { margin-top:34px; }
  .contact-form input,
  .contact-form textarea { font-size:.94rem; }
  .contact-form textarea { min-height:170px; }
  .contact-form-note { font-size:.72rem; }
  .contact-submit { margin-top:44px; font-size:clamp(1.65rem,8.5vw,2.4rem); gap:14px; }
  .contact-privacy-note { margin-top:30px; font-size:.66rem; }
}


/* v34 — Kontakt direkt als allgemeines Nachrichtenformular */
.contact-form-area-direct {
  margin-top:clamp(28px,4vh,52px);
}
@media (max-width:760px) {
  .contact-form-area-direct { margin-top:24px; }
}


/* Legal pages */
.legal-page {
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:linear-gradient(145deg,#071415 0%,#050a0b 64%,#030607 100%);
  color:var(--paper);
  padding:clamp(112px,13vh,154px) clamp(30px,7vw,110px) clamp(90px,10vh,130px);
}
.legal-ambient {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 76% 12%,rgba(0,128,128,.09),transparent 27%),radial-gradient(circle at 18% 82%,rgba(141,0,29,.045),transparent 30%);
}
.privacy-ambient { background:radial-gradient(circle at 77% 8%,rgba(0,128,128,.075),transparent 29%),radial-gradient(circle at 14% 74%,rgba(141,0,29,.04),transparent 31%); }
.legal-shell { position:relative; z-index:1; width:min(1380px,100%); margin:0 auto; }
.legal-shell-privacy { width:min(1320px,100%); }
.legal-hero { max-width:1000px; margin:0 0 clamp(74px,9vh,112px); }
.legal-eyebrow { margin:0 0 22px; color:var(--bordeaux); font-size:.68rem; letter-spacing:.25em; font-weight:500; }
.legal-hero h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(4rem,8vw,8.3rem); line-height:.94; letter-spacing:-.05em; font-weight:400; }
.legal-lead { max-width:820px; margin:30px 0 0; color:rgba(171,173,168,.77); font-size:clamp(.92rem,1.08vw,1.08rem); line-height:1.8; font-weight:300; }
.legal-grid { display:grid; gap:1px; background:rgba(210,208,203,.105); border-top:1px solid rgba(210,208,203,.105); border-bottom:1px solid rgba(210,208,203,.105); }
.legal-grid-imprint { grid-template-columns:1.25fr .75fr; }
.legal-block { min-height:360px; padding:clamp(42px,5vw,72px); background:rgba(4,10,11,.88); }
.legal-number,.privacy-index { color:var(--petrol); font-size:.62rem; letter-spacing:.18em; font-weight:500; }
.legal-block h3,.privacy-block h3 { margin:24px 0 28px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,3.1vw,3.25rem); line-height:1.05; letter-spacing:-.035em; font-weight:400; }
.legal-block p,.privacy-block p { color:rgba(174,176,171,.78); font-size:clamp(.9rem,1.02vw,1.02rem); line-height:1.82; font-weight:300; }
.legal-block strong,.privacy-block strong { color:var(--paper); font-weight:400; }
.legal-address { line-height:1.95!important; }
.legal-placeholder { color:#b96a7b; border-bottom:1px solid rgba(141,0,29,.65); padding-bottom:2px; }
.legal-small { margin-top:34px!important; color:rgba(143,145,141,.62)!important; font-size:.77rem!important; }
.legal-dev-note { margin:clamp(56px,7vh,86px) 0 0; padding:clamp(32px,4vw,52px); border:1px solid rgba(141,0,29,.35); background:linear-gradient(135deg,rgba(141,0,29,.075),rgba(0,128,128,.025)); max-width:1120px; }
.legal-dev-kicker { margin:0 0 18px!important; color:var(--bordeaux)!important; font-size:.65rem!important; letter-spacing:.22em; font-weight:500!important; }
.legal-dev-note p { margin:0; color:rgba(174,176,171,.78); font-size:.88rem; line-height:1.78; font-weight:300; }
.legal-dev-note p + p { margin-top:15px; }
.legal-dev-note strong { color:var(--paper); font-weight:400; }
.privacy-list { border-top:1px solid rgba(210,208,203,.11); }
.privacy-block { display:grid; grid-template-columns:72px minmax(0,1fr); gap:clamp(18px,3vw,52px); padding:clamp(44px,6vh,70px) 0; border-bottom:1px solid rgba(210,208,203,.11); }
.privacy-index { padding-top:10px; }
.privacy-block > div:last-child { max-width:980px; }
.privacy-block h3 { margin:0 0 26px; font-size:clamp(1.9rem,2.9vw,3rem); }
.privacy-block p { margin:0; }
.privacy-block p + p { margin-top:18px; }
.privacy-warning-block { position:relative; }
.privacy-warning-block::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--bordeaux); opacity:.75; }
.privacy-warning-block > * { margin-left:clamp(18px,2vw,28px); }
.legal-version { margin:48px 0 0; color:rgba(132,134,130,.55); font-size:.7rem; letter-spacing:.08em; }
.inline-legal-link { border:0; padding:0; background:none; color:inherit; text-decoration:underline; text-decoration-color:rgba(0,128,128,.6); text-underline-offset:3px; cursor:pointer; font:inherit; }
.inline-legal-link:hover { color:var(--paper); }

@media (max-width:760px) {
  .legal-page { padding:112px 22px 72px; overflow-x:hidden; }
  .legal-hero { margin-top:28px; margin-bottom:62px; }
  .legal-eyebrow { font-size:.6rem; }
  .legal-hero h2 { font-size:clamp(3.3rem,16vw,5rem); }
  .legal-lead { margin-top:24px; font-size:.9rem; line-height:1.7; }
  .legal-grid-imprint { grid-template-columns:1fr; }
  .legal-block { min-height:0; padding:38px 22px 44px; }
  .legal-block h3 { margin-top:20px; font-size:2.15rem; }
  .legal-block p,.privacy-block p { font-size:.88rem; line-height:1.72; }
  .legal-dev-note { padding:28px 22px; margin-top:44px; }
  .privacy-block { grid-template-columns:32px minmax(0,1fr); gap:12px; padding:38px 0; }
  .privacy-index { font-size:.55rem; }
  .privacy-block h3 { font-size:clamp(1.75rem,9vw,2.35rem); margin-bottom:22px; }
  .privacy-warning-block > * { margin-left:12px; }
}

/* RAVYN legal contact links */
.legal-page a {
  color:rgba(210,208,203,.82);
  text-decoration:none;
  border-bottom:1px solid rgba(0,128,128,.38);
  transition:color .2s ease,border-color .2s ease;
}
.legal-page a:hover,
.legal-page a:focus-visible {
  color:var(--paper);
  border-bottom-color:var(--petrol);
}


/* Consistent end-of-page navigation for the six main menu pages */
.back-to-top {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:clamp(34px,6vw,72px) auto clamp(24px,4vw,48px);
  padding:10px 18px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.72rem;
  letter-spacing:.14em;
  cursor:pointer;
  transition:color .2s ease, transform .2s ease;
}
.back-to-top span { color:#0b8f8f; font-size:1rem; line-height:1; }
.back-to-top:hover { color:var(--paper); transform:translateY(-2px); }
.back-to-top:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
@media (max-width:760px) {
  .back-to-top { margin-top:38px; margin-bottom:28px; font-size:.68rem; }
}

/* v50 — Back-to-top on the two overview pages belongs below the content, not beside it */
@media (min-width:761px) {
  .apps-overview {
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .apps-overview > .back-to-top {
    flex:0 0 auto;
  }
}
