/* Bihn Immobilienbewertung GmbH — Website (Divi-naher Look, Grün/Kupfer). */
@font-face{font-family:"Playfair";src:url("fonts/playfair-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Playfair";src:url("fonts/playfair-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Playfair";src:url("fonts/playfair-500i.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap;}
:root{--green:#194a46;--green-d:#123734;--copper:#C2824D;--txt:#4a4a4a;--bg:#ffffff;--soft:#f5f6f5;--line:#e6e2db;}
*{box-sizing:border-box;}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Ubuntu,Arial,sans-serif;color:var(--txt);
  font-size:17px;line-height:1.75;background:var(--bg);}
h1,h2,h3,h4{font-family:"Playfair",Georgia,serif;color:var(--green);margin:0 0 .5em;font-weight:700;line-height:1.2;}
img{max-width:100%;display:block;}
a{color:var(--copper);}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.sec{padding:88px 0;}
.sec--soft{background:var(--soft);}
.sec--green{background:var(--green);color:#dfeae7;}
.sec--green h2,.sec--green h3{color:#fff;}
.center{text-align:center;}
.lead{max-width:760px;margin:0 auto;}
.eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--copper);font-weight:700;margin-bottom:14px;}
.btn{display:inline-block;background:var(--copper);color:#fff;text-decoration:none;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:15px 34px;border-radius:2px;margin-top:8px;}
.btn--green{background:var(--green);}
.rule{width:60px;height:3px;background:var(--copper);margin:18px auto 26px;}

/* Header (fixiert/sticky) */
html{scroll-padding-top:96px;}
.hdr{position:fixed;top:0;left:0;right:0;z-index:20;transition:background .3s ease,box-shadow .3s ease;}
.hdr.scrolled{background:var(--green);box-shadow:0 2px 16px rgba(0,0,0,.18);}
.hdr--solid{background:var(--green);}
.hdr__in{max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.hdr img{height:64px;width:auto;filter:brightness(0) invert(1);}
.hdr nav a{color:#fff;text-decoration:none;margin-left:30px;font-size:14px;letter-spacing:.06em;}
.hdr nav a:hover{color:var(--copper);}
@media(max-width:760px){.hdr nav a{margin-left:18px;font-size:13px;}.hdr img{height:52px;}}
@media(max-width:520px){.hdr__in{flex-direction:column;gap:12px;}}

/* Hero */
.hero{position:relative;min-height:660px;display:flex;align-items:center;color:#fff;text-align:center;}
.hero__bg{position:absolute;inset:0;z-index:-2;}
.hero__bg img{width:100%;height:100%;object-fit:cover;}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(18,55,52,.6);}
.hero h1{color:#fff;font-size:clamp(40px,7vw,72px);margin-bottom:10px;}
.hero .eyebrow{color:#e7c9a6;}
.hero p{max-width:640px;margin:6px auto 26px;color:#eef3f1;font-size:18px;}

/* Werte-Kacheln */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 40px;margin-top:56px;}
@media(max-width:860px){.grid3{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.grid3{grid-template-columns:1fr;}}
.pillar{text-align:center;}
.pillar .ic{width:84px;height:84px;border-radius:50%;background:var(--soft);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:var(--copper);}
.pillar .ic svg{width:38px;height:38px;}
.pillar h3{font-size:20px;letter-spacing:.02em;}
.pillar p{font-size:15.5px;line-height:1.7;}

/* Leistungen */
.row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:64px;}
.row:first-of-type{margin-top:40px;}
.row--rev .row__img{order:2;}
.row__img img{width:100%;height:420px;object-fit:cover;border-radius:2px;}
@media(max-width:820px){.row{grid-template-columns:1fr;gap:26px;}.row--rev .row__img{order:0;}.row__img img{height:300px;}}

/* Anlässe */
.anl{list-style:none;padding:0;margin:26px auto 0;max-width:640px;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;}
@media(max-width:560px){.anl{grid-template-columns:1fr;}}
.anl li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);}
.anl li::before{content:"—  ";color:var(--copper);}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:52px;}
@media(max-width:820px){.team{grid-template-columns:1fr;max-width:400px;margin-inline:auto;}}
.tm{background:#fff;border:1px solid var(--line);}
.tm__ph{aspect-ratio:3/4;overflow:hidden;background:var(--soft);}
.tm__ph img{width:100%;height:100%;object-fit:cover;}
.tm__b{padding:22px 22px 26px;text-align:center;}
.tm .role{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper);font-weight:700;}
.tm h3{font-size:22px;margin:6px 0 4px;}
.tm .cert{font-size:13px;color:#7a746b;margin:0 0 12px;line-height:1.5;}
.tm a{display:block;color:var(--green);text-decoration:none;font-size:15px;margin-top:2px;}
.tm a:hover{color:var(--copper);}

/* Kontakt */
.kontaktbox{max-width:560px;margin:26px auto 0;text-align:center;line-height:2;font-size:17px;}
.kontaktbox strong{color:var(--green);font-size:19px;}
.kontaktbox a{color:var(--green);text-decoration:none;}
.kontaktbox a:hover{color:var(--copper);}

/* Footer */
.foot{background:var(--green-d);color:#b9cbc7;padding:44px 0;text-align:center;font-size:14px;}
.foot img{height:54px;margin:0 auto 16px;filter:brightness(0) invert(1);opacity:.92;}
.foot nav{margin:0 0 14px;}
.foot nav a{color:#cddad6;text-decoration:none;margin:0 12px;font-size:14px;letter-spacing:.04em;}
.foot nav a:hover{color:var(--copper);}

/* Rechtstexte */
.legal{max-width:760px;margin:0 auto;padding:132px 24px 80px;}
.legal h1{margin-bottom:8px;}
.legal h2{margin:34px 0 8px;font-size:22px;}
.legal h3{margin:20px 0 6px;font-size:18px;}
.legal p{margin:0 0 12px;}
.legal a{color:var(--green);}
.legal .muted{color:#8a857c;font-size:14px;}

/* Ablauf-Schrittmarker (statt Nummern) */
.dot{display:block;width:28px;height:3px;background:var(--copper);margin:0 0 14px;}

/* Einwilligungsfenster — selbst gehostet, kein fremder Dienst ---------------- */

#einwilligung {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
	background: #fff; border-top: 3px solid #1c2b3a;
	box-shadow: 0 -8px 28px rgba(16, 24, 40, .16);
	transform: translateY(100%); transition: transform 320ms cubic-bezier(.16,1,.3,1);
}
#einwilligung.einw--da { transform: none; }
.einw__in {
	max-width: 1120px; margin-inline: auto; padding: 1.15rem 1.4rem;
	display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap;
}
.einw__txt { flex: 1 1 26rem; min-width: 0; }
.einw__txt strong { display: block; margin-bottom: .3rem; font-size: 1.02rem; }
.einw__txt p { margin: 0; font-size: .88rem; line-height: 1.55; color: #4a5560; max-width: 78ch; }
.einw__txt a { color: inherit; }
.einw__knopf { display: flex; gap: .7rem; flex-wrap: wrap; }
.einw__knopf button {
	font: 600 .9rem/1 inherit; cursor: pointer;
	padding: .8rem 1.3rem; border-radius: 3px;
	border: 1px solid #1c2b3a; background: #fff; color: #1c2b3a;
	transition: background 140ms ease-out, color 140ms ease-out;
}
.einw__knopf button:hover { background: #eef1f4; }
.einw__ja { background: #1c2b3a !important; color: #fff !important; }
.einw__ja:hover { background: #0f1a25 !important; }
#einwilligung button:focus-visible { outline: 3px solid #b8860b; outline-offset: 2px; }

@media (max-width: 640px) {
	.einw__in { padding: 1rem; gap: .9rem; }
	.einw__knopf { width: 100%; }
	.einw__knopf button { flex: 1; }
}
