/* baumwollpyjama.de — alle Seiten (DE + EN). Farben aus tokens.css (= Lunedo-Tokens, gleiches Teal wie beide Apps). */
:root { --maxw: 1120px; --gutter: clamp(20px, 4vw, 40px); --ink: #0B2F29; }
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); color: var(--text-1); background: var(--bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gutter); }

/* Wortmarke: gestreiftes Emblem + Name */
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; letter-spacing: -.02em; }
.brand-mark { width: 34px; height: 34px; }  /* Roboter im Pyjama mit Mond-Antenne (assets/logo.svg) */

/* Kopfzeile */
header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.88); -webkit-backdrop-filter: saturate(140%) blur(10px); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid transparent; transition: border-color .2s; }
header.is-scrolled, header.is-sub { border-bottom-color: var(--border); }
.nav { display: flex; align-items: center; gap: 28px; height: 64px; }
.nav-links { margin-left: auto; display: flex; gap: 26px; font-size: 14px; font-weight: 500; color: var(--text-2); }
.nav-links a:hover, .nav-links a[aria-current] { color: var(--teal); }
.lang-switch { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--text-2); }
.lang-switch a:hover { color: var(--teal); }
.lang-switch .sep { color: var(--border); font-weight: 400; }
.lang-active { color: var(--teal); }
@media (max-width: 640px) {
  .nav { gap: 16px; }
  .nav-links { gap: 16px; font-size: 13.5px; }
  .nav-links .opt { display: none; }
}

/* Startseite */
.hero { padding-block: clamp(56px, 9vw, 120px) clamp(40px, 6vw, 72px); position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: -40% -20% auto auto; width: 70vw; max-width: 760px; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(167,237,230,.55), rgba(167,237,230,0)); z-index: -1; }
.eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
.hero h1 { font-family: var(--font-display); font-size: clamp(38px, 6.2vw, 72px); line-height: 1.02; letter-spacing: -.035em; margin: 16px 0 22px; max-width: 14ch; }
.hero h1 .accent { color: var(--teal); }
.hero p { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; color: var(--text-2); max-width: 56ch; margin: 0; }

.section { padding-block: clamp(48px, 7vw, 96px); }
.section-head { max-width: 640px; margin-bottom: 36px; }
.section-head h2 { font-family: var(--font-display); font-size: clamp(28px, 3.6vw, 42px); line-height: 1.08; letter-spacing: -.025em; margin: 12px 0 12px; }
.section-head p { color: var(--text-2); font-size: 17px; line-height: 1.6; margin: 0; }

.apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 820px) { .apps { grid-template-columns: 1fr; } }
.app-card { position: relative; display: flex; flex-direction: column; gap: 18px; padding: clamp(24px, 3vw, 36px); border-radius: 28px; color: #fff; overflow: hidden;
  background: var(--ink); box-shadow: 0 30px 60px -30px rgba(5,56,48,.55); transition: transform .25s ease, box-shadow .25s ease; isolation: isolate; }
.app-card:hover { transform: translateY(-4px); box-shadow: 0 36px 70px -30px rgba(5,56,48,.65); }
.app-card::after { content: ""; position: absolute; z-index: -1; right: -20%; top: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(10,173,160,.35), rgba(10,173,160,0)); }
.app-card.lunedo { background: linear-gradient(150deg, #0A5D55 0%, #053830 70%); }
.app-card.wandelo { background: linear-gradient(150deg, #0E4A43 0%, #062B26 70%); }
.app-top { display: flex; align-items: center; gap: 16px; }
.app-top img { width: 64px; height: 64px; border-radius: 16px; box-shadow: 0 8px 20px -8px rgba(0,0,0,.5); }
.app-top h3 { margin: 0; font-family: var(--font-display); font-size: 28px; letter-spacing: -.02em; }
.app-top .platform { display: block; margin-top: 4px; font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--teal-light); }
.app-card p { margin: 0; font-size: 16.5px; line-height: 1.6; color: rgba(255,255,255,.82); }
.app-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; color: rgba(255,255,255,.75); }
.app-points li { display: flex; gap: 10px; align-items: baseline; }
.app-points li::before { content: ""; flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--teal-light); transform: translateY(-2px); }
.app-link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; padding: 11px 18px; border-radius: 999px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14.5px; }
.app-card:hover .app-link { background: var(--teal-light); }

.values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 820px) { .values { grid-template-columns: 1fr; } }
.value { background: var(--surface); border-radius: 22px; padding: 24px; }
.value .ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(8,110,100,.1); color: var(--teal); margin-bottom: 14px; }
.value .ic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.value h3 { margin: 0 0 6px; font-size: 17px; }
.value p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.55; }

.contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(24px, 3vw, 36px); border-radius: 28px; border: 1px solid var(--border); }
.contact h2 { margin: 0 0 6px; font-family: var(--font-display); font-size: 24px; letter-spacing: -.02em; }
.contact p { margin: 0; color: var(--text-2); font-size: 15.5px; line-height: 1.55; }
.contact-links { display: flex; flex-wrap: wrap; gap: 10px; }
.btn { display: inline-flex; align-items: center; padding: 11px 18px; border-radius: 999px; font-weight: 600; font-size: 14.5px; background: var(--teal); color: #fff; }
.btn:hover { background: var(--teal-dark); }

/* Unterseiten */
.legal { padding-block: clamp(44px, 6vw, 80px); }
.legal-inner { max-width: 740px; }
.legal h1 { font-family: var(--font-display); font-size: clamp(30px, 4.4vw, 46px); font-weight: 700; letter-spacing: -.02em; line-height: 1.06; margin: 12px 0 14px; }
.legal .stand { display: block; font-size: 14px; color: var(--text-3); margin-bottom: 40px; line-height: 1.5; }
.legal .intro { font-size: 18px; line-height: 1.6; color: var(--text-1); margin: 0 0 28px; }
.legal h2 { font-family: var(--font-display); font-size: 21px; font-weight: 700; letter-spacing: -.01em; margin: 40px 0 10px; }
.legal p, .legal li { line-height: 1.65; color: var(--text-2); font-size: 15.5px; }
.legal p { margin: 0 0 12px; }
.legal ul { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 6px; }
.legal strong { color: var(--text-1); font-weight: 600; }
.legal a { color: var(--teal); text-decoration: underline; text-decoration-color: rgba(8,110,100,.4); text-underline-offset: 2px; }
.legal a:hover { text-decoration-color: var(--teal); }
.legal address { font-style: normal; line-height: 1.85; color: var(--text-2); font-size: 15.5px; margin-bottom: 12px; }
.legal hr { border: none; border-top: 1px solid var(--border); margin: 40px 0; }
.mini-apps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0 8px; }
.mini-apps a { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; background: var(--surface); text-decoration: none !important; }
.mini-apps img { width: 48px; height: 48px; border-radius: 12px; box-shadow: var(--shadow-sm); }
.mini-apps b { display: block; color: var(--text-1); font-size: 16px; }
.mini-apps span { display: block; color: var(--text-2); font-size: 13.5px; line-height: 1.4; margin-top: 2px; }
@media (max-width: 560px) { .mini-apps { grid-template-columns: 1fr; } }

/* Fußzeile */
footer { border-top: 1px solid var(--border); padding-block: 44px; color: var(--text-2); font-size: 14px; margin-top: 24px; }
.foot-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, 1fr); gap: 40px; }
@media (max-width: 720px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-about { grid-column: 1 / -1; } }
.foot-about p { font-size: 14px; max-width: 38ch; margin-top: 12px; line-height: 1.6; }
.foot-col h4 { margin: 0 0 14px; font-size: 13px; font-weight: 600; color: var(--text-1); letter-spacing: .04em; text-transform: uppercase; }
.foot-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.foot-col a { display: inline-flex; align-items: center; gap: 8px; transition: color .15s; }
.foot-col a:hover, .foot-col a[aria-current] { color: var(--teal); }
.foot-col img { width: 18px; height: 18px; border-radius: 5px; }
.foot-bottom { margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: 13px; color: var(--text-3); }
