/* ============================================================
   clean&care — statische Website (ein Stylesheet, keine Abhängigkeiten)
   Fonts lokal via @font-face (assets/fonts/), Fallback = System-Schrift.
   ============================================================ */

/* ---------- Fonts (lokal gehostet, keine Drittserver) ----------
   Montserrat-.woff2-Dateien liegen bereits in assets/fonts/ bei. */
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:300; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-300.woff2') format('woff2'); }
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-regular.woff2') format('woff2'); }
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-500.woff2') format('woff2'); }
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:600; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-600.woff2') format('woff2'); }
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:700; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-700.woff2') format('woff2'); }
@font-face{ font-family:'Montserrat'; font-style:normal; font-weight:800; font-display:swap;
  src:url('assets/fonts/montserrat-v31-latin-800.woff2') format('woff2'); }

/* ---------- Tokens: Farben ---------- */
:root{
  --brand-blue-900:#18305d; --brand-blue-700:#203e78; --brand-blue-500:#3a5ca0;
  --brand-sky-300:#a0d8f5; --brand-sky-200:#c4e7fa; --brand-sky-100:#e6f5fd;
  --brand-pink-500:#e2a9f1; --brand-pink-600:#d488ea; --brand-pink-100:#f7e6fc; --white:#ffffff;
  --ink-900:#1b2942; --ink-700:#2a3b5e; --ink-500:#5d6e8c; --ink-300:#9aa8bf;
  --line-200:#dce7f1; --line-100:#edf3f8; --bg-50:#f6fafd;
  --color-primary:var(--brand-blue-700); --color-primary-hover:var(--brand-blue-900);
  --color-accent:var(--brand-pink-500); --color-accent-hover:var(--brand-pink-600);
  --text-heading:var(--brand-blue-700); --text-body:var(--ink-700); --text-muted:var(--ink-500);
  --text-on-primary:var(--white); --text-on-accent:var(--brand-blue-900); --text-link:var(--brand-blue-500);
  --surface-page:var(--bg-50); --surface-card:var(--white); --surface-sky:var(--brand-sky-300);
  --surface-sky-soft:var(--brand-sky-100); --surface-accent:var(--brand-pink-100);
  --border-default:var(--line-200); --border-strong:var(--brand-blue-700);
  --color-success:#2e9e6b; --color-warning:#e0a52e; --color-danger:#d6536b;

  /* Typografie */
  --font-sans:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display:var(--font-sans);
  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extrabold:800;
  --fs-xs:0.75rem; --fs-sm:0.875rem; --fs-base:1rem; --fs-md:1.125rem; --fs-lg:1.375rem;
  --fs-xl:1.75rem; --fs-2xl:2.25rem; --fs-3xl:3rem; --fs-4xl:3.75rem;
  --lh-tight:1.12; --lh-snug:1.3; --lh-normal:1.55; --lh-relaxed:1.7;
  --ls-tight:-0.02em; --ls-normal:0; --ls-wide:0.04em; --ls-caps:0.12em;

  /* Abstände */
  --space-0:0; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4rem; --space-9:6rem;
  --container-max:1180px; --container-narrow:760px;

  /* Radien / Schatten / Motion */
  --radius-sm:8px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px; --radius-pill:999px;
  --shadow-xs:0 1px 2px rgba(32,62,120,0.06); --shadow-sm:0 2px 8px rgba(32,62,120,0.08);
  --shadow-md:0 8px 24px rgba(32,62,120,0.10); --shadow-lg:0 18px 48px rgba(32,62,120,0.14);
  --shadow-accent:0 10px 28px rgba(226,169,241,0.40);
  --border-width:1px; --border-width-strong:2px;
  --ease-out:cubic-bezier(0.22,1,0.36,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:360ms;
  --focus-ring:0 0 0 3px rgba(160,216,245,0.85);
}

/* ============================================================
   Komponenten
   ============================================================ */
.cc-btn{ --_bg:var(--color-primary); --_fg:var(--text-on-primary); --_bd:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:0.5em;
  font-family:var(--font-sans); font-weight:var(--fw-semibold);
  border:var(--border-width-strong) solid var(--_bd); background:var(--_bg); color:var(--_fg);
  border-radius:var(--radius-pill); cursor:pointer; line-height:1; white-space:nowrap; text-decoration:none;
  transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out),
    border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out),
    box-shadow var(--dur-base) var(--ease-out); }
.cc-btn--md{ font-size:var(--fs-base); padding:0.75rem 1.5rem; }
.cc-btn--sm{ font-size:var(--fs-sm); padding:0.5rem 1rem; }
.cc-btn--lg{ font-size:var(--fs-md); padding:1rem 2rem; }
.cc-btn--block{ display:flex; width:100%; }
.cc-btn--primary{ --_bg:var(--color-primary); --_fg:var(--text-on-primary); box-shadow:var(--shadow-sm); }
.cc-btn--primary:hover{ --_bg:var(--color-primary-hover); box-shadow:var(--shadow-md); transform:translateY(-1px); }
.cc-btn--accent{ --_bg:var(--color-accent); --_fg:var(--text-on-accent); box-shadow:var(--shadow-accent); }
.cc-btn--accent:hover{ --_bg:var(--color-accent-hover); transform:translateY(-1px); }
.cc-btn--secondary{ --_bg:transparent; --_fg:var(--color-primary); --_bd:var(--color-primary); }
.cc-btn--secondary:hover{ --_bg:var(--color-primary); --_fg:var(--text-on-primary); }
.cc-btn--ghost{ --_bg:transparent; --_fg:var(--color-primary); --_bd:transparent; }
.cc-btn--ghost:hover{ --_bg:var(--surface-sky-soft); }
.cc-btn:focus-visible{ outline:none; box-shadow:var(--focus-ring); }
.cc-btn:active{ transform:translateY(0) scale(0.98); }
.cc-btn:disabled,.cc-btn[aria-disabled="true"]{ opacity:0.45; cursor:not-allowed; transform:none; box-shadow:none; }

.cc-badge{ display:inline-flex; align-items:center; gap:0.4em; font-family:var(--font-sans);
  font-weight:var(--fw-semibold); font-size:var(--fs-xs); letter-spacing:var(--ls-wide);
  padding:0.35em 0.85em; border-radius:var(--radius-pill); line-height:1; white-space:nowrap; }
.cc-badge--sky{ background:var(--brand-sky-200); color:var(--brand-blue-700); }
.cc-badge--accent{ background:var(--surface-accent); color:var(--brand-blue-900); }
.cc-badge--primary{ background:var(--color-primary); color:var(--white); }
.cc-badge--outline{ background:transparent; color:var(--color-primary); box-shadow:inset 0 0 0 var(--border-width-strong) var(--brand-sky-300); }
.cc-badge--uppercase{ text-transform:uppercase; letter-spacing:var(--ls-caps); }

.cc-card{ background:var(--surface-card); border-radius:var(--radius-lg);
  border:var(--border-width) solid var(--line-100); box-shadow:var(--shadow-sm); padding:var(--space-6);
  transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }

.cc-field{ display:flex; flex-direction:column; gap:0.4rem; font-family:var(--font-sans); }
.cc-field__label{ font-size:var(--fs-sm); font-weight:var(--fw-semibold); color:var(--text-heading); }
.cc-field__req{ color:var(--color-accent-hover); margin-left:0.15em; }
.cc-input,.cc-textarea{ font-family:var(--font-sans); font-size:var(--fs-base); color:var(--text-body);
  background:var(--white); border:var(--border-width-strong) solid var(--line-200); border-radius:var(--radius-md);
  padding:0.7rem 1rem; width:100%; box-sizing:border-box;
  transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.cc-textarea{ resize:vertical; min-height:6rem; line-height:var(--lh-normal); }
.cc-input::placeholder,.cc-textarea::placeholder{ color:var(--ink-300); }
.cc-input:hover,.cc-textarea:hover{ border-color:var(--brand-sky-300); }
.cc-input:focus,.cc-textarea:focus{ outline:none; border-color:var(--brand-blue-500); box-shadow:var(--focus-ring); }

.cc-check{ display:inline-flex; align-items:flex-start; gap:0.6rem; font-family:var(--font-sans);
  font-size:var(--fs-base); color:var(--text-body); cursor:pointer; line-height:var(--lh-snug); }
.cc-check input{ position:absolute; opacity:0; width:1px; height:1px; }
.cc-check__box{ flex:none; width:1.35rem; height:1.35rem; margin-top:0.05rem;
  border:var(--border-width-strong) solid var(--brand-sky-300); border-radius:7px; background:var(--white);
  display:grid; place-items:center;
  transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.cc-check__box svg{ width:0.85rem; height:0.85rem; opacity:0; transform:scale(0.6);
  transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.cc-check:hover .cc-check__box{ border-color:var(--color-accent); }
.cc-check input:checked + .cc-check__box{ background:var(--color-accent); border-color:var(--color-accent); }
.cc-check input:checked + .cc-check__box svg{ opacity:1; transform:scale(1); }
.cc-check input:focus-visible + .cc-check__box{ box-shadow:var(--focus-ring); }

.cc-service{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-3);
  background:var(--surface-card); border-radius:var(--radius-lg); border:var(--border-width) solid var(--line-100);
  box-shadow:var(--shadow-sm); padding:var(--space-6); font-family:var(--font-sans);
  transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.cc-service--interactive{ cursor:pointer; }
.cc-service--interactive:hover{ box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.cc-service__icon{ width:3.25rem; height:3.25rem; border-radius:var(--radius-md); display:grid; place-items:center;
  background:var(--surface-sky-soft); color:var(--brand-blue-700); }
.cc-service--accent .cc-service__icon{ background:var(--surface-accent); color:var(--brand-blue-900); }
.cc-service__icon svg{ width:1.6rem; height:1.6rem; }
.cc-service__title{ font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--text-heading); margin:0; }
.cc-service__desc{ font-size:var(--fs-base); color:var(--text-muted); margin:0; line-height:var(--lh-normal); }

.cc-feature{ display:flex; align-items:flex-start; gap:0.75rem; font-family:var(--font-sans);
  color:var(--text-body); font-size:var(--fs-md); line-height:var(--lh-snug); }
.cc-feature__tick{ flex:none; width:1.6rem; height:1.6rem; border-radius:var(--radius-pill);
  background:var(--color-accent); display:grid; place-items:center; margin-top:0.1rem; box-shadow:var(--shadow-xs); }
.cc-feature__tick svg{ width:0.95rem; height:0.95rem; }
.cc-feature--plain .cc-feature__tick{ background:var(--surface-accent); }
.cc-feature strong{ color:var(--text-heading); font-weight:var(--fw-semibold); }

.cc-heading{ display:flex; flex-direction:column; gap:var(--space-3); font-family:var(--font-sans); max-width:42rem; }
.cc-heading--center{ align-items:center; text-align:center; margin-inline:auto; }
.cc-heading__eyebrow{ font-size:var(--fs-sm); font-weight:var(--fw-bold); text-transform:uppercase;
  letter-spacing:var(--ls-caps); color:var(--color-accent-hover); }
.cc-heading__title{ font-size:var(--fs-2xl); font-weight:var(--fw-extrabold); color:var(--text-heading);
  margin:0; line-height:var(--lh-tight); letter-spacing:var(--ls-tight); text-wrap:balance;
  overflow-wrap:break-word; hyphens:none; }
.cc-heading__intro{ font-size:var(--fs-md); color:var(--text-muted); margin:0; line-height:var(--lh-normal); text-wrap:pretty; }

/* ============================================================
   Layout & Sektionen
   ============================================================ */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:var(--font-sans); color:var(--text-body); background:var(--surface-page);
  -webkit-font-smoothing:antialiased; font-size:var(--fs-base); line-height:var(--lh-normal);
  overflow-x:hidden; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }

.cc-container{ width:100%; max-width:var(--container-max); margin:0 auto; padding:0 24px; }
.cc-section{ padding:var(--space-9) 0; }

/* Header */
.cc-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,0.88);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line-100); }
.cc-header__inner{ display:flex; align-items:center; gap:24px; height:72px; }
.cc-header__logo img{ height:34px; width:auto; }
.cc-nav{ display:flex; gap:28px; margin-left:8px; }
.cc-nav a{ font-size:var(--fs-base); font-weight:var(--fw-medium); color:var(--text-heading);
  transition:color var(--dur-base) var(--ease-out); }
.cc-nav a:hover{ color:var(--color-accent-hover); }
.cc-header__actions{ margin-left:auto; display:flex; align-items:center; gap:18px; }
.cc-header__phone{ display:inline-flex; align-items:center; gap:8px; font-weight:var(--fw-semibold);
  color:var(--text-heading); font-size:var(--fs-sm); }
.cc-header__phone:hover{ color:var(--color-accent-hover); }
.cc-header__burger{ display:none; margin-left:auto; background:none; border:none; color:var(--text-heading);
  cursor:pointer; padding:6px; }
.cc-mobilenav{ display:none; flex-direction:column; gap:14px; padding:18px 24px 24px;
  background:#fff; border-bottom:1px solid var(--line-100); }
.cc-header.menu-open .cc-mobilenav{ display:flex; }
.cc-mobilenav a{ font-weight:var(--fw-medium); color:var(--text-heading); }

/* Hero */
.cc-hero{ background:linear-gradient(180deg, var(--brand-sky-100) 0%, var(--surface-page) 100%); overflow:hidden; }
.cc-hero__inner{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  padding:var(--space-9) 24px calc(var(--space-9) + 8px); }
.cc-hero__inner > *,.cc-why__inner > *,.cc-ideal__inner > *{ min-width:0; }
.cc-hero__text{ display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
.cc-hero__title{ font-size:var(--fs-4xl); font-weight:var(--fw-extrabold); color:var(--text-heading);
  margin:0; line-height:1.05; letter-spacing:var(--ls-tight); text-wrap:balance;
  overflow-wrap:break-word; hyphens:none; }
.cc-hero__title .accent{ color:var(--color-accent-hover); }
.cc-hero__lead{ font-size:var(--fs-md); color:var(--text-muted); margin:0; max-width:36rem; text-wrap:pretty; }
.cc-hero__cta{ display:flex; flex-wrap:wrap; gap:14px; }
.cc-hero__trust{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:6px; }
.cc-hero__trust span{ display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-sm);
  font-weight:var(--fw-medium); color:var(--text-heading); }
.cc-hero__trust svg{ color:var(--color-accent-hover); }
.cc-hero__visual{ position:relative; }
.cc-hero__panel{ position:relative; aspect-ratio:1/0.92; border-radius:var(--radius-xl);
  background:radial-gradient(120% 120% at 80% 10%, var(--brand-sky-200) 0%, var(--brand-sky-300) 55%, var(--brand-blue-500) 130%);
  box-shadow:var(--shadow-lg); overflow:hidden; }
.cc-hero__badge{ position:absolute; left:24px; bottom:24px; right:24px; display:flex; align-items:center; gap:14px;
  background:rgba(255,255,255,0.95); border-radius:var(--radius-lg); padding:16px 18px; box-shadow:var(--shadow-md); z-index:2; }
.cc-hero__badge-icon{ flex:none; width:46px; height:46px; border-radius:var(--radius-md); display:grid; place-items:center;
  background:var(--surface-accent); color:var(--brand-blue-700); }
.cc-hero__badge strong{ display:block; color:var(--text-heading); font-size:var(--fs-base); }
.cc-hero__badge > div > span{ font-size:var(--fs-sm); color:var(--text-muted); }

/* Services */
.cc-services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:var(--space-7); }
.cc-services-cta{ grid-column:span 1; background:var(--brand-blue-700); color:#fff; border-radius:var(--radius-lg);
  padding:var(--space-6); display:flex; flex-direction:column; gap:12px; justify-content:center; }
.cc-services-cta h3{ margin:0; font-size:var(--fs-lg); font-weight:var(--fw-bold); }
.cc-services-cta p{ margin:0; color:var(--brand-sky-200); font-size:var(--fs-base); }
.cc-services-cta .cc-btn{ align-self:flex-start; }

/* Why us */
.cc-why{ background:var(--brand-sky-100); }
.cc-why__inner{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center; }
.cc-why__media{ position:relative; }
.cc-why__photo{ position:relative; aspect-ratio:4/5; border-radius:var(--radius-xl); overflow:hidden;
  background:radial-gradient(120% 120% at 30% 20%, var(--brand-sky-200), var(--brand-blue-500));
  display:grid; place-items:center; box-shadow:var(--shadow-lg); }
.cc-why__card{ position:absolute; right:-18px; bottom:-22px; background:#fff; border-radius:var(--radius-lg);
  padding:18px 22px; box-shadow:var(--shadow-md); display:flex; flex-direction:column; gap:2px; max-width:75%; z-index:2; }
.cc-why__quote{ font-size:var(--fs-md); font-style:italic; color:var(--text-heading); font-weight:var(--fw-medium); margin-bottom:6px; }
.cc-why__card strong{ color:var(--text-heading); }
.cc-why__role{ font-size:var(--fs-sm); color:var(--text-muted); }
.cc-why__points{ display:flex; flex-direction:column; gap:20px; margin-top:var(--space-6); }
.cc-why__point{ display:flex; gap:16px; align-items:flex-start; }
.cc-why__point-icon{ flex:none; width:48px; height:48px; border-radius:var(--radius-md); display:grid; place-items:center;
  background:#fff; color:var(--color-accent-hover); box-shadow:var(--shadow-sm); }
.cc-why__point strong{ display:block; color:var(--text-heading); font-size:var(--fs-md); margin-bottom:2px; }
.cc-why__point p{ margin:0; color:var(--text-muted); }

/* Ideal for */
.cc-ideal__inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.cc-ideal__list{ display:flex; flex-direction:column; gap:18px; margin-top:var(--space-6); }
.cc-ideal__stats{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cc-stat{ background:var(--surface-card); border:1px solid var(--line-100); border-radius:var(--radius-lg);
  padding:var(--space-6); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:6px; }
.cc-stat--accent{ background:var(--brand-blue-700); border-color:transparent; }
.cc-stat--accent .cc-stat__lbl{ color:#fff; }
.cc-stat--accent .cc-stat__num{ color:var(--brand-sky-300); }
.cc-stat__num{ font-size:var(--fs-3xl); font-weight:var(--fw-extrabold); color:var(--text-heading); line-height:1; }
.cc-stat__lbl{ font-size:var(--fs-sm); color:var(--text-muted); }

/* Contact */
.cc-contact{ background:var(--brand-blue-700); }
.cc-contact .cc-heading__title{ color:#fff; }
.cc-contact .cc-heading__eyebrow{ color:var(--brand-pink-500); }
.cc-contact .cc-heading__intro{ color:var(--brand-sky-200); }
.cc-contact__inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.cc-contact__inner > *{ min-width:0; }
.cc-contact__details{ display:flex; flex-direction:column; gap:16px; margin-top:var(--space-6); }
.cc-contact__details a,.cc-contact__details div{ display:inline-flex; align-items:center; gap:14px; color:#fff;
  font-size:var(--fs-md); font-weight:var(--fw-medium); overflow-wrap:anywhere; }
.cc-contact__details .ico{ flex:none; width:44px; height:44px; border-radius:var(--radius-md); display:grid; place-items:center;
  background:rgba(255,255,255,0.12); color:var(--brand-sky-300); }
.cc-contact__details a:hover .ico{ background:var(--color-accent); color:var(--brand-blue-900); }
.cc-contact__card{ padding:var(--space-7); }
.cc-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cc-contact__card form{ display:flex; flex-direction:column; gap:16px; }
.cc-select{ font-family:var(--font-sans); font-size:var(--fs-base); color:var(--text-body); background:var(--white);
  border:var(--border-width-strong) solid var(--line-200); border-radius:var(--radius-md); padding:0.7rem 1rem; width:100%;
  cursor:pointer; transition:border-color var(--dur-base) var(--ease-out); }
.cc-select:hover{ border-color:var(--brand-sky-300); }
.cc-select:focus{ outline:none; border-color:var(--brand-blue-500); box-shadow:var(--focus-ring); }
.cc-contact__thanks{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; padding:var(--space-6) 0; }
.cc-contact__thanks-icon{ width:64px; height:64px; border-radius:var(--radius-pill); display:grid; place-items:center;
  background:var(--surface-accent); color:var(--brand-blue-700); margin-bottom:4px; }
.cc-contact__thanks h3{ margin:0; color:var(--text-heading); font-size:var(--fs-xl); }
.cc-contact__thanks p{ margin:0; color:var(--text-muted); max-width:32ch; }

/* Footer */
.cc-footer{ background:var(--brand-blue-900); color:#fff; }
.cc-footer__inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; padding:var(--space-8) 24px var(--space-7); }
.cc-footer__brand img{ height:34px; filter:brightness(0) invert(1); opacity:0.95; margin-bottom:16px; }
.cc-footer__brand p{ margin:0; color:var(--brand-sky-200); max-width:32ch; }
.cc-footer__col h4{ margin:0 0 16px; font-size:var(--fs-base); font-weight:var(--fw-bold); color:#fff; }
.cc-footer__col a,.cc-footer__col span{ display:block; color:var(--brand-sky-200); margin-bottom:10px; font-size:var(--fs-sm);
  transition:color var(--dur-base) var(--ease-out); }
.cc-footer__col a:hover{ color:#fff; }
.cc-footer__bar{ border-top:1px solid rgba(255,255,255,0.12); }
.cc-footer__barinner{ display:flex; justify-content:space-between; align-items:center; padding:18px 24px;
  font-size:var(--fs-sm); color:var(--brand-sky-200); gap:16px; flex-wrap:wrap; }
.cc-footer__legal{ display:flex; gap:20px; }
.cc-footer__legal a:hover{ color:#fff; }

/* Foto-Slots */
.cc-photo{ position:relative; overflow:hidden; background:var(--brand-sky-100); }
.cc-photo__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cc-photo__ph{ position:absolute; inset:0; display:none; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; padding:24px; color:var(--brand-blue-700);
  background-image:repeating-linear-gradient(135deg, rgba(255,255,255,0.55) 0 11px, rgba(255,255,255,0.30) 11px 22px); }
.cc-photo.is-missing .cc-photo__img{ display:none; }
.cc-photo.is-missing .cc-photo__ph{ display:flex; }
.cc-photo__tag{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:11px; letter-spacing:0.18em;
  font-weight:var(--fw-bold); padding:4px 11px; border:1.5px solid currentColor; border-radius:var(--radius-pill); opacity:0.7; }
.cc-photo__path{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:13px; opacity:0.85; }
.cc-photo__hint{ font-size:var(--fs-sm); font-weight:var(--fw-medium); opacity:0.6; }
.cc-services-band{ margin-top:var(--space-7); aspect-ratio:24/7; border-radius:var(--radius-xl); box-shadow:var(--shadow-md); }
@media (max-width:640px){ .cc-services-band{ aspect-ratio:16/9; } }

/* Legal pages */
main section[id]{ scroll-margin-top:88px; }
.cc-legal{ padding:var(--space-9) 0; background:var(--surface-page); }
.cc-legal__inner{ max-width:800px; }
.cc-legal__back{ display:inline-flex; align-items:center; gap:8px; color:var(--color-accent-hover);
  font-weight:var(--fw-medium); font-size:var(--fs-sm); margin-bottom:26px; }
.cc-legal__back:hover{ text-decoration:underline; }
.cc-legal h1{ font-size:var(--fs-3xl); font-weight:var(--fw-extrabold); color:var(--text-heading); margin:0 0 8px; letter-spacing:var(--ls-tight); overflow-wrap:break-word; hyphens:none; }
.cc-legal__stand{ color:var(--text-muted); font-size:var(--fs-sm); margin:0 0 var(--space-7); }
.cc-legal h2{ font-size:var(--fs-lg); font-weight:var(--fw-bold); color:var(--text-heading); margin:var(--space-7) 0 12px; }
.cc-legal h3{ font-size:var(--fs-md); font-weight:var(--fw-semibold); color:var(--text-heading); margin:var(--space-6) 0 6px; }
.cc-legal p{ margin:0 0 14px; color:var(--text-body); text-wrap:pretty; }
.cc-legal ul{ margin:0 0 14px; padding-left:22px; color:var(--text-body); }
.cc-legal li{ margin-bottom:6px; }
.cc-legal address{ font-style:normal; margin:0 0 14px; color:var(--text-body); line-height:1.75; }
.cc-legal a{ color:var(--color-accent-hover); }
.cc-legal a:hover{ text-decoration:underline; }
.cc-legal__todo{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:13px; color:var(--brand-pink-600); font-weight:var(--fw-semibold); }

/* Responsive */
@media (max-width:900px){
  .cc-nav,.cc-header__actions{ display:none; }
  .cc-header__burger{ display:block; }
  .cc-hero__inner,.cc-why__inner,.cc-ideal__inner,.cc-contact__inner{ grid-template-columns:1fr; gap:40px; }
  .cc-hero__visual{ order:-1; }
  .cc-services-grid{ grid-template-columns:1fr 1fr; }
  .cc-footer__inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .cc-services-grid,.cc-ideal__stats,.cc-form-row,.cc-footer__inner{ grid-template-columns:1fr; }
  .cc-hero__title{ font-size:1.9rem; }
  .cc-heading__title{ font-size:1.7rem; }
  .cc-legal h1{ font-size:1.85rem; }
  .cc-contact__card{ padding:var(--space-5); }
  .cc-contact__details a,.cc-contact__details div{ font-size:var(--fs-base); }
}
@media (max-width:380px){
  .cc-hero__title{ font-size:1.7rem; }
}
