/* Contact: the existing 12kochen palette and locally hosted typography. */
.contact-page{padding-block:40px 72px}
.contact-header{max-width:800px;padding-bottom:40px}
.contact-header .breadcrumb{margin-bottom:30px}
.contact-header>.eyebrow{color:#5a685e;margin-bottom:16px}
.contact-header h1{font-size:clamp(36px,4.7vw,62px);margin:0;line-height:1.08}
.contact-header h1>span{color:#6a7d58}
.contact-header>p{font-size:16px;line-height:1.85;color:#5a685e;max-width:680px;margin-top:22px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;align-items:stretch}
.contact-message{background:#173c32;color:#fafbf7;border-radius:18px;padding:42px;min-width:0}
.contact-message>.eyebrow{color:#d8ee71;margin-bottom:22px}
.contact-message h2{font-size:clamp(29px,3vw,40px);font-weight:700;letter-spacing:-.045em;line-height:1.18;margin:0}
.contact-message>p{font-size:14px;line-height:1.85;color:#d8e3d1;margin-top:22px;max-width:490px}
.contact-mail-address{display:block;width:fit-content;color:#fafbf7;font-size:clamp(16px,1.8vw,21px);font-weight:700;line-height:1.5;margin-top:28px;text-decoration:none;overflow-wrap:anywhere}
.contact-mail-address:hover{text-decoration:underline}
.contact-mail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.contact-mail-actions .btn{min-height:48px}
.contact-copy{appearance:none;min-height:48px;padding:12px 16px;border:1px solid #809582;border-radius:8px;background:transparent;color:#fafbf7;font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.contact-copy:hover{background:#264b3c}
.contact-copy[hidden]{display:none!important}
.contact-message .contact-copy-status{font-size:12px;line-height:1.6;color:#d8ee71;margin-top:12px}
.contact-copy-status:empty{display:none}
.contact-message .contact-mail-note{font-size:12px;line-height:1.75;color:#c4d3bf;margin-top:24px;max-width:470px}
.contact-person{border:1px solid #d9e0d6;border-radius:18px;background:#f0f3eb;padding:36px;min-width:0}
.contact-person>.eyebrow{color:#5a685e;margin-bottom:26px}
.contact-monogram{display:inline-grid;place-items:center;position:relative;width:68px;height:68px;border-radius:50%;background:#d8ee71;color:#173c32;font-size:25px;letter-spacing:-.06em;font-weight:750;margin-bottom:20px}
.contact-monogram>span{position:absolute;right:0;bottom:2px;width:16px;height:16px;border-radius:50%;border:4px solid #f0f3eb;background:#6a7d58}
.contact-person h2{font-size:26px;line-height:1.3;letter-spacing:-.035em;font-weight:750;margin:0}
.contact-person-role{font-size:13px;color:#5a685e;line-height:1.8;margin-top:9px}
.contact-address{margin-top:25px;padding-top:23px;border-top:1px solid #d5dece}
.contact-address .eyebrow{font-size:10px;margin-bottom:10px;color:#5a685e}
.contact-address address{font-style:normal;font-size:14px;line-height:1.8}
.contact-person .text-link{margin-top:13px;font-size:12px}
.contact-topics{padding-top:64px}
.contact-section-heading{margin-bottom:26px}
.contact-section-heading>.eyebrow{color:#5a685e;margin-bottom:12px}
.contact-section-heading h2{font-size:clamp(28px,3.2vw,38px);line-height:1.2;letter-spacing:-.045em;font-weight:750;margin:0}
.contact-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.contact-topic{border-top:1px solid #becbb7;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.contact-topic-number{font-size:12px;line-height:1.5;letter-spacing:.07em;color:#6a7d58;font-weight:750;margin-bottom:17px}
.contact-topic h3{font-size:21px;letter-spacing:-.03em;font-weight:750;line-height:1.3;margin:0}
.contact-topic p{font-size:13px;line-height:1.85;color:#5a685e;margin:14px 0 18px}
.contact-topic>a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-top:auto;font-size:12px;font-weight:750;text-decoration:none}
.contact-topic>a:hover{text-decoration:underline}
.contact-bottom-note{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:28px 0 0;margin-top:46px;border-top:1px solid #d9e0d6}
.contact-bottom-note h2{font-size:16px;font-weight:750;line-height:1.5;margin:0}
.contact-bottom-note p{font-size:12px;line-height:1.8;color:#5a685e;max-width:650px;margin-top:8px}
.contact-bottom-note nav{display:flex;gap:8px 22px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:none;max-width:310px}
.contact-bottom-note nav>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;text-decoration:underline}
.contact-message :focus-visible{outline:3px solid #d8ee71;outline-offset:4px}
@media(max-width:950px){
 .contact-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}
 .contact-message,.contact-person{padding:28px}.contact-message h2{font-size:32px}
 .contact-topic-grid{gap:20px}.contact-bottom-note{align-items:flex-start;flex-direction:column;gap:16px}.contact-bottom-note nav{justify-content:flex-start;max-width:none}
}
@media(max-width:720px){
 .contact-page{padding-block:28px 48px}.contact-header{padding-bottom:28px}
 .contact-header .breadcrumb{margin-bottom:26px}.contact-header>p{font-size:14px;margin-top:18px}
 .contact-layout{grid-template-columns:1fr;gap:20px}.contact-message,.contact-person{padding:28px 24px;border-radius:14px}
 .contact-message h2{font-size:31px}.contact-message>p{font-size:14px}
 .contact-mail-address{font-size:17px}.contact-mail-actions{align-items:stretch}
 .contact-mail-actions>.btn,.contact-copy{flex:1 0 100%;font-size:13px}
 .contact-person>.eyebrow{margin-bottom:20px}.contact-monogram{width:56px;height:56px;font-size:22px;margin-bottom:16px}
 .contact-person h2{font-size:24px}.contact-topics{padding-top:44px}
 .contact-topic-grid{grid-template-columns:1fr;gap:26px}.contact-topic p{font-size:14px;max-width:560px}
 .contact-topic-number{margin-bottom:12px}.contact-topic>a{font-size:13px}
 .contact-bottom-note{margin-top:36px;padding-top:24px}
}
@media print{.contact-copy,.contact-copy-status,.contact-mail-actions{display:none!important}.contact-message{background:white;color:black;border:1px solid #bbb}.contact-message :is(h2,p,a,.eyebrow){color:black!important}}
