/* Mamori – Platzhalterseite. Farben und Schriften aus DESIGN.md („Dein kleines Universum“): Cremepapier, dunkelblaue
   Tinte, sanftes Gelb; Kalam nur für Überschriften, Young Serif nur für die Wortmarke, sonst Systemschrift. */
@font-face { font-family: "Kalam"; src: url("/fonts/kalam-300.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Young Serif"; src: url("/fonts/young-serif-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root {
  --paper: #FBF6EC; --card: #FFFDF8; --sunk: #F2EADA; --ink: #16194A; --ink-2: #4B4E78; --line: #DCD2C0;
  --sun: #FBE49A; --on-sun: #16194A; --heart: #CD6F6B; --trail: #A38B64;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #10153A; --card: #181E4A; --sunk: #20275A; --ink: #F4EFE0; --ink-2: #B9BCD8; --line: #2D3570;
    --sun: #F3D877; --heart: #F08C88; --trail: #C9B48C; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif; }
a { color: inherit; text-underline-offset: 3px; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 8px; }
::selection { background: var(--sun); color: var(--on-sun); }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px; }
header.top { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
.wordmark { font-family: "Young Serif", Georgia, serif; font-size: 26px; letter-spacing: -0.01em; text-decoration: none; }
nav a { font-size: 15px; color: var(--ink-2); margin-left: 18px; }
h1, h2 { text-wrap: balance; font-family: "Kalam", "Bradley Hand", cursive; font-weight: 300; letter-spacing: -0.01em; margin: 0; }
h1 { font-size: clamp(34px, 8vw, 50px); line-height: 1.08; }
h2 { font-size: clamp(26px, 5.5vw, 32px); line-height: 1.12; margin-bottom: 12px; }
h3 { font-size: 17px; font-weight: 600; margin: 0 0 4px; }
p { margin: 0 0 14px; max-width: 33em; }
ul.plain { max-width: 33em; }
.lead { font-size: 19px; color: var(--ink-2); margin-top: 16px; }
.hero { padding: 28px 0 44px; display: grid; gap: 28px; align-items: center; }
.hero img { width: 128px; height: 128px; border-radius: 28px; display: block; }
.badge { display: inline-block; background: var(--sun); color: var(--on-sun); border-radius: 999px; padding: 10px 18px; font-size: 16px; margin-top: 8px; }
.note { font-size: 14.5px; color: var(--ink-2); margin-top: 10px; }
section { padding: 36px 0; border-top: 1px solid var(--line); }
.cards { display: grid; gap: 18px 28px; margin: 22px 0 0; }
.cards div p { margin: 0; color: var(--ink-2); }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; }
.card p { margin: 0; color: var(--ink-2); }
.plans { display: grid; gap: 14px; margin-top: 18px; }
.price { font-family: "Courier New", Courier, monospace; font-size: 15px; color: var(--ink-2); }
ul.plain { margin: 8px 0 0; padding-left: 20px; color: var(--ink-2); }
details { border-bottom: 1px solid var(--line); padding: 14px 0; }
summary { cursor: pointer; font-weight: 600; }
details p { margin: 10px 0 0; color: var(--ink-2); }
footer { border-top: 1px solid var(--line); padding: 28px 0 44px; font-size: 14.5px; color: var(--ink-2); }
footer a { margin-right: 16px; }
.legal h1 { font-size: clamp(30px, 6vw, 40px); margin: 16px 0 20px; }
.legal h2 { font-family: inherit; font-weight: 600; font-size: 19px; letter-spacing: 0; margin: 26px 0 8px; }
.legal { padding-bottom: 40px; }
@media (min-width: 640px) {
  .hero { grid-template-columns: 1fr auto; padding: 44px 0 60px; }
  .hero img { width: 168px; height: 168px; border-radius: 36px; }
  .cards, .plans { grid-template-columns: 1fr 1fr; }
}
