/* V7.17: selectors intentionally limited to the existing sections after Lens.
   Do not add rules for :root, body, main, header, hero, lens or section order. */
#cases .v3_case_metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr)); }
#cases .v3_case_metrics > span { min-width:0; padding:12px 10px; }
#cases .v3_case_metrics strong { white-space:normal; overflow-wrap:anywhere; font-size:clamp(1rem,1.4vw,1.35rem); line-height:1.2; }
#cases .v3_case_metrics small { font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
#cases .v3_proof_copy, #cases .v3_case_sales_actions { min-width:0; }
#cases .v3_case_sales_actions .button { white-space:normal; text-align:left; }

#agenturen .nw_builder_demo { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.035); padding:clamp(24px,4vw,48px); display:grid; gap:22px; align-content:start; min-width:0; }
#agenturen .nw_builder_demo h3 { font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.12; margin:0; }
#agenturen .nw_builder_demo p { margin:0; line-height:1.6; color:rgba(255,255,255,.76); }
#agenturen .nw_demo_steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
#agenturen .nw_demo_steps li { border-top:2px solid var(--nw-accent); padding-top:12px; font-size:.85rem; line-height:1.5; }
#agenturen .nw_development_note { border-top:1px solid rgba(255,255,255,.18); padding-top:22px; }
#agenturen .nw_development_note strong { color:#fff; display:block; margin-bottom:8px; }

#leistungen .nw_service_area_grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#leistungen .nw_service_area { min-width:0; padding:clamp(22px,3vw,34px); display:flex; flex-direction:column; align-items:flex-start; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.035); }
#leistungen .nw_service_number { font-family:monospace; color:var(--nw-accent); }
#leistungen .nw_service_area h3 { margin:20px 0 14px; font-size:clamp(1.4rem,2vw,1.9rem); line-height:1.2; overflow-wrap:anywhere; }
#leistungen .nw_service_area p, #leistungen .nw_service_area li { font-size:1rem; line-height:1.6; }
#leistungen .nw_service_area ul { padding-left:20px; margin:10px 0 24px; }
#leistungen .nw_service_area li + li { margin-top:8px; }
#leistungen .nw_service_price_note { margin-top:auto; color:rgba(255,255,255,.68); }
#leistungen .nw_service_area .button { margin-top:14px; max-width:100%; white-space:normal; }
#leistungen .nw_doku_note { display:grid; grid-template-columns:1fr 1.5fr; gap:32px; margin:32px 0; padding:30px 0; border-block:1px solid rgba(255,255,255,.18); }
#leistungen .nw_doku_note h3 { font-size:clamp(1.5rem,2.5vw,2.1rem); line-height:1.2; margin:0; }
#leistungen .nw_doku_note p { line-height:1.6; }
#leistungen .nw_project_status { color:rgba(255,255,255,.64); font-size:.9rem; }
#leistungen .nw_package_details { margin-top:30px; }
#leistungen .nw_package_details > summary { padding:20px 0; cursor:pointer; font-weight:700; font-size:1.1rem; }
#leistungen .nw_package_details[open] > summary { margin-bottom:18px; }
#leistungen .nw_package_details .offer_price_note { margin-top:0; }

#kontakt { position:relative; isolation:isolate; }
#kontakt::after { content:""; position:absolute; z-index:-1; inset:12% 3%; pointer-events:none; background:radial-gradient(ellipse at 28% 36%,rgba(255,232,191,.4),transparent 62%); opacity:.35; animation:nw717-contact-pulse 7s ease-in-out infinite; }
#kontakt .contact_grid { position:relative; }
#kontakt .nw_contact_optional { border-block:1px solid rgba(11,13,15,.25); margin:8px 0; }
#kontakt .nw_contact_optional > summary { cursor:pointer; padding:18px 0; font-weight:700; }
#kontakt .nw_contact_optional[open] > summary { margin-bottom:8px; }
#kontakt .nw_contact_optional .form_row { margin-bottom:18px; }
#kontakt .nw_contact_optional .file_upload_field { margin-bottom:18px; }
#kontakt textarea { position:relative; }
.project_builder_page .nw_demo_direct { display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-top:24px; }
.project_builder_page .nw_demo_direct .button { white-space:normal; }
@keyframes nw717-contact-pulse { 0%,100% { opacity:.25; } 50% { opacity:.75; } }
@media (max-width:1000px) {
    #leistungen .nw_service_area_grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    #leistungen .nw_service_area_grid, #leistungen .nw_doku_note { grid-template-columns:1fr; }
    #leistungen .nw_doku_note { gap:18px; }
    #agenturen .nw_demo_steps { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
    #kontakt::after { animation:none; opacity:.35; }
}
