/* Shared layouts for services and delivery phases. */
.offer-section[id] { scroll-margin-top:95px; }
.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.offer-card { display:flex; flex-direction:column; gap:13px; align-items:flex-start; min-width:0; padding:clamp(19px,2.2vw,32px); background:#fff; border:1px solid #b7c8b9; border-top:3px solid #53856a; }
.offer-card h3,.offer-note h3 { font-size:clamp(22px,2.05vw,30px); line-height:1.12; letter-spacing:-.04em; overflow-wrap:anywhere; }
.offer-tag { font:650 11px/1.4 var(--mono); letter-spacing:.06em; color:#32604a; }
.offer-card-primary { background:#12392d; color:#f4fff7; border-color:#35614f; border-top-color:var(--signal); }
.offer-card-primary .offer-tag { color:#d4f783; }
.offer-card dl { display:grid; gap:9px; margin:0; width:100%; }
.offer-card dl div { padding:9px 0 0; border-top:1px solid #8eab9966; }
.offer-card dd,.method-acceptance dd { margin:2px 0 0; }
.offer-card dt,.method-acceptance dt { font-weight:730; }
.offer-card > a { margin-top:auto; min-height:44px; }
.offer-card > .neo-text-link,.offer-note > .neo-text-link { display:inline-flex; align-items:center; gap:7px; }
.offer-detail-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(17px,4vw,52px); align-items:start; }
.offer-intro { margin:13px 0 15px; max-width:60ch; }
.offer-note { padding:clamp(19px,2.6vw,34px); border:1px solid #abc1b0; background:#f4f8f1; }
.offer-note > * + * { margin-top:10px; }
.offer-checklist { padding-left:1.25em; margin:12px 0; }
.offer-checklist li + li { margin-top:6px; }
.method-phases { list-style:none; padding:0; margin:0; border-top:1px solid #abc1b0; }
.method-phases li { display:grid; grid-template-columns:48px minmax(0,1.25fr) minmax(0,1fr); gap:clamp(10px,2vw,24px); padding:clamp(17px,2vw,27px) 0; border-bottom:1px solid #abc1b0; }
.method-phase-number { display:grid; place-items:center; align-self:start; width:42px; height:42px; border:1px solid #94b09d; color:#214f3b; background:#edf5e9; font:650 13px var(--mono); }
.method-phases h3 { font-size:clamp(21px,2vw,28px); margin:0 0 6px; }
.method-phase-output { padding:12px 14px; background:#eef5ea; border-left:3px solid #608f70; }
.method-phase-output strong { display:block; margin-bottom:4px; color:#28543d; }
.method-team .offer-card { gap:9px; }
.method-caption { margin-top:14px; color:#3f6051; }
.method-acceptance { margin:0; border-top:1px solid #abc1b0; }
.method-acceptance > div { padding:11px 0; border-bottom:1px solid #abc1b0; }
@media(max-width:850px) {
  .offer-grid,.offer-detail-grid { grid-template-columns:minmax(0,1fr); }
  .offer-card { gap:10px; }
}
@media(max-width:620px) {
  .method-phases li { grid-template-columns:37px minmax(0,1fr); }
  .method-phase-number { width:34px; height:34px; }
  .method-phase-output { grid-column:2; }
}
#leistungen,#umsetzung,#betrieb,#ergebnis-check,#auftragsrueckstand,#service,#zahlungsdifferenzen,#eingangsrechnungen { scroll-margin-top:95px; }
.offer-section .anchor-alias { scroll-margin-top:95px; }
.hero-aside .neo-text-link { color:#c5f18d; min-height:44px; }
.hero-aside .neo-text-link:hover { color:#f4fff7; }
.capability-menu ol { list-style:none; padding:0; margin:10px 0 0; }
.capability-menu a { display:flex; min-height:44px; align-items:center; border-top:1px solid #779c89; color:#e3f5e4; }
.capability-menu a:hover { color:#d4f783; text-decoration:underline; }
.capability-detail { padding-block:clamp(30px,4.6vw,65px); }
.capability-detail .neo-text-link { display:inline-flex; align-items:center; min-height:44px; }
.process-economics { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:16px; }
.process-inputs { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border:1px solid #a5c1af; background:#fff; padding:14px; }
.process-inputs legend { padding-inline:6px; font-weight:750; }
.process-inputs label { min-width:0; display:grid; align-content:start; gap:4px; font-size:14px; font-weight:650; }
.process-inputs input { width:100%; min-height:44px; border:1px solid #85a692; padding:6px 9px; color:#12392d; font:inherit; }
.process-results { padding:17px; background:#12392d; color:#e9f6eb; }
.process-results dl { margin:0 0 12px; }
.process-results dl div { padding:7px 0; border-bottom:1px solid #79a08c; }
.process-results dd { margin:0; color:#dbf99e; font-size:clamp(20px,2.3vw,30px); font-weight:750; }
.process-results p,.process-calculation { font-size:14px; }
.process-calculation { margin-top:10px; }
.process-calculation summary { min-height:44px; padding-block:10px; cursor:pointer; }
@media (max-width:760px) { .process-economics { grid-template-columns:minmax(0,1fr); } }
.integration-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.55fr); gap:12px; }
.integration-controls label { display:grid; gap:5px; font-weight:700; }
.integration-controls :is(input,select) { width:100%; min-height:44px; border:1px solid #7c9f8c; background:#fff; color:#12392d; font:inherit; padding:7px 10px; }
.integration-status { margin:8px 0; color:#3c5e4d; }
.integration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; }
.integration-entry { border:1px solid #aac4b2; background:#fff; }
.integration-entry summary { min-height:58px; padding:13px; color:#143c2d; cursor:pointer; }
.integration-entry summary strong { font-size:17px; }
.integration-entry summary span { display:block; padding-left:16px; color:#456551; font-size:14px; }
.integration-entry-detail { padding:0 13px 12px; }
.integration-entry dl { margin:0; }
.integration-entry dl div { padding:7px 0; border-top:1px solid #d0dfd2; }
.integration-entry dt { font-weight:750; }
.integration-entry dd { margin:0; }
.integration-entry a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:650px) { .integration-controls,.integration-grid { grid-template-columns:minmax(0,1fr); } }
.method-phase-output details { margin-top:7px; border-top:1px solid #bbd1bf; }
.method-phase-output summary { display:list-item; min-height:44px; padding-block:9px; cursor:pointer; color:#234c37; font-size:14px; font-weight:700; }
.method-phase-output dl { margin:0; font-size:14px; }
.method-phase-output dl div+div { margin-top:7px; }
.method-phase-output dt { font-weight:750; }
.method-phase-output dd { margin:0; }
.phase-optional { display:inline-block; padding:4px 7px; border:1px solid #81a58e; color:#28543d; font:650 11px var(--mono); vertical-align:middle; }
.capability-detail h2 { hyphens:auto; overflow-wrap:anywhere; }
