/* Lu Fung – statische Hinweiswebseite. Ohne externe Schriftarten, Cookies oder JavaScript. */
:root {
  color-scheme: light;
  --wine: #ab1220;
  --wine-dark: #830d17;
  --wine-deep: #510b12;
  --gold: #ba9361;
  --cream: #fbf7f1;
  --cream-dark: #f4ebde;
  --ink: #28231f;
  --muted: #685f57;
  --line: #e8ded1;
  --white: #fff;
  --radius: 20px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid var(--gold); outline-offset: 5px; border-radius: 3px; }
.wrap { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.site-header {
  background: #fffdfa;
  border-bottom: 1px solid var(--line);
}
.header-inner { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1; color: var(--wine); text-decoration: none; }
.brand-name { font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 4vw, 43px); font-weight: 700; letter-spacing: -.035em; }
.brand-subtitle { font-size: 10px; font-weight: 800; letter-spacing: .33em; margin-top: 8px; color: var(--ink); }
.top-nav { display: flex; align-items: center; gap: clamp(16px, 3vw, 32px); }
.top-nav a { font-size: .9rem; font-weight: 650; color: #453b36; text-decoration: none; }
.top-nav a:hover, .footer-links a:hover { color: var(--wine); text-decoration: underline; }
.hero {
  color: var(--white);
  background: radial-gradient(circle at 89% 35%, rgba(255,255,255,.09) 0, transparent 37%),
              linear-gradient(115deg, var(--wine-deep), var(--wine) 56%, #bc2531);
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: ""; position: absolute; inset: 14px;
  border: 1px solid rgba(240,207,161,.16); pointer-events: none;
}
.hero-inner { min-height: 427px; display: flex; align-items: center; gap: 45px; padding-block: 79px 81px; position: relative; z-index: 1; }
.hero-copy { max-width: 770px; }
.eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 19px; text-transform: uppercase; font-size: .75rem; letter-spacing: .21em; font-weight: 750; }
.eyebrow::before { content: ""; width: 30px; height: 1px; background: #dfb979; }
.hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 6.9vw, 75px); letter-spacing: -.035em; font-weight: 700; line-height: 1.06; text-wrap: balance; }
.hero-lead { font-size: clamp(17px, 2vw, 21px); line-height: 1.55; max-width: 640px; color: #ffeae9; margin: 25px 0 0; }
.date-pill { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 40px; margin-top: 29px; padding: 8px 17px; font-weight: 750; font-size: .92rem; letter-spacing: .03em; }
.hero-emblem { margin-left: auto; width: 205px; flex: 0 0 205px; opacity: .85; }
.hero-emblem svg { width: 100%; height: auto; display: block; }
.main-content { padding-block: 64px 78px; }
.letter { background: var(--white); border-radius: var(--radius); border: 1px solid var(--line); box-shadow: 0 20px 55px rgba(56,29,19,.045); overflow: hidden; }
.letter-content { padding: clamp(29px, 5.6vw, 65px); max-width: 920px; margin-inline: auto; }
.section-kicker { color: var(--wine); text-transform: uppercase; letter-spacing: .18em; font-size: .74rem; font-weight: 800; margin: 0 0 18px; }
.letter h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 42px); line-height: 1.2; letter-spacing: -.02em; margin: 0 0 28px; }
.letter p { margin: 0 0 22px; font-size: clamp(16px, 1.7vw, 18px); }
.letter p:last-child { margin-bottom: 0; }
.dividing-line { border: 0; height: 1px; background: var(--line); margin: 35px 0; }
.promise { color: var(--wine); font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 3vw, 34px); font-weight: 700; line-height: 1.3; margin: 0 0 18px; }
.signoff { margin-top: 26px !important; font-weight: 750; }
.next-info { margin-top: 28px; background: var(--cream-dark); border-radius: 16px; border: 1px solid var(--line); padding: 26px 32px; display: flex; align-items: center; gap: 28px; }
.next-mark { width: 48px; height: 48px; color: var(--wine); flex: 0 0 48px; }
.next-info h3 { font-size: 19px; margin: 0 0 4px; }
.next-info p { color: var(--muted); margin: 0; }
.contact-band { margin-top: 28px; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 35px clamp(26px, 4vw, 49px); border-radius: var(--radius); background: var(--wine-deep); color: var(--white); }
.contact-band h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 3vw, 32px); line-height: 1.25; margin: 5px 0 7px; }
.contact-band p { margin: 0; color: #f8ddd9; }
.contact-eyebrow { text-transform: uppercase; color: #f1c7a0 !important; letter-spacing: .15em; font-weight: 750; font-size: 12px; }
.phone-link { white-space: nowrap; color: var(--wine-deep); background: white; display: inline-flex; align-items: center; justify-content: center; gap: 13px; font-weight: 800; font-size: clamp(16px, 2vw, 21px); border-radius: 8px; text-decoration: none; padding: 15px 21px; }
.phone-link:hover { background: #fff0de; }
.phone-link svg { width: 19px; height: 19px; }
.site-footer { border-top: 1px solid var(--line); background: #fffdfa; padding: 32px 0; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.footer-note { font-size: 13px; color: var(--muted); margin: 0; }
.footer-links { display: flex; gap: 25px; align-items: center; }
.footer-links a { font-size: 14px; font-weight: 650; color: var(--muted); text-decoration: none; }
.legal-hero { color: white; background: linear-gradient(105deg, var(--wine-deep), var(--wine)); padding-block: 52px 58px; }
.legal-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 5vw, 54px); margin: 2px 0 0; letter-spacing: -.025em; line-height: 1.14; }
.legal-hero .eyebrow { margin: 0; }
.legal-main { padding-block: 46px 75px; }
.legal-paper { background: white; border: 1px solid var(--line); border-radius: 18px; padding: clamp(25px, 5vw, 55px); max-width: 860px; margin-inline: auto; }
.legal-paper h2 { font-family: Georgia, "Times New Roman", serif; color: var(--wine-deep); font-size: 24px; line-height: 1.3; margin: 38px 0 10px; }
.legal-paper h2:first-child { margin-top: 0; }
.legal-paper p, .legal-paper li { font-size: 16px; overflow-wrap: anywhere; }
.legal-paper p { margin: 0 0 14px; }
.legal-paper address { font-style: normal; }
.legal-paper ul { padding-left: 1.4rem; margin-top: 0; }
.legal-paper a { color: var(--wine); }
.legal-paper .back-link { display: inline-block; margin-top: 28px; font-weight: 700; }
@media (max-width: 730px) {
  .header-inner { min-height: 87px; }
  .top-nav { gap: 15px; }
  .top-nav a { font-size: .83rem; }
  .top-nav a:nth-child(2) { display: none; }
  .hero-inner { min-height: auto; padding-block: 72px 76px; }
  .hero-emblem { display: none; }
  .main-content { padding-block: 35px 52px; }
  .next-info { padding: 23px; gap: 17px; align-items: flex-start; }
  .next-mark { height: 32px; width: 32px; flex-basis: 32px; }
  .contact-band { flex-direction: column; align-items: stretch; padding-block: 29px; }
  .phone-link { align-self: flex-start; }
}
@media (max-width: 420px) {
  .wrap { width: calc(100% - 30px); }
  .brand-name { font-size: 31px; }
  .brand-subtitle { font-size: 8.5px; }
  .hero h1 { font-size: 40px; }
  .hero-inner { padding-block: 65px 70px; }
  .letter-content { padding: 27px 23px; }
  .next-info { display: block; }
  .next-mark { margin-bottom: 11px; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
