/* Kontaktseite: shared paper, serif and botanical visual language. */
.contact-page,.contact-main{background:#f2ead9}
.contact-hero{padding:clamp(58px,6vw,96px) 0 clamp(60px,7vw,100px)}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);gap:clamp(35px,5vw,74px);align-items:center}
.contact-hero h1{margin:16px 0 22px;color:var(--tannengruen);font-size:clamp(64px,7vw,96px);line-height:.98}
.contact-hero-copy>p{color:var(--ink-2);font-size:clamp(20px,1.9vw,25px);line-height:1.43}
.contact-hero-copy .contact-hero-lead{color:var(--tannengruen);font-size:clamp(24px,2.4vw,32px);line-height:1.27}
.contact-hero-note{display:block;margin-top:32px;padding-top:15px;border-top:1px solid rgba(45,106,79,.4);color:var(--waldgruen);font-size:18px}
.contact-hero-figure{margin:0}.contact-hero-figure img{width:100%;border-radius:22px;box-shadow:var(--shadow-paper)}
.contact-section{padding:clamp(72px,8vw,116px) 0}
.contact-section h2{margin:16px 0 22px;color:var(--tannengruen);font-size:clamp(37px,4.1vw,56px);line-height:1.08}
.contact-section p{color:var(--ink-2);font-size:clamp(20px,1.9vw,25px);line-height:1.42}
.contact-direct{background:#e9dfcb}.contact-direct-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(34px,6vw,90px);align-items:center}
.contact-methods{display:grid;gap:14px}.contact-methods>div{padding:20px 27px;border:1px solid rgba(45,106,79,.2);border-radius:18px;background:rgba(255,251,239,.67)}
.contact-methods span{display:block;color:var(--waldgruen);font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.contact-methods a{display:inline-block;margin:5px 0 0;color:var(--tannengruen);font-size:clamp(26px,2.8vw,38px);line-height:1.1;overflow-wrap:anywhere;border-bottom:1px solid rgba(45,106,79,.5)}
.contact-form-section{background:#f4ecd9}.contact-form-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,80px);align-items:start}
.contact-form-availability{margin-top:28px;padding:20px 24px;border-left:3px solid var(--waldgruen);border-radius:0 12px 12px 0;background:rgba(227,250,235,.6);font-size:19px!important}
.contact-form-availability a,.contact-form-status a{color:var(--waldgruen);text-decoration:underline;text-underline-offset:3px}
.contact-form{padding:clamp(26px,3vw,42px);border:1px solid rgba(45,106,79,.2);border-radius:22px;background:rgba(255,251,239,.78);box-shadow:var(--shadow-paper)}
.contact-email-option h3{margin:10px 0 14px;color:var(--tannengruen);font-size:clamp(30px,3vw,42px)}
.contact-email-option a:not(.btn){color:var(--waldgruen);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-field{margin-bottom:19px}
.contact-field label{display:block;margin-bottom:7px;color:var(--tannengruen);font-size:21px;font-weight:600}.contact-field label span{color:var(--erdbraun)}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;min-height:48px;padding:11px 13px;border:1px solid rgba(45,106,79,.36);border-radius:10px;background:#fffdf5;color:var(--tannengruen);font:inherit;font-size:20px;line-height:1.3}
.contact-field textarea{min-height:160px;resize:vertical}.contact-field [aria-invalid="true"],.contact-consent [aria-invalid="true"]{border-color:#a13a27}
.contact-error{display:block;color:#8e301f;font-size:16px;line-height:1.3}.contact-error:not(:empty){margin-top:6px}
.contact-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}.contact-consent input{width:22px;height:22px;margin:4px 0 0;accent-color:var(--waldgruen)}
.contact-consent label{color:var(--ink-2);font-size:18px;line-height:1.37}.contact-consent label a{color:var(--waldgruen);text-decoration:underline;text-underline-offset:3px}
.contact-form .btn{margin-top:23px}.contact-form-status{margin:18px 0 0;color:var(--ink-2);font-size:18px!important}.contact-form-status:empty{display:none}
.contact-routing{background:#e7e6d4}.contact-section-heading{max-width:790px;margin:0 auto 45px;text-align:center}
.contact-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-topic-grid article{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid rgba(45,106,79,.2);border-radius:20px;background:rgba(255,251,239,.7);box-shadow:var(--shadow-paper)}
.contact-topic-grid article>span{display:inline-block;margin-bottom:21px;color:var(--waldgruen);font-size:18px;letter-spacing:.17em}.contact-topic-grid h3{color:var(--tannengruen);font-size:clamp(27px,2.4vw,34px);line-height:1.12}
.contact-topic-grid p{margin:14px 0 24px;font-size:20px}.contact-topic-grid a{margin-top:auto;color:var(--waldgruen);font-size:20px;border-bottom:1px solid currentColor}
.contact-closing{text-align:center;background:#f4ecd9}.contact-closing-inner{max-width:790px}.contact-text-link{display:inline-block;margin-top:8px;color:var(--waldgruen);font-size:21px;border-bottom:1px solid currentColor}
.contact-page .footer-frontpage-column p,.contact-page .footer-frontpage-column address{font-family:var(--font-serif)}
.contact-page a:focus-visible,.contact-page button:focus-visible,.contact-page input:focus-visible,.contact-page select:focus-visible,.contact-page textarea:focus-visible{outline:3px solid var(--waldgruen);outline-offset:3px}
@media(max-width:900px){.contact-hero-grid,.contact-direct-grid,.contact-form-grid{grid-template-columns:1fr}.contact-hero-figure img{max-height:520px;object-fit:cover}}
@media(max-width:650px){.contact-hero{padding-top:55px}.contact-hero h1{font-size:58px}.contact-hero-copy .contact-hero-lead{font-size:25px}.contact-hero-figure img{max-height:none}.contact-topic-grid,.contact-form-row{grid-template-columns:1fr}.contact-topic-grid article{min-height:0}.contact-form{padding:22px}.contact-form .btn{width:100%;justify-content:center}.contact-hero-note{font-size:17px}}
