/* Gemeinsame gestalterische Überarbeitung. Der ursprüngliche Quellstand in style.css bleibt erhalten. */
:root{--paper:#f4f3f0;--white:#fff;--ink:#27292d;--muted:#64676c;--line:#dbdcde;--soft:#e9e9e6;--accent:#d1c2a9;--focus:#806b49;--header-gutter:clamp(24px,3.5vw,72px)}
@media screen{
  h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
  .section-top>*,.service-card,.service-box,.info-box,.step,.feature-copy,.split-copy,.content-grid>*,.faq-layout>*,.contact-layout>*,.footer-grid>*,.page-hero-grid>*{min-width:0}
  .button,.text-link{max-width:100%;overflow-wrap:anywhere}
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--focus)}
  .dark :focus-visible,.home-hero :focus-visible,.site-footer :focus-visible,.site-header :focus-visible,.cta-panel :focus-visible{outline-color:var(--accent)}
  .dark .muted,.dark .lead,.principles p{color:#c6c8cb}
  .button:hover{background:#41444a;border-color:#41444a}
  .button-accent:hover{background:#e5d9c5;border-color:#e5d9c5}
  .button-outline{border-color:#989ba0}
  .button-outline:hover{background:#e4e4e1;border-color:var(--ink)}
  .dark .button-outline,.home-hero .button-outline{border-color:#898c91}
  .dark .button-outline:hover,.home-hero .button-outline:hover{background:#373a3f;border-color:#c8cace}
  .text-link:hover{color:#786346}
  .dark .text-link:hover{color:var(--accent)}

  /* Durchgehender Anthrazit-Header, auch auf großen Bildschirmen. */
  .site-header{width:100%;background:rgba(32,34,37,.98);color:#f5f4f0;border-bottom-color:#45464a}
  .site-header .header-inner{width:calc(100% - var(--header-gutter) - var(--header-gutter));max-width:none;min-height:90px;margin-inline:auto}
  .site-header .brand-mark{color:var(--accent)}
  .site-nav a:not(.nav-contact){display:inline-flex;align-items:center;min-height:44px}
  .site-nav a:not(.nav-contact):after{background:var(--accent)}
  .site-nav a:not(.nav-contact):hover,.site-nav a:not(.nav-contact)[aria-current]{color:var(--accent)}
  .site-nav .nav-contact{min-height:48px;background:var(--accent);color:#242629;font-weight:600}
  .site-nav .nav-contact:hover{background:#e5d9c5}
  .menu-toggle{min-width:44px}

  /* Randloser Einstieg ohne 100vw-bedingten horizontalen Überlauf. */
  .wide.home-hero{width:100%;max-width:none;margin:0;background:#202225;min-height:660px}
  .hero-photo{width:72%;object-position:46% 50%;filter:saturate(.38) brightness(.86)}
  .home-hero:before{background:linear-gradient(90deg,#202225 0%,rgba(32,34,37,.97) 24%,rgba(32,34,37,.72) 43%,rgba(32,34,37,.06) 78%),linear-gradient(0deg,rgba(32,34,37,.45),transparent 55%)}
  .hero-copy{margin-left:max(48px,calc((100% - 1280px)/2));padding:84px 0 100px;max-width:690px}
  .hero-copy>p:not(.eyebrow){color:#d1d3d6}
  .hero-index{color:#dce0e2}
  .round-icon{border-color:#a0a3a7}
  .photo-label{background:rgba(25,27,30,.78)}
  .photo img{filter:saturate(.65)}
  .card-image img{filter:saturate(.6)}
  .source-card img{filter:saturate(.7)}

  .service-card:hover{box-shadow:0 15px 30px rgba(22,24,28,.08)}
  .principles,.principles li{border-color:#51555b}
  .step-number{color:#7c766d}
  details{border-color:#cfd0d2}
  .info-box{border-color:#babdc1}
  .callout{border-left-color:#a58e6c;background:#eae6df}
  progress{accent-color:#806b49}
  progress::-webkit-progress-bar{background:#e3e0db}
  progress::-webkit-progress-value{background:#806b49}
  progress::-moz-progress-bar{background:#806b49}
  .hours th,.hours td{border-color:#cdd0d2}
  .field input,.field select,.field textarea{border-color:#bfc2c6}
  .field input:hover,.field select:hover,.field textarea:hover{border-color:#7c8086}
  .field [aria-invalid='true']{border-color:var(--error)}
  .field-help{flex-wrap:wrap;gap:6px 15px}
  .field-help [data-message-count]{flex-shrink:0}
  .form-status{border-color:#afa38e;background:#f3f0ea}
  .form-status.is-error{border-color:#c88a7e;background:#fff5f1}
  .form-status.is-pending{border-color:#b4a381;background:#f8f4ec}
  .form-status:focus{outline:2px solid var(--focus);outline-offset:4px}

  .cta-panel{background:var(--ink);color:#f5f4f0;border-top:2px solid var(--accent)}
  .cta-panel p{color:#ced0d3}
  .cta-panel .button{background:var(--accent);border-color:var(--accent);color:#242629}
  .cta-panel .button:hover{background:#e5d9c5;border-color:#e5d9c5}
  .site-footer{background:#1c1e21;color:#f0f0ed}
  .footer-note,.footer-title,.footer-bottom{color:#bec1c5}
  .footer-bottom{border-color:#43474d}
}
@media screen and (max-width:1100px){
  .hero-copy{margin-left:32px;max-width:630px}
}
@media screen and (max-width:960px){
  :root{--header-gutter:24px}
  .site-header .header-inner{min-height:80px}
  html:not(.js) .site-header{position:relative}
  .site-nav a:not(.nav-contact){display:flex;width:100%;padding:14px 0;min-height:50px}
  .site-nav .nav-contact{min-height:50px}
  .js .site-header .site-nav{left:calc(0px - var(--header-gutter));width:calc(100% + var(--header-gutter) + var(--header-gutter));padding:12px var(--header-gutter) 24px;background:#202225;border-color:#45464a;box-shadow:0 18px 28px rgba(15,17,20,.18);max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overscroll-behavior:contain}
  .wide.home-hero{min-height:620px}
  .hero-copy{margin-left:24px;max-width:590px;padding:76px 0 110px}
  .hero-photo{width:90%;object-position:43% 50%}
  .home-hero:before{background:linear-gradient(90deg,#202225 0%,rgba(32,34,37,.88) 34%,rgba(32,34,37,.25) 78%),linear-gradient(0deg,rgba(32,34,37,.45),transparent)}
  .field input,.field select,.field textarea,.faq-search input{font-size:16px}
  .text-link{min-height:44px}
  .footer-links li{margin:0}
  .footer-links a,.footer-contact a{display:flex;align-items:center;min-height:44px;margin:0}
  .footer-bottom a,.source-card nav a,.legal-nav a{display:inline-flex;align-items:center;min-height:44px}
  .footer-bottom nav,.source-card nav{gap:4px 20px}
  .breadcrumb a{display:inline-flex;align-items:center;min-height:32px}
  .breadcrumb{align-items:center}
}
@media screen and (max-width:740px){
  .wide.home-hero{min-height:0}
  .hero-copy{margin:0;max-width:none;padding:46px 24px 40px}
  .hero-copy h1{font-size:clamp(36px,7.5vw,55px);line-height:1.1}
  .hero-copy>p:not(.eyebrow){font-size:16px}
  .hero-copy .eyebrow{font-size:10px}
  .hero-copy .button{font-size:14px;min-height:52px;padding:14px 20px;gap:14px}
  .hero-photo{width:100%;height:clamp(225px,55vw,360px);object-position:43% 55%;filter:saturate(.45) brightness(.9)}
  .hero-bottom{right:18px;bottom:15px}
  .quick-facts{gap:20px;padding:25px 0}
  .faq-search{flex-wrap:wrap}
  .faq-search .field{flex:1 1 180px}
  .faq-search .button{min-height:48px}
  .form-check label{font-size:13px}
  .legal-nav{gap:4px 22px}
  .source-card nav{margin-top:12px}
}
@media screen and (max-width:480px){
  :root{--header-gutter:18px}
  .site-header .header-inner{min-height:74px}
  .js .site-header .site-nav{padding:10px var(--header-gutter) 20px;max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px)}
  .hero-copy{padding:38px 18px 32px}
  .hero-copy h1{font-size:clamp(32px,9.2vw,42px)}
  .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.75}
  .hero-copy .button-row{gap:12px}
  .hero-copy .button{flex:1 1 100%;width:100%}
  .hero-photo{height:clamp(225px,60vw,288px)}
  .page-heading h1,.page-hero-grid h1{font-size:clamp(32px,8.6vw,39px)}
  .field input,.field select,.field textarea,.faq-search input{font-size:16px}
  .footer-bottom nav{gap:4px 18px}
  .form-status{padding:20px}
}
@media screen and (hover:none){
  .service-card:hover{transform:none;box-shadow:none}
  .service-card:hover .card-image img{transform:none}
}
