
/* Shared customer-facing palette. App chrome, consent and mail logic are untouched. */
@media screen {
  :root {
    --bg:#f5f6f7;
    --paper:#ffffff;
    --ink:#182b40;
    --text:#334457;
    --muted:#596878;
    --line:#dbe1e7;
    --blue:#245f9e;
    --blue2:#1d4e82;
    --dark:#132a42;
    --dark2:#1b354f;
    --soft:#edf3f8;
    --shadow:0 8px 24px rgba(19,42,66,.06);
  }
  body { background:var(--bg);color:var(--text); }
  ::selection { background:#d9e8f6;color:var(--ink); }
  .header { background:#fff;border-color:var(--line);backdrop-filter:none;-webkit-backdrop-filter:none; }
  .brand-logo { box-shadow:none;border:1px solid var(--line);border-radius:10px; }
  .brand strong { font-weight:800;line-height:1.2; }
  .brand small { color:var(--muted);font-weight:600;line-height:1.4; }
  .menu a,.drop-btn,.mobile-list a { font-weight:700;border-radius:8px; }
  .menu a:hover,.drop:hover .drop-btn,.drop-panel a:hover,
  .menu a[aria-current=page],.mobile-list a[aria-current=page] { background:var(--soft);color:var(--blue2)!important; }
  .drop-panel,.mobile-panel { background:#fff;border-color:var(--line);box-shadow:0 10px 28px rgba(19,42,66,.09); }
  .phone-pill { border-radius:8px;background:var(--soft);box-shadow:none;border-color:var(--line);font-weight:700; }
  .mobile-toggle { border-radius:8px;border-color:var(--line); }
  .mobile-list a.mobile-primary { background:var(--blue);color:#fff!important; }

  .btn,.floating-call,.ai-launcher,.send-btn { border-radius:8px;font-weight:700;box-shadow:none; }
  .btn:hover { transform:none;box-shadow:none; }
  .btn-blue,.send-btn,.floating-call { background:var(--blue);border-color:var(--blue);color:#fff!important; }
  .btn-blue:hover,.send-btn:not(:disabled):hover,.floating-call:hover { background:var(--blue2);border-color:var(--blue2); }
  .btn-dark,.ai-launcher { background:var(--dark);color:#fff; }
  .btn-dark:hover,.ai-launcher:hover { background:var(--dark2); }
  .btn-light { background:#fff;border-color:var(--line);color:var(--blue2)!important; }
  .btn-light:hover { background:var(--soft); }
  .btn-ghost { background:transparent;border-color:#94adc4;color:#fff!important;box-shadow:none; }
  .btn-ghost:hover { background:#ffffff12;border-color:#fff; }
  .send-btn:disabled { background:#65748b;border-color:#65748b;cursor:default; }
  .eyebrow,.hero-kicker { font-weight:700; }
  .eyebrow::before { background:var(--blue);box-shadow:none;width:6px;height:6px; }

  /* A single navy anchor balances the bright, quiet content surfaces. */
  .ncc-home-cover,.ncc-service-cover,main .hero-shell {
    background:var(--dark);color:#fff;border-radius:18px;box-shadow:none;
  }
  main .hero-shell::before { background:none; }
  .ncc-home-intro h1,.ncc-service-intro h1 { font-weight:800; }
  .ncc-home-intro h1 span,.ncc-service-intro h1 span,main .hero-shell h1 em,
  main .hero-title em { color:#c3d9ed;font-weight:600; }
  .ncc-home-intro .eyebrow,.ncc-service-intro .eyebrow,
  main .hero-shell .hero-kicker,main .hero-shell .kicker { color:#c3d9ed; }
  .ncc-home-focus { font-weight:700; }
  .ncc-home-lead,.ncc-home-services,.ncc-service-lead { color:#e0e8ef; }
  .ncc-home-photo span,.about-promise { background:var(--dark);box-shadow:none;border-radius:8px; }
  .ncc-home-address { color:#cfdae5; }
  .ncc-home-shortcuts { gap:1rem; }
  .ncc-home-shortcuts a { background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px; }
  .ncc-home-shortcuts a:hover { background:var(--soft); }
  .ncc-home-shortcuts span,.ncc-home-steps p,.service-body p { color:var(--muted); }
  .ncc-home-leasing,.ncc-home-contact { border-color:var(--line);border-radius:16px; }
  .ncc-home-leasing,.ncc-home-contact-details { background:#fff; }
  .ncc-home-contact-intro { background:var(--dark); }
  .ncc-home-fact,.ncc-home-text-link,.ncc-home-contact-details a,
  .ncc-home-steps li>span,.ncc-service-crumb a,.ncc-service-notes>summary { color:var(--blue2); }

  main .section-title,.ncc-home-leasing h2,.ncc-home-about h2,
  .ncc-home-contact h2,main .about-copy h2 { font-weight:800;letter-spacing:-.025em; }
  main .service-card,main .value-card,main .process-card,main .feature-card,
  main .benefit-card,main .step-card,main .gallery-card,main .gallery-item,
  main .card,main .route-card,main .price-card,main .info-box,
  main .light-panel,main .hero-card,main .contact-card,main .info-card,
  main .trust-card,main .impressum-card,main .privacy-card,main .agb-card,
  main .toc,main .faq-item,.ncc-service-notes {
    background:#fff;border-color:var(--line);border-radius:12px;box-shadow:none;
  }
  main .service-card:hover,main .value-card:hover,main .gallery-item:hover {
    background:#fff;border-color:#8caac7;transform:none;box-shadow:0 6px 18px rgba(19,42,66,.05);
  }
  main .service-card:hover .service-media img { transform:none; }
  .service-badge { color:var(--blue2);background:var(--soft);font-weight:700; }
  .service-more { color:var(--blue2);font-weight:700; }
  main .dark-band,main .dark-panel,main .final-cta { background:var(--dark);border-radius:16px;box-shadow:none; }
  main .dark-box { background:var(--dark2);box-shadow:none;border-color:#52667a; }
  main .proof-bar { background:var(--dark2); }
  .ncc-service-notes .proof-bar { background:var(--soft); }
  .upload-panel,.ncc-check-notice { background:var(--soft);border-color:var(--blue); }
  .field input,.field select,.field textarea,.pack input,.pack textarea { border-color:#899bad; }
  .gallery-media { background:#edf0f3; }
  .gallery-filters button[aria-pressed=true] { background:var(--blue);border-color:var(--blue); }
  .gallery-more { color:var(--blue2); }
  .footer { background:var(--dark); }
  .footer p,.footer li,.footer a,.footer small { font-weight:500; }
  .footer h3,.footer-brand strong { font-weight:700; }
  .footer a:hover { text-decoration:underline!important;text-underline-offset:4px; }

  /* Some legacy pages nest the controls in the footer. Footer link margins
     must never offset one of the fixed controls or change its alignment. */
  body .floating-call,body .ai-launcher {
    display:inline-flex;box-sizing:border-box;margin:0;transform:none;
    align-items:center;justify-content:center;font-weight:700;
  }
  body .floating-call,body .floating-call:hover { color:#fff!important;text-decoration:none!important; }

  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
  textarea:focus-visible,summary:focus-visible { outline:3px solid var(--blue);outline-offset:4px; }
  .hero-shell a:focus-visible,.ncc-home-cover a:focus-visible,.ncc-service-cover a:focus-visible,
  .dark-band a:focus-visible,.final-cta a:focus-visible,.ncc-home-contact-intro a:focus-visible,
  .footer a:focus-visible,.footer button:focus-visible { outline-color:#c3d9ed; }
  @media(max-width:700px) {
    body { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
    .brand { min-width:0;flex:1;gap:9px; }
    .brand strong { font-size:1rem; }
    .brand small { font-size:.8125rem;max-width:15rem; }
    .brand-logo { width:40px;height:40px;flex:0 0 40px; }
    .nav-actions { min-width:0; }.mobile-toggle { flex:0 0 46px; }
    .ncc-home-cover,.ncc-service-cover,main .hero-shell { border-radius:12px; }
    .ncc-home-intro,.ncc-service-intro { padding:1.5rem; }
    .ncc-home-shortcuts { gap:.65rem; }
    .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:8px;font-size:14px;line-height:1.3;
      letter-spacing:-.02em;justify-content:center;text-align:center;box-shadow:0 3px 12px rgba(19,42,66,.16);
    }
    .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(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important; } }
}
