@font-face{font-family:"Bricolage";font-weight:700;font-display:swap;src:url(../fonts/brico.woff2) format("woff2");}
@font-face{font-family:"Bricolage";font-weight:400;font-display:swap;src:url(../fonts/bricoR.woff2) format("woff2");}
@font-face{font-family:"Work Sans";font-weight:400;font-display:swap;src:url(../fonts/work.woff2) format("woff2");}
@font-face{font-family:"Work Sans";font-weight:700;font-display:swap;src:url(../fonts/workb.woff2) format("woff2");}

:root{
  --paper:#ffffff; --soft:#f4f6f5; --ink:#17242a; --ink-soft:#4f5e64;
  --petrol:#0e5266; --petrol-deep:#0a3d4c; --line:rgba(14,82,102,.15);
  --display:"Bricolage",system-ui,sans-serif;
  --sans:"Work Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0;}
p{margin:0;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,40px);}

.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:none;border-radius:8px;background:var(--petrol);color:#fff;padding:11px 20px;transition:background .16s;}
.btn:hover{background:var(--petrol-deep);}
.btn--big{font-size:16px;padding:15px 30px;}

.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:center;padding:clamp(40px,5.5vw,72px) 0;}
.row + .row{border-top:1px solid var(--line);}
.row__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid var(--line);}
.row--alt .row__media{order:2;}
.row__text .eyebrow{font-size:14px;font-weight:700;color:var(--petrol);margin-bottom:12px;}
.row__text h1{font-size:clamp(34px,5vw,58px);text-wrap:balance;margin-bottom:18px;}
.row__text h2{font-size:clamp(25px,3vw,34px);text-wrap:balance;margin-bottom:16px;}
.row__text p{font-size:clamp(16px,1.7vw,18px);color:var(--ink-soft);margin-bottom:16px;}
.row__text p:last-child{margin-bottom:0;}
.row__cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;}
.row__cta small{color:var(--ink-soft);font-size:13.5px;}

.give{background:var(--soft);border-top:1px solid var(--line);}
.give__in{max-width:1180px;margin:0 auto;padding:clamp(48px,6vw,84px) clamp(18px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:center;}
.give h2{font-size:clamp(28px,3.6vw,40px);text-wrap:balance;margin-bottom:14px;}
.give__text p{font-size:clamp(16px,1.8vw,18px);color:var(--ink-soft);}
.give__box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,3vw,30px);}
.give__box .btn{display:block;text-align:center;width:100%;}
.give__box hr{border:none;border-top:1px solid var(--line);margin:18px 0;}
.give__trust{font-size:12.5px;color:var(--ink-soft);line-height:1.55;margin-top:14px;}
.give__sach{font-size:14px;color:var(--ink-soft);}
.give__sach a{color:var(--petrol);font-weight:700;text-decoration:none;}
.give__sach a:hover{text-decoration:underline;}

.ftr{border-top:1px solid var(--line);}
.ftr__in{max-width:1180px;margin:0 auto;padding:26px clamp(18px,4vw,40px) 42px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink-soft);font-size:14px;text-align:center;}
.ftr__in nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;}
.ftr__in a{color:var(--ink-soft);text-decoration:none;}
.ftr__in a:hover{color:var(--petrol);}
.ftr__note{font-size:12.5px;color:var(--ink-soft);}

/* Rechtsseiten (Impressum/Datenschutz): schlichtes Leselayout im selben Stil */
.legal{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(18px,4vw,40px);}
.legal h1{font-size:clamp(30px,4vw,44px);margin-bottom:24px;}
.legal h2{font-size:clamp(20px,2.4vw,26px);margin:32px 0 12px;}
.legal p, .legal li{font-size:16px;color:var(--ink-soft);margin-bottom:12px;}
.legal a{color:var(--petrol);}
.legal .back{display:inline-block;margin-bottom:28px;color:var(--petrol);text-decoration:none;font-weight:700;}

a:focus-visible,.btn:focus-visible{outline:2px solid var(--petrol);outline-offset:3px;}

@media (max-width:820px){
  .row{grid-template-columns:1fr;gap:22px;padding:clamp(32px,7vw,44px) 0;}
  .row--alt .row__media{order:0;}
  .give__in{grid-template-columns:1fr;gap:24px;}
}

/* Kontaktformular */
#contact-form{display:flex;flex-direction:column;gap:18px;margin-top:8px;}
#contact-form .field{display:flex;flex-direction:column;gap:6px;}
#contact-form label{font-size:14px;font-weight:700;color:var(--ink);}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:11px 12px;transition:border-color .16s,box-shadow .16s;}
#contact-form textarea{resize:vertical;min-height:130px;line-height:1.6;}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(14,82,102,.15);}
#contact-form input.field-error,#contact-form select.field-error,#contact-form textarea.field-error{border-color:#c0392b;}
#contact-form .field-error-text{display:none;font-size:13px;color:#c0392b;}
#contact-form .field-error-text.show{display:block;}
#contact-form .field--captcha{align-items:flex-start;}
#contact-form .btn{align-self:flex-start;}
#contact-status{margin-top:16px;font-size:15px;color:var(--ink-soft);}
#contact-status.status-success{color:var(--petrol);font-weight:700;}
#contact-status.status-error{color:#c0392b;font-weight:700;}
#contact-status:empty{margin-top:0;}
