
/* Startseite: gleiche Farben und Typografie wie die überarbeiteten Unterseiten. */
@media screen {
  :root { --muted:#515e70; }
  body { font-size:1rem; }
  .skip-link { position:absolute;top:-6rem;left:1rem;z-index:100000;padding:1rem;background:#fff;color:#152c64;font-weight:800; }
  .skip-link:focus { top:1rem; }
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #1758b3;outline-offset:4px; }
  .ncc-home-cover a:focus-visible,.ncc-home-contact-intro a:focus-visible { outline-color:#fff; }
  .mobile-panel { max-height:calc(100dvh - 5rem);overflow-y:auto;overscroll-behavior:contain; }
  .drop:focus-within .drop-panel { opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto; }
  .drop-panel a,.mobile-list a { min-height:44px; }
  .menu a[aria-current=page],.mobile-list a[aria-current=page] { color:#1f3c88;background:#eaf2ff; }
  .btn { min-height:48px;font-size:1rem;line-height:1.4;border-radius:10px;white-space:normal;text-align:center; }
  .btn-blue { background:#205bbe; }.btn-blue:hover { background:#174997; }
  .eyebrow { font-size:.875rem;letter-spacing:.08em; }
  .section { padding:4.5rem 0 0; }
  #main-content section { scroll-margin-top:6rem; }
  .section-head { gap:2rem;align-items:start; }
  .section-title,.ncc-home-leasing h2,.ncc-home-about h2,.ncc-home-contact h2 { font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.2;letter-spacing:-.03em;hyphens:auto;overflow-wrap:break-word; }
  .section-text,.ncc-home-leasing p,.ncc-home-about p,.ncc-home-contact p { font-size:1rem;line-height:1.75;font-weight:500; }
  .ncc-home-hero { padding-top:1.5rem; }
  .ncc-home-cover { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:#0f1726;border-radius:24px;overflow:hidden;color:#fff; }
  .ncc-home-intro { padding:clamp(1.5rem,4vw,3.25rem); }
  .ncc-home-intro .eyebrow { color:#a9d2ff;margin-bottom:1.4rem; }
  .ncc-home-intro h1 { color:#fff;font-size:clamp(2.2rem,4.3vw,3.9rem);line-height:1.08;letter-spacing:-.04em;margin:0;hyphens:auto;overflow-wrap:break-word; }
  .ncc-home-intro h1 span { display:block;font-size:.67em;line-height:1.2;letter-spacing:-.025em;margin-top:.2em;color:#a9d2ff; }
  .ncc-home-focus { font-size:1.125rem;line-height:1.5;color:#fff;margin:1.25rem 0 0;font-weight:800; }
  .ncc-home-lead,.ncc-home-services { font-size:1rem;line-height:1.55;color:#e0e6f0;margin:.65rem 0 0;max-width:36rem;font-weight:500; }
  .hero-actions { gap:.75rem;margin-top:1.75rem; }
  .ncc-home-address { font-size:.9375rem;line-height:1.7;color:#c4cedd;margin:1.5rem 0 0; }
  .ncc-home-address a { color:#fff;text-decoration:underline;text-underline-offset:4px; }
  .ncc-home-photo { position:relative;min-height:390px; }
  .ncc-home-photo img { display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center; }
  .ncc-home-photo span { position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:#0f1726e6;color:#fff;padding:1rem 1.25rem;border-radius:10px;font-size:.9375rem; }
  .ncc-home-shortcuts { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.5rem 0 0;gap:1rem; }
  .ncc-home-shortcuts a { display:block;padding:1rem 1.25rem;border-left:3px solid #205bbe;color:#172238;background:#eef3fb;min-height:84px; }
  .ncc-home-shortcuts a:hover { background:#e0ebfb; }
  .ncc-home-shortcuts strong { display:block;font-size:1rem;line-height:1.5; }.ncc-home-shortcuts span { display:block;color:#515e70;font-size:.875rem;line-height:1.5;margin-top:.2rem; }
  .ncc-home-leasing { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem;padding:clamp(1.5rem,3vw,2.5rem);background:#fff;border:1px solid #dce3ee;border-radius:20px; }
  .ncc-home-leasing h2,.ncc-home-about h2,.ncc-home-contact h2 { margin:0 0 1.25rem; }
  .ncc-home-leasing p { margin:0 0 1rem; }.ncc-home-leasing .eyebrow { font-size:.875rem; }
  .ncc-home-fact { color:#1f3c88;font-weight:800!important; }
  .ncc-home-text-link { color:#1f3c88;font-size:1rem;line-height:1.5;font-weight:800;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px; }
  .ncc-home-steps { list-style:none;padding:0;margin:0;align-self:center; }
  .ncc-home-steps li { display:flex;gap:1.25rem;padding:1.25rem 0;border-top:1px solid #dce3ee; }.ncc-home-steps li:first-child { border-top:0;padding-top:0; }
  .ncc-home-steps li>span { color:#205bbe;font-size:1.25rem;font-weight:800;min-width:1.8rem; }.ncc-home-steps h3 { font-size:1.125rem;line-height:1.4;margin:0 0 .35rem; }.ncc-home-steps p { margin:0;color:#515e70; }
  .service-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem; }
  .service-card { border-radius:16px;box-shadow:none;min-height:0;display:flex;flex-direction:column;border:1px solid #dce3ee; }
  .service-media { height:175px; }.service-media img { width:100%;height:100%;object-fit:cover; }
  .service-body { padding:1.25rem;flex:1;display:flex;flex-direction:column; }
  .service-badge { font-size:.875rem;line-height:1.5;letter-spacing:0; }
  .service-body h3 { font-size:1.25rem;line-height:1.35;margin:.5rem 0 .75rem;letter-spacing:-.01em; }
  .service-body p { font-size:1rem;line-height:1.65;font-weight:500;margin:0 0 1rem;color:#515e70; }
  .service-more { font-size:.9375rem;line-height:1.5;margin-top:auto; }
  .ncc-home-about { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3rem;align-items:center; }
  .ncc-home-about>img { width:100%;height:390px;object-fit:cover;border-radius:20px; }
  .ncc-home-about p { margin:0 0 1rem; }.ncc-home-about .eyebrow { font-size:.875rem; }
  .ncc-home-contact { border-radius:20px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border:1px solid #dce3ee; }
  .ncc-home-contact-intro { padding:clamp(1.5rem,3vw,2.5rem);background:#0f1726;color:#e0e6f0; }
  .ncc-home-contact-intro .eyebrow { color:#a9d2ff;font-size:.875rem; }.ncc-home-contact h2 { color:#fff; }
  .ncc-home-contact-details { padding:clamp(1.5rem,3vw,2.5rem);background:#fff;display:grid;gap:1.5rem;align-content:center; }
  .ncc-home-contact-details h3 { font-size:1.125rem;margin:0 0 .5rem; }.ncc-home-contact-details p { margin:0 0 .5rem; }.ncc-home-contact-details a { color:#1f3c88;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:44px; }
  .footer { margin-top:4.5rem; }.footer p,.footer li,.footer a,.footer small { font-size:.9375rem;line-height:1.65; }
  @media(max-width:1000px) {
    .ncc-home-cover { grid-template-columns:minmax(0,1fr) minmax(0,.75fr); }.ncc-home-intro h1 { font-size:2.65rem; }
    .ncc-home-leasing,.ncc-home-about { gap:1.5rem; }.service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .section-head { display:block; }.section-text { margin-top:1rem;max-width:46rem; }
  }
  @media(max-width:700px) {
    body { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
    .wrap { width:calc(100% - 24px); }.ncc-home-cover,.ncc-home-leasing,.ncc-home-about,.ncc-home-contact { grid-template-columns:minmax(0,1fr); }
    .ncc-home-intro h1 { font-size:clamp(2rem,8vw,2.75rem); }.ncc-home-cover { border-radius:18px; }.ncc-home-photo { min-height:250px; }
    .ncc-home-shortcuts { grid-template-columns:minmax(0,1fr);gap:.5rem; }.ncc-home-shortcuts a { min-height:0;padding:.8rem 1rem; }
    .ncc-home-steps { margin-top:.5rem; }.ncc-home-about>img { height:280px; }.section { padding-top:2.5rem; }
    .hero-actions { flex-direction:column;align-items:stretch; }.panel-actions { flex-wrap:wrap;gap:.75rem; }
    .ncc-home-contact .panel-actions .btn { flex:1 1 100%; }.brand small { font-size:.875rem; }
    .floating-call,.ai-launcher { bottom:calc(10px + env(safe-area-inset-bottom,0px));width:calc((100% - 36px)/2);min-height:52px;padding:8px;border-radius:12px;font-size:14px;line-height:1.3;letter-spacing:-.02em;justify-content:center;text-align:center;box-shadow:0 4px 14px rgba(15,23,38,.22); }
    .floating-call { left:12px;right:auto; }.ai-launcher { left:auto;right:12px; }
    .ai-chat { bottom:calc(74px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 96px - env(safe-area-inset-bottom,0px)); }
    .ai-form input,.ai-lead input,.ai-lead textarea { font-size:16px; }
  }
  @media(max-width:480px) { .service-grid { grid-template-columns:minmax(0,1fr); } }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important;animation:none!important; } }
}
@media print { .skip-link { display:none!important; } }
