/* The Real Estate Salon – Variante E „Grün/Gold": zentriert, reduziert, tiefes Tannengrün mit goldenem Zeichen. */
:root {
  --red: #0f2f26;          /* Hintergrund: tiefes Tannengrün (Name historisch, Variable bleibt) */
  --red-deep: #0a2419;     /* dunklere Bänder */
  --cream: #efe6d2;        /* Fließtext: Elfenbein */
  --cream-soft: #b9ad8f;   /* Nebentext */
  --gold: #d4b46a;         /* Logo, Akzente, Linien */
  --line: rgba(212, 180, 106, .32);
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--red); color: var(--cream); font-family: var(--sans); font-size: 17px; line-height: 1.65; text-align: center; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; }

.caps { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; font-weight: 700; }

/* Kopf */
header.top { display: flex; align-items: center; justify-content: space-between; padding: 26px 40px; }
header.top .mark img { height: 44px; width: 44px; display: block; }
header.top nav { display: flex; gap: 30px; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; font-weight: 700; }
header.top nav a { text-decoration: none; color: var(--cream-soft); }
header.top nav a:hover { color: var(--cream); }

/* Hero */
.hero { min-height: min(calc(100vh - 100px), 780px); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px 90px; }
.hero .logo { width: 260px; height: auto; margin-bottom: 18px; }
.hero h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5.6vw, 76px); letter-spacing: -.01em; line-height: 1.05; margin: 0 0 26px; }
.hero .claim { font-size: clamp(17px, 1.6vw, 21px); color: var(--cream); margin: 0; line-height: 1.6; }
.hero .rule { width: 44px; height: 1px; background: var(--gold); margin: 36px auto 30px; opacity: .7; }
.hero .next { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; font-weight: 700; color: var(--gold); margin: 0 0 30px; }
.cta { display: inline-block; text-decoration: none; border: 1px solid var(--gold); color: var(--gold); padding: 16px 34px; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; font-weight: 700; transition: background .2s, color .2s; }
.cta:hover { background: var(--gold); color: var(--red); }

/* Blöcke */
.block { padding: 96px 24px; max-width: 760px; margin: 0 auto; }
.block.tint { max-width: none; background: var(--red-deep); }
.block.tint > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.kicker { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; font-weight: 700; color: var(--gold); margin-bottom: 26px; }
.kicker::after { content: ""; display: block; width: 32px; height: 1px; background: var(--gold); margin: 14px auto 0; opacity: .8; }
h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.15; margin: 0 0 24px; letter-spacing: -.01em; }
.lead { color: var(--cream); font-size: 18px; margin: 0 auto 40px; max-width: 640px; }
.numbers { display: flex; justify-content: center; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.numbers div { flex: 1; padding: 30px 10px; }
.numbers div + div { border-left: 1px solid var(--line); }
.numbers b { display: block; font-family: var(--serif); font-weight: 400; font-size: 56px; line-height: 1; color: var(--gold); }
.numbers span { display: block; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; font-weight: 700; color: var(--cream-soft); margin-top: 12px; }

.steps { list-style: none; padding: 0; margin: 0; counter-reset: s; }
.steps li { counter-increment: s; padding: 26px 0; border-top: 1px solid var(--line); }
.steps li:last-child { border-bottom: 1px solid var(--line); }
.steps li::before { content: "0" counter(s); display: block; font-size: 11px; letter-spacing: .3em; color: var(--gold); font-weight: 700; margin-bottom: 8px; }
.steps b { display: block; font-family: var(--serif); font-weight: 400; font-size: 24px; margin-bottom: 6px; }
.steps span { color: var(--cream-soft); }

.editions { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ed { border: 1px solid var(--line); padding: 36px 24px; }
.ed.current { border-color: var(--gold); }
.ed small { display: block; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; font-weight: 700; color: var(--cream-soft); margin-bottom: 14px; }
.ed h3 { font-family: var(--serif); font-weight: 400; font-size: 26px; margin: 0 0 8px; }
.ed p { margin: 0; color: var(--cream-soft); font-size: 15px; }
.note { color: var(--cream-soft); font-size: 15px; margin: 30px 0 0; }

.hosts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.hosts img { height: 56px; width: auto; filter: brightness(0) invert(1); opacity: .85; margin-bottom: 22px; }
.hosts img.min { height: 30px; margin-top: 17px; margin-bottom: 39px; }
.hosts h3 { font-family: var(--serif); font-weight: 400; font-size: 24px; margin: 0 0 6px; }
.hosts span { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; font-weight: 700; color: var(--cream-soft); }

.hint { color: var(--cream-soft); font-size: 13px; margin: 26px 0 0; }

footer { border-top: 1px solid var(--line); padding: 44px 24px 54px; font-size: 12px; color: var(--cream-soft); }
footer img { height: 40px; width: 40px; margin-bottom: 18px; opacity: .9; }
footer a { text-decoration: none; }
footer a:hover { text-decoration: underline; }

@media (max-width: 720px) {
  header.top { padding: 20px 22px; }
  header.top nav { display: none; }
  .hero .logo { width: 220px; }
  .editions, .hosts { grid-template-columns: 1fr; }
  .block { padding: 72px 22px; }
  .numbers b { font-size: 42px; }
}
/* Hero-Alternativen: Logo trägt den Namen selbst, deshalb ohne H1 */
.hero img.logo[src*="siegel"], .hero img.logo[src*="wortmarke"] { width: 340px; margin-bottom: 30px; }
.hero img.logo[src*="wortmarke"] { width: 520px; margin: -40px 0 0; }

.hero img.logo[src*="fenster"], .hero img.logo[src*="tisch_haus"] { width: 250px; margin-bottom: 14px; }
.hero img.logo[src*="siegel_fassade"], .hero img.logo[src*="siegel_dach"] { width: 340px; margin-bottom: 30px; }

header.top .mark img[src*="_mark"] { width: 64px; height: 40px; }
footer img[src*="_mark"] { width: 64px; height: 40px; }

.hero img.logo[src*="S1_"], .hero img.logo[src*="S2_"], .hero img.logo[src*="S3_"] { width: 300px; margin-bottom: 26px; filter: drop-shadow(0 24px 30px rgba(0,0,0,.45)); }
