/* Lokal gehostete Schriften — kein Abruf von Google-Servern (DSGVO) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/inter-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-latin-600-normal.woff2') format('woff2')}

/* Immobilien Sedlmeir — gemeinsames Stylesheet */
:root{
  --blau:#1B2A4A; --blau-dunkel:#141f38; --anthrazit:#2E2E35;
  --gold:#B08D44; --gold-hell:#C9A95F; --champagner:#F4EFE6; --weiss:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--anthrazit);background:var(--weiss);line-height:1.75;font-weight:300;font-size:16.5px}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--blau);font-weight:500;line-height:1.15}
h2{font-size:clamp(2rem,3.6vw,2.8rem)}
img{max-width:100%;display:block}
.label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500;display:block;margin-bottom:1.1rem}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
section{padding:104px 0}
.btn{display:inline-block;text-decoration:none;font-size:.83rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 38px;font-weight:500;transition:all .25s}
.btn-gold{background:var(--gold);color:#fff;border:1px solid var(--gold)}
.btn-gold:hover{background:#9a7a38;border-color:#9a7a38}
.btn-line{border:1px solid var(--champagner);color:var(--champagner)}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}
.btn-line-dark{border:1px solid var(--blau);color:var(--blau)}
.btn-line-dark:hover{border-color:var(--gold);color:var(--gold)}

/* Header */
header{position:sticky;top:0;background:var(--blau);z-index:100;border-bottom:1px solid rgba(176,141,68,.35)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1220px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand svg{height:46px;width:auto}
.brand .bn{font-family:'Cormorant Garamond',Georgia,serif;color:var(--champagner);font-size:1.25rem;letter-spacing:.18em}
.brand .bn small{display:block;font-family:'Inter',sans-serif;font-size:.58rem;letter-spacing:.3em;color:var(--gold);margin-top:2px}
nav ul{display:flex;gap:26px;list-style:none;align-items:center}
nav a{color:var(--champagner);text-decoration:none;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
nav a:hover,nav a.aktiv{color:var(--gold-hell)}
nav .lang{border:1px solid var(--gold);padding:6px 14px;color:var(--gold-hell)}
.menu-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--gold-hell);font-size:1.2rem;padding:4px 12px;cursor:pointer}

/* Hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;color:var(--champagner);background-size:cover;background-position:center}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,31,56,.93) 0%,rgba(20,31,56,.72) 45%,rgba(20,31,56,.25) 100%)}
.hero .wrap{position:relative;padding-top:80px;padding-bottom:80px}
.hero h1{color:var(--champagner);font-size:clamp(2.5rem,5.2vw,4.2rem);max-width:780px}
.hero p{max-width:580px;margin:1.7rem 0 2.7rem;font-size:1.08rem;color:#e6e1d4}
.hero-klein{min-height:48vh}

/* Karten */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:3.2rem}
.cards.drei{grid-template-columns:repeat(3,1fr)}
.card{background:var(--weiss);border:1px solid #e7e0d1;text-decoration:none;color:var(--anthrazit);transition:box-shadow .3s, transform .3s;display:block}
.card:hover{box-shadow:0 18px 44px rgba(27,42,74,.14);transform:translateY(-4px)}
.card img{height:190px;width:100%;object-fit:cover}
.card .ci{padding:28px 26px 32px;border-top:2px solid var(--gold)}
.card h3{font-size:1.45rem;margin-bottom:.6rem}
.card p{font-size:.92rem}
.card .mehr{display:inline-block;margin-top:1.1rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500}

/* Listen-Punkte */
.punkt{display:flex;gap:20px;margin-bottom:30px}
.punkt .tick{flex:none;width:36px;height:36px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1.15rem}
.punkt h3{font-size:1.18rem;font-family:'Inter',sans-serif;font-weight:600;color:var(--blau);margin-bottom:.25rem}
.punkt p{font-size:.93rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.bg-champagner{background:var(--champagner)}
.bg-blau{background:var(--blau)}
.bg-blau h2,.bg-blau h3{color:var(--champagner)}
.bg-blau p{color:#d8d3c6}

.zitat{background:var(--blau);color:var(--champagner);padding:48px 42px;font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1.5}
.zitat small{display:block;margin-top:1.3rem;font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* Schritte */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:3.2rem}
.steps .num{font-family:'Cormorant Garamond',serif;font-size:3.2rem;color:var(--gold);line-height:1}
.steps h3{font-size:1.18rem;margin:.6rem 0 .3rem}
.steps p{font-size:.88rem}

/* Bild + Text */
.bild-text{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.bild-text img{width:100%;height:460px;object-fit:cover}
.bild-rahmen{position:relative}
.bild-rahmen::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}

/* Formular */
form{display:grid;gap:16px}
input,select,textarea{font-family:'Inter',sans-serif;font-size:.95rem;padding:15px 17px;border:1px solid #d9d2c2;background:#fbf9f4;width:100%}
input:focus,select:focus,textarea:focus{outline:1px solid var(--gold)}
.hinweis{font-size:.78rem;color:#8a8578}

/* Tabelle Leistungskatalog */
.katalog{width:100%;border-collapse:collapse;margin-top:2.5rem}
.katalog td{padding:18px 20px;border-bottom:1px solid #e7e0d1;font-size:.95rem;vertical-align:top}
.katalog td:first-child{font-weight:600;color:var(--blau);width:34%}

/* Footer */
footer{background:var(--blau-dunkel);color:#9aa3b5;padding:64px 0 40px;font-size:.85rem}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.f-grid h4{color:var(--champagner);font-family:'Cormorant Garamond',serif;font-size:1.2rem;margin-bottom:1rem;font-weight:500}
.f-grid a{display:block;color:#c8cdd8;text-decoration:none;margin-bottom:.5rem}
.f-grid a:hover{color:var(--gold-hell)}
.f-leiste{border-top:1px solid rgba(176,141,68,.25);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

@media(max-width:920px){
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--blau);flex-direction:column;padding:20px 28px;gap:18px;border-bottom:1px solid rgba(176,141,68,.35)}
  nav ul.offen{display:flex}
  .menu-toggle{display:block}
  .cards,.cards.drei,.steps,.split,.bild-text,.f-grid{grid-template-columns:1fr}
  section{padding:64px 0}
  .hero{min-height:64vh}
  .bild-text img{height:300px}
}
