/* Version 1.3.0: Eisblau & Stahlgrau. Alle Farbtöne kühl, keine Beige-/Eierschalentöne. */
:root {
  /* Eisblau */
  --ice: #73b9d6;          /* Signaturfarbe: Buttons, Akzente, Flächen */
  --ice-hover: #5eaccd;
  --ice-deep: #1f6e93;     /* Text und Links auf Weiss (Kontrast 5.7:1) */
  --ice-pale: #a9dbef;     /* Akzente auf dunklem Stahl */
  --ice-tint: #eaf5fa;
  --ice-line: #c5e2ee;
  /* Stahlgrau & Silber */
  --steel-900: #26323c;    /* dunkle Abschnitte */
  --steel-950: #0e2433;    /* Text auf Eisblau (Kontrast 7.3:1) */
  --steel-700: #44525e;
  --steel-500: #5a6670;
  --steel-300: #8e9ba6;
  --silver-200: #dde3e8;
  --silver-100: #eef1f4;
  --silver-50: #f6f8f9;

  /* Zuordnung zu den Basis-Variablen */
  --navy: #1f6e93;
  --ink: #1d2730;
  --muted: #5a6670;
  --paper: #ffffff;
  --line: #dde3e8;
  --accent: #1f6e93;
  --sand: #f6f8f9;
}

body { background: #fff; }
.header { background: rgba(255,255,255,.97); border-bottom-color: var(--silver-200); }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, textarea:focus-visible { outline-color: var(--ice); }

/* Buttons: Eisblau mit dunkler Schrift */
.button { background: var(--ice); border-color: var(--ice); color: var(--steel-950); }
.button:hover { background: var(--ice-hover); border-color: var(--ice-hover); }
.menu-toggle span { background: var(--steel-900); }

.photo-caption { background: #fff; box-shadow: 0 10px 32px #26323c1f; }
.caption-icon { background: var(--ice-tint); color: var(--ice-deep); }
.image-note { color: #fff; }
.trust-strip { background: var(--silver-50); border-color: var(--silver-200); }
.trust-grid > div { border-right-color: var(--silver-200); }
.trust-grid > div > span { color: var(--ice-deep); }
.text-link { color: var(--ice-deep); border-bottom-color: var(--ice); }
.text-link:hover { color: var(--steel-950); border-color: var(--steel-950); }
.service-grid svg { stroke: var(--ice-deep); }
.service-grid article { border-top-color: var(--silver-200); }

.process-section { background: var(--steel-900); }
.process-section .eyebrow { color: var(--ice); }
.process-section .section-heading > p, .steps p { color: #c9d1d8; }
.process-section h2 .serif { color: var(--ice-pale); }
.steps li { border-top-color: var(--steel-700); }
.step-number { color: var(--ice); }

.location { background: var(--silver-50); border-color: var(--silver-200); }
.canton { border-color: var(--steel-300); }
.location-title > span { color: var(--ice-deep); }
.location-footer { border-top-color: var(--silver-200); }
.faq-section { background: var(--silver-50); border-color: var(--silver-200); }
.faq-list, .faq-list details { border-color: var(--silver-200); }
.faq-list summary span { color: var(--ice-deep); }
.contact-section { background: var(--silver-100); }
.contact-email { border-bottom-color: var(--steel-300); }
.contact-promise > span { color: var(--ice-deep); }
.request-form { background: #fff; border-color: var(--silver-200); }
input:not([type=radio]), textarea { border-color: #c8d1d8; }
input::placeholder, textarea::placeholder { color: #6f7b85; }
.inline-button { border-bottom-color: var(--steel-300); }
.email-result { background: var(--ice-tint); border-color: var(--ice-line); }
.copy-button { border-color: var(--ice-deep); color: var(--ice-deep); }
footer { background: #fff; }
.footer-bottom { border-top-color: var(--silver-200); }
.mobile-cta { background: #fff; border-top-color: var(--silver-200); }
.mobile-cta a { border-color: var(--steel-900); }
dialog { background: #fff; }
dialog::backdrop { background: #0e2433b3; }
.skip { background: var(--steel-900); }
