:root{font-family:system-ui,sans-serif;color:#302622;background:#f7f0e2;line-height:1.5;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#3d0d14;padding:22px max(24px,calc((100% - 940px)/2));display:flex;justify-content:space-between;gap:20px}header a{color:white;text-decoration:none}header a:first-child{letter-spacing:.14em;font-weight:800}main{max-width:940px;margin:auto;padding:44px 24px}.eyebrow{color:#7b1e2b;text-transform:uppercase;letter-spacing:.12em;font-size:.875rem;font-weight:700}h1{font:clamp(2.6rem,7vw,4rem)/1.1 Georgia,serif;margin:12px 0}h2{font:1.6rem Georgia,serif;margin:0 0 24px}h2 span{font:600 .9rem system-ui;color:#7b1e2b;display:inline-block;margin-right:16px}.panel{background:white;padding:30px;border:1px solid #dbcebc;margin:26px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:7px;font-weight:600}input,select,button{font:inherit}input:not([type=checkbox]):not([type=radio]),select{width:100%;padding:12px;border:1px solid #a99d8e;border-radius:4px;background:white;color:inherit;min-width:0}select{margin-top:7px}input[type=checkbox],input[type=radio]{accent-color:#7b1e2b;width:20px;height:20px;flex-shrink:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:600;margin-bottom:12px}.choices{display:grid;gap:12px}.choices label{display:flex;align-items:center;border:1px solid #dbcebc;padding:14px;font-weight:500}.choices label:has(:checked){border-color:#7b1e2b;background:#fcf5f5}.hint{font-size:.9rem;color:#675c53}.day{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #e5ddd1}.day>label:first-child{display:flex;align-items:center}.day input:disabled{background:#f3f1ee;color:#82796e}.consent{display:flex;align-items:flex-start;margin:24px 0;font-weight:400;gap:12px}button{background:#7b1e2b;border:0;color:white;padding:16px 24px;border-radius:4px;font-weight:700;cursor:pointer}button span{margin-left:25px}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid #b88030;outline-offset:3px}.success,.error{padding:20px;border-left:4px solid}.success{background:#e8f3e8;color:#234c2a}.error{background:#fbe5e4;color:#801e26}.trap{display:none}[hidden]{display:none!important}footer{text-align:center;padding:24px;color:#675c53;border-top:1px solid #dbcebc}@media(max-width:600px){main{padding:30px 18px}.panel{padding:22px 18px}.fields{grid-template-columns:1fr}.day{grid-template-columns:1fr 1fr}.day>label:first-child{grid-column:1/-1}header{padding:18px;font-size:.875rem}button{width:100%}}

.about-field{grid-column:1/-1}.about-field textarea{width:100%;min-width:0;padding:12px;border:1px solid #a99d8e;border-radius:4px;background:white;color:inherit;font:inherit;resize:vertical}.about-field .hint{font-weight:400}
header{align-items:center}.portal-emblem{width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d6af76;border-radius:50%;background:#3d0d14}.portal-emblem img{width:88px;height:auto;display:block}.portal-emblem span{margin-top:6px;color:#f4eedf;font:italic 600 .75rem Georgia,serif;letter-spacing:normal}
footer{--green-deep:#3d0d14;--gold-light:#d6af76;--body:system-ui,sans-serif;text-align:left;border-top:0}footer .wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}footer .footer-bottom span{font:inherit;color:inherit;margin-right:0}
footer { padding: 80px 0 25px; background: var(--green-deep); color: white; }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 55px; }
.footer-brand > img { width: 190px; height: auto; margin-bottom: 24px; }
.footer-brand p, footer p { color: rgba(255,255,255,.6); }
footer h2 { font-family: var(--body); font-size: .72rem; letter-spacing: .17em; text-transform: uppercase; color: var(--gold-light); margin: 10px 0 20px; }
footer a { display: block; width: fit-content; text-decoration: none; color: rgba(255,255,255,.75); margin: 7px 0; }
footer a:hover { color: var(--gold-light); }
.social-link { display: inline-flex; align-items: center; gap: 10px; }
.social-link svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.social-link .icon-dot { fill: currentColor; stroke: none; }
.footer-bottom { margin-top: 70px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; color: rgba(255,255,255,.4); font-size: .78rem; }
.footer-bottom > span:first-child { white-space: nowrap; }
.footer-bottom > span:last-child { display: flex; gap: 25px; }
.footer-bottom a { display: inline; }
@media(max-width:1000px){.footer-grid{grid-template-columns:1.4fr 1fr;gap:32px}}@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{align-items:start;flex-direction:column;gap:12px}.portal-emblem{width:88px;height:88px}.portal-emblem img{width:68px}.portal-emblem span{font-size:.625rem}}

/* Kompakte Fußzeile im Bewerberportal. */
footer{padding:18px 0}footer .footer-bottom{margin-top:0;padding-top:0;border-top:0}

/* Das Emblem ragt wie auf der Hauptseite über den Header hinaus. */
header{height:90px;padding-block:0;position:sticky;top:0;z-index:100}
.portal-brand{align-self:flex-start;margin-top:12px;flex-shrink:0}
.portal-emblem{width:140px;height:140px;box-shadow:0 10px 36px rgba(0,0,0,.24)}
.portal-emblem img{width:110px}
.portal-emblem span{margin-top:7px;font-size:.82rem;line-height:1}
main{padding-top:90px}
.portal-brand,.portal-emblem,.portal-emblem img,.portal-emblem span{transition:width .3s ease,height .3s ease,margin .3s ease,font-size .3s ease}
header.is-scrolled .portal-brand{margin-top:6px}
header.is-scrolled .portal-emblem{width:86px;height:86px}
header.is-scrolled .portal-emblem img{width:64px}
header.is-scrolled .portal-emblem span{margin-top:3px;font-size:.56rem}
@media(max-width:600px){
  header{height:72px}
  .portal-brand{margin-top:8px}
  .portal-emblem{width:104px;height:104px}
  .portal-emblem img{width:80px}
  .portal-emblem span{margin-top:5px;font-size:.65rem}
  main{padding-top:64px}
  header.is-scrolled .portal-emblem{width:76px;height:76px}
  header.is-scrolled .portal-emblem img{width:56px}
  header.is-scrolled .portal-emblem span{margin-top:2px;font-size:.5rem}
}
@media(prefers-reduced-motion:reduce){.portal-brand,.portal-emblem,.portal-emblem img,.portal-emblem span{transition:none}}
