:root{--green:#16332b;--green2:#21503f;--deep:#10261f;--cream:#f6f2ea;--paper:#fffdf8;--ink:#1b211f;--mute:#5f6b66;--brass:#b8935a;--brass2:#dcc293;--line:#e3dccd;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--green2)}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0}
p{margin:0 0 14px}

/* Kopf */
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:22px;padding-bottom:22px}
.brand{display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;font-weight:600}
.mono{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--brass);border-radius:8px;font-family:var(--serif);font-size:16px;color:var(--brass2);letter-spacing:.04em}
.tel{color:var(--brass2);text-decoration:none;font-weight:600;white-space:nowrap}
.tel:hover{color:#fff}

/* Hero */
.hero{background:radial-gradient(1100px 520px at 85% 0,var(--green2),transparent 70%),var(--green);color:var(--cream);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;padding:56px 0 0}
.hero-text{padding-bottom:64px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.hero .eyebrow{color:var(--brass2)}
h1{font-size:clamp(36px,6.2vw,62px);line-height:1.07}
.lead{margin:22px 0 30px;font-size:clamp(18px,2.2vw,21px);line-height:1.55;color:rgba(246,242,234,.82);max-width:34em}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;padding:14px 24px;border-radius:999px;border:1px solid var(--brass2);background:var(--brass2);color:var(--deep);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:#ebd6ad;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--cream);border-color:rgba(246,242,234,.4)}
.btn.ghost:hover{background:rgba(246,242,234,.1)}
.houses{display:block;width:100%;height:auto}
.facts{border-top:1px solid rgba(246,242,234,.16)}
.facts ul{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}
.facts li{padding:20px 0;font-size:15px;color:rgba(246,242,234,.75)}
.facts li+li{padding-left:24px;border-left:1px solid rgba(246,242,234,.16)}
.facts b{display:block;font-family:var(--serif);font-size:19px;font-weight:500;color:var(--cream)}

/* Abschnitte */
section{padding-top:84px;padding-bottom:84px}
h2{font-size:clamp(28px,4vw,40px);line-height:1.15;margin-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px}
.card svg{width:30px;height:30px;stroke:var(--brass);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.card h3{font-size:21px;margin-bottom:6px}
.card p{margin:0;color:var(--mute)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about p{font-size:18px}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{position:relative;padding:0 0 26px 62px;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:0;top:-4px;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--brass);border-radius:50%;font-family:var(--serif);font-size:19px;color:var(--brass)}
.steps b{display:block;font-family:var(--serif);font-size:20px;font-weight:500}
.steps span{color:var(--mute)}
.band{background:var(--green);color:var(--cream)}
.band .eyebrow{color:var(--brass2)}
.band p{font-family:var(--serif);font-size:clamp(21px,3vw,28px);line-height:1.45;max-width:30em;margin:0}

/* Kontakt */
.contact-big{display:block;font-family:var(--serif);font-size:clamp(30px,4.4vw,40px);line-height:1.2;color:var(--ink);text-decoration:none}
.contact-big:hover{color:var(--green2)}
.note{color:var(--mute);margin:6px 0 26px}
.mail{font-size:19px;font-weight:600;word-break:break-word}
.form{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 18px 40px -28px rgba(22,51,43,.45)}
label{display:block;font-weight:600;font-size:15px;margin:16px 0 6px}
form label:first-of-type{margin-top:0}
input,textarea{width:100%;padding:12px 14px;font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px}
input:focus,textarea:focus{outline:2px solid var(--brass);outline-offset:1px;border-color:var(--brass)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--mute);margin-top:16px}
.check input{width:18px;height:18px;margin-top:4px;flex:none;accent-color:var(--green2)}
.form .btn{margin-top:18px;background:var(--green);border-color:var(--green);color:var(--cream)}
.form .btn:hover{background:var(--green2)}
.hp{display:none}
#status{font-weight:600;margin:14px 0 0}

/* Fuß */
footer{background:var(--deep);color:rgba(246,242,234,.65);font-size:15px;padding:28px 0}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{color:rgba(246,242,234,.85)}

/* Impressum, Datenschutz */
.sub{background:var(--green)}
.legal{max-width:760px;padding-top:56px;padding-bottom:72px}
.legal h1{font-size:clamp(32px,5vw,44px);margin-bottom:28px}
.legal h2{font-size:23px;margin:36px 0 10px}

@media (max-width:820px){
  .hero-grid,.split{grid-template-columns:1fr;gap:32px}
  .hero-grid{padding-top:28px}
  .hero-text{padding-bottom:0}
  .cards{grid-template-columns:1fr}
  section{padding-top:56px;padding-bottom:56px}
  .facts ul{grid-template-columns:1fr}
  .facts li{padding:14px 0}
  .facts li+li{padding-left:0;border-left:0;border-top:1px solid rgba(246,242,234,.16)}
  .actions .btn{flex:1 1 auto;text-align:center}
}
