.elementor-kit-5475{--e-global-color-primary:#4B0082;--e-global-color-secondary:#3B3B3B;--e-global-color-text:#3B3B3B;--e-global-color-accent:#008080;--e-global-color-8a6eaf5:#FFFFFF;--e-global-color-b72ff5e:#1C1C1C;--e-global-color-25fe8e3:#02010100;--e-global-color-e118c1c:#F8F8F8;--e-global-color-b8ffb71:#1C1C1C;--e-global-color-cd1e84d:#00808021;--e-global-color-a983356:#F8F8F8;--e-global-color-02754a5:#FFFFFF00;--e-global-color-ef9a968:#FFFFFF;--e-global-typography-primary-font-family:"Newsreader";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0.01em;--e-global-typography-secondary-word-spacing:0px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:-0.8px;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-word-spacing:0px;--e-global-typography-e1ae241-font-family:"Newsreader";--e-global-typography-e1ae241-font-size:24px;--e-global-typography-e1ae241-font-weight:600;--e-global-typography-e1ae241-text-transform:none;--e-global-typography-e1ae241-font-style:normal;--e-global-typography-e1ae241-line-height:1.25em;--e-global-typography-e1ae241-letter-spacing:0px;--e-global-typography-e1ae241-word-spacing:0px;--e-global-typography-b6196b7-font-family:"Newsreader";--e-global-typography-b6196b7-font-size:20px;--e-global-typography-b6196b7-font-weight:600;--e-global-typography-b6196b7-line-height:1.3em;--e-global-typography-b6196b7-letter-spacing:-0.13px;--e-global-typography-b84f1b3-font-family:"Inter";--e-global-typography-b84f1b3-font-size:17px;--e-global-typography-b84f1b3-font-weight:400;--e-global-typography-b84f1b3-text-transform:none;--e-global-typography-b84f1b3-font-style:normal;--e-global-typography-b84f1b3-text-decoration:none;--e-global-typography-b84f1b3-line-height:1.6em;--e-global-typography-b84f1b3-letter-spacing:0px;--e-global-typography-b84f1b3-word-spacing:0px;--e-global-typography-22e62d7-font-family:"Newsreader";--e-global-typography-22e62d7-font-size:15px;--e-global-typography-22e62d7-font-weight:500;--e-global-typography-22e62d7-text-transform:none;--e-global-typography-22e62d7-font-style:normal;--e-global-typography-22e62d7-text-decoration:none;--e-global-typography-22e62d7-line-height:1em;--e-global-typography-22e62d7-letter-spacing:-1.22px;--e-global-typography-22e62d7-word-spacing:0px;--e-global-typography-785de07-font-family:"Inter";--e-global-typography-785de07-font-size:12px;--e-global-typography-785de07-font-weight:400;--e-global-typography-785de07-text-transform:none;--e-global-typography-785de07-font-style:normal;--e-global-typography-785de07-text-decoration:none;--e-global-typography-785de07-line-height:1.5em;--e-global-typography-785de07-letter-spacing:0px;--e-global-typography-785de07-word-spacing:0px;--e-global-typography-d7a06da-font-family:"Inter";--e-global-typography-d7a06da-font-size:14.5px;--e-global-typography-d7a06da-font-weight:500;--e-global-typography-d7a06da-text-transform:none;--e-global-typography-d7a06da-font-style:normal;--e-global-typography-d7a06da-text-decoration:none;--e-global-typography-d7a06da-line-height:1.2em;--e-global-typography-d7a06da-letter-spacing:0px;--e-global-typography-d7a06da-word-spacing:0px;--e-global-typography-628465a-font-family:"Newsreader";--e-global-typography-628465a-font-size:50px;--e-global-typography-628465a-font-weight:500;--e-global-typography-628465a-text-transform:capitalize;--e-global-typography-628465a-font-style:normal;--e-global-typography-628465a-text-decoration:none;--e-global-typography-628465a-line-height:1.14em;--e-global-typography-628465a-letter-spacing:-0.01em;--e-global-typography-13b2551-font-family:"IBM Plex Mono";--e-global-typography-13b2551-font-size:12px;--e-global-typography-13b2551-font-weight:600;--e-global-typography-13b2551-text-transform:none;--e-global-typography-13b2551-font-style:normal;--e-global-typography-13b2551-text-decoration:none;--e-global-typography-13b2551-line-height:1.4em;--e-global-typography-02da0e9-font-family:"IBM Plex Mono";--e-global-typography-02da0e9-font-size:11px;--e-global-typography-02da0e9-font-weight:500;--e-global-typography-02da0e9-text-transform:none;--e-global-typography-02da0e9-font-style:normal;--e-global-typography-02da0e9-text-decoration:none;--e-global-typography-02da0e9-line-height:1.3em;--e-global-typography-02da0e9-letter-spacing:0.1em;--e-global-typography-dfc7301-font-family:"Inter";--e-global-typography-dfc7301-font-size:16px;--e-global-typography-dfc7301-font-weight:400;--e-global-typography-dfc7301-text-transform:none;--e-global-typography-dfc7301-font-style:normal;--e-global-typography-dfc7301-text-decoration:none;--e-global-typography-dfc7301-line-height:1.6em;--e-global-typography-dfc7301-letter-spacing:0em;--e-global-typography-dfc7301-word-spacing:0px;background-color:var( --e-global-color-a983356 );font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:-0.8px;word-spacing:0px;}.elementor-kit-5475 button,.elementor-kit-5475 input[type="button"],.elementor-kit-5475 input[type="submit"],.elementor-kit-5475 .elementor-button{background-color:var( --e-global-color-25fe8e3 );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-text );border-style:none;}.elementor-kit-5475 button:hover,.elementor-kit-5475 button:focus,.elementor-kit-5475 input[type="button"]:hover,.elementor-kit-5475 input[type="button"]:focus,.elementor-kit-5475 input[type="submit"]:hover,.elementor-kit-5475 input[type="submit"]:focus,.elementor-kit-5475 .elementor-button:hover,.elementor-kit-5475 .elementor-button:focus{background-color:var( --e-global-color-25fe8e3 );color:var( --e-global-color-text );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-radius:0px 0px 0px 0px;}.elementor-kit-5475 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5475 p{margin-block-end:0px;}.elementor-kit-5475 a{color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:15px;}.elementor-kit-5475 h1{color:var( --e-global-color-primary );}.elementor-kit-5475 h2{color:#2A2A2A;}.elementor-kit-5475 h3{color:#2A2A2A;}.elementor-kit-5475 h4{color:#3A3A3A;}.elementor-kit-5475 h5{color:#3A3A3A;}.elementor-kit-5475 h6{color:#3A3A3A;font-size:121px;}.elementor-kit-5475 label{color:var( --e-global-color-8a6eaf5 );}.elementor-kit-5475 input:not([type="button"]):not([type="submit"]),.elementor-kit-5475 textarea,.elementor-kit-5475 .elementor-field-textual{font-family:"Inter", Sans-serif;font-size:16px;font-weight:300;color:var( --e-global-color-e118c1c );}.elementor-kit-5475 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-5475 textarea:focus,.elementor-kit-5475 .elementor-field-textual:focus{color:var( --e-global-color-8a6eaf5 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1730px;}.e-con{--container-max-width:1730px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}footer .footer-inner .site-navigation a{color:#000000;}@media(max-width:1024px){.elementor-kit-5475{--e-global-typography-primary-font-size:38px;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.28px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-size:50px;--e-global-typography-text-font-size:14px;--e-global-typography-text-line-height:17px;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-line-height:30px;--e-global-typography-628465a-font-size:58px;--e-global-typography-628465a-line-height:1em;--e-global-typography-13b2551-font-size:22px;--e-global-typography-02da0e9-font-size:14px;--e-global-typography-dfc7301-font-size:14px;--e-global-typography-dfc7301-letter-spacing:6px;font-size:14px;}.elementor-kit-5475 button,.elementor-kit-5475 input[type="button"],.elementor-kit-5475 input[type="submit"],.elementor-kit-5475 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5475{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:40px;--e-global-typography-primary-letter-spacing:-0.28px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-line-height:50px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:20px;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-letter-spacing:2px;--e-global-typography-e1ae241-font-size:20px;--e-global-typography-b84f1b3-font-size:18px;--e-global-typography-b84f1b3-line-height:20px;--e-global-typography-22e62d7-font-size:100px;--e-global-typography-22e62d7-line-height:110px;--e-global-typography-628465a-font-size:36px;--e-global-typography-628465a-letter-spacing:-2px;--e-global-typography-13b2551-font-size:18px;--e-global-typography-dfc7301-font-size:12px;--e-global-typography-dfc7301-letter-spacing:4px;}.elementor-kit-5475 button,.elementor-kit-5475 input[type="button"],.elementor-kit-5475 input[type="submit"],.elementor-kit-5475 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */@font-face{
  font-family:'Newsreader';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('/wp-content/uploads/imika/fonts/newsreader-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/wp-content/uploads/imika/fonts/inter-latin.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/wp-content/uploads/imika/fonts/ibm-plex-mono-latin.woff2') format('woff2');
}
/* Self-hosted, DSGVO-konform. Siehe Umsetzungsanleitung: Schritt "Fonts self-hosten".
   Ersetzt das vorherige @import von fonts.googleapis.com (das bei jedem Seitenaufruf
   eine Verbindung zu Google-Servern herstellt und deshalb in der DatenschutzerklÃ¤rung
   deklariert bzw. besser ganz vermieden werden sollte). */

:root{
  --indigo: #4b0082;
  --indigo-deep: #33005a;
  --teal: #008080;
  --charcoal: #3b3b3b;
  --paper: #f8f8f8;
  --paper-raised: #ffffff;
  --hairline: rgba(59,59,59,0.14);
  --indigo-tint: rgba(75,0,130,0.06);

  --display: 'Newsreader', Georgia, serif;
  --body: 'Inter', -apple-system, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--charcoal);
  font-family:var(--body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}

.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* ---------- EnsÅ marker: signature element derived from the brand icon ---------- */
.status-marker{
  display:flex;align-items:center;gap:10px;margin-bottom:18px;
}
.status-marker .dots{display:flex;gap:4px;}
.status-marker .dots span{width:8px;height:8px;background:var(--indigo);display:block;}
.status-marker .dots span:nth-child(2){background:var(--teal);}
.status-marker .dots span:nth-child(3){background:var(--charcoal);opacity:0.35;}
.status-marker .label{
  font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--charcoal);opacity:0.6;
}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(248,248,248,0.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hairline);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;max-width:1180px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:21px;font-weight:700;letter-spacing:0.01em;color:var(--charcoal);}
.logo .accent{color:var(--teal);font-weight:600;}
.logo-icon{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{font-size:14.5px;font-weight:500;color:var(--charcoal);position:relative;padding:4px 0;}
.nav-links a:hover{color:var(--indigo);}
.nav-links a.nav-cta,
.nav-links a.nav-cta:hover{color:var(--indigo-deep);}
.nav-cta{
  font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  background:transparent;padding:13px 26px;border:1px solid var(--indigo-deep);
}
.nav-cta:hover{background:var(--indigo-deep);border-color:var(--indigo-deep);}
.nav-links a.nav-cta:hover{color:var(--paper);}
.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--indigo-deep);cursor:pointer;line-height:1;padding:4px 6px;}

/* ---------- Hero ---------- */
.hero{
  padding:96px 0 100px;
  position:relative;overflow:hidden;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:center;
}
.hero-eyebrow{
  font-family:var(--mono);font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--teal);margin-bottom:22px;display:inline-block;
}
h1.hero-title{
  font-family:var(--display);font-weight:500;font-size:clamp(34px,4.4vw,54px);
  line-height:1.14;color:var(--indigo-deep);letter-spacing:-0.01em;margin-bottom:26px;
}
.hero-sub{font-size:17.5px;color:var(--charcoal);opacity:0.85;max-width:520px;margin-bottom:38px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.btn-primary{
  background:var(--indigo);color:var(--paper);font-weight:600;font-size:15px;
  padding:15px 30px;border:1px solid var(--indigo);transition:background 0.2s ease;
}
.btn-primary:hover{background:var(--indigo-deep);}
.btn-secondary{
  background:transparent;color:var(--indigo-deep);font-weight:600;font-size:15px;
  padding:15px 28px;border:1px solid var(--indigo-deep);transition:all 0.2s ease;
}
.btn-secondary:hover{background:var(--indigo);color:var(--paper);}

/* Hero graphic: abstract structural / org-clarity linework */
.hero-graphic{position:relative;aspect-ratio:1/1.05;}
.hero-graphic svg{width:100%;height:100%;}

/* ---------- Section shared ---------- */
section{padding:104px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
h2.section-title{
  font-family:var(--display);font-weight:500;font-size:clamp(28px,3vw,38px);
  line-height:1.2;color:var(--indigo-deep);letter-spacing:-0.01em;
}
.section-sub{font-size:16px;opacity:0.8;margin-top:16px;max-width:560px;}

.section-alt{background:var(--paper-raised);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}

/* ---------- Perspective (Ãœber mich teaser) ---------- */
.perspective{display:grid;grid-template-columns:0.9fr 1.1fr;gap:72px;align-items:center;}
.perspective-mark{
  font-family:var(--display);font-size:120px;line-height:1;color:var(--indigo);opacity:0.14;
  font-style:italic;font-weight:500;
}
.perspective-text p{font-size:17px;opacity:0.88;margin-bottom:18px;max-width:480px;}
.perspective-link{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal);
  font-size:15px;margin-top:8px;border-bottom:1px solid transparent;
}
.perspective-link:hover{border-bottom-color:var(--teal);}

/* ---------- Problem cards ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--hairline);border:1px solid var(--hairline);}
.card{background:var(--paper-raised);padding:38px 36px;transition:background 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease;position:relative;z-index:1;}
.card:hover{background:var(--indigo-tint);transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(51,0,90,0.28);}

.card h3{font-family:var(--display);font-size:21px;font-weight:600;color:var(--indigo-deep);margin-bottom:12px;}
.card p{font-size:15px;opacity:0.82;}

/* ---------- Feature offer blocks (Audit / Diagnose) ---------- */
.offer{
  display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hairline);
  background:var(--paper-raised);margin-bottom:2px;
}
.offer-body{padding:56px;}
.offer-visual{
  background:linear-gradient(155deg,var(--charcoal) 0%,#2a2a2a 100%);padding:56px;display:flex;flex-direction:column;justify-content:center;
  color:var(--paper);position:relative;overflow:hidden;border-left:4px solid var(--indigo);
}
.offer:nth-child(even) .offer-body{order:2;}
.offer:nth-child(even) .offer-visual{order:1;border-left:none;border-right:4px solid var(--teal);}
.offer h3{font-family:var(--display);font-size:26px;font-weight:600;color:var(--indigo-deep);margin-bottom:16px;line-height:1.25;}
.offer p{font-size:15.5px;opacity:0.85;margin-bottom:22px;}
.offer ul{list-style:none;margin-bottom:28px;}
.offer ul li{
  font-size:14.5px;padding:10px 0 10px 26px;position:relative;border-top:1px solid var(--hairline);
}
.offer ul li:before{content:"\2014";position:absolute;left:0;color:var(--teal);font-weight:600;}
.offer-link{font-weight:600;color:var(--indigo);font-size:15px;display:inline-flex;align-items:center;gap:8px;}
.offer-visual .tag{font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:18px;}
.offer:nth-child(even) .offer-visual .tag{color:var(--indigo);opacity:1;}
.offer-visual .big{font-family:var(--display);font-size:44px;font-weight:500;line-height:1.15;}
.offer-visual .foot{margin-top:26px;font-size:14px;opacity:0.65;}

/* ---------- Trust ---------- */
.credentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--hairline);border:1px solid var(--hairline);}
.credential-item{background:var(--paper-raised);padding:30px 26px;transition:transform 0.25s ease,box-shadow 0.25s ease;}
.credential-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(51,0,90,0.24);}
.credential-item .cred-label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:10px;}
.credential-item .cred-name{font-size:15px;font-weight:600;color:var(--indigo-deep);line-height:1.4;}

/* ---------- Closing CTA ---------- */
.cta-band{
  background:linear-gradient(155deg,var(--charcoal) 0%,#2a2a2a 100%);color:var(--paper);text-align:center;padding:96px 32px;
  position:relative;
}
.cta-band:before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--indigo) 0%,var(--indigo) 50%,var(--teal) 50%,var(--teal) 100%);
}
.cta-band h2{font-family:var(--display);font-weight:500;font-size:clamp(28px,3.4vw,42px);margin-bottom:20px;}
.cta-band p{opacity:0.75;max-width:520px;margin:0 auto 36px;font-size:16.5px;}
.cta-band .btn-primary{background:var(--teal);border-color:var(--teal);color:var(--paper);}
.cta-band .btn-primary:hover{background:#00666a;border-color:#00666a;}

/* ---------- Footer ---------- */
footer{padding:56px 0 40px;}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;}
.footer-brand{display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:18px;font-weight:700;letter-spacing:0.01em;color:var(--charcoal);}
.footer-brand .accent{color:var(--teal);font-weight:600;}
.footer-brand .logo-icon{width:26px;height:26px;}
.footer-brand .tag{font-family:var(--body);font-size:13.5px;opacity:0.6;margin-top:6px;}
.footer-links{display:flex;gap:28px;font-size:14px;opacity:0.75;flex-wrap:wrap;}
.footer-links a:hover{color:var(--indigo);}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .nav{position:relative;}
  .nav-links{display:none;}
  .nav-links.is-open{
    display:flex;flex-direction:column;align-items:flex-start;gap:18px;
    position:absolute;top:100%;left:0;right:0;
    background:var(--paper);padding:24px 32px 28px;
    border-bottom:1px solid var(--hairline);
    box-shadow:0 16px 24px -18px rgba(59,59,59,0.25);
  }
  .menu-toggle{display:block;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-graphic{max-width:340px;margin:0 auto;}
  .perspective{grid-template-columns:1fr;gap:32px;}
  .perspective-mark{display:none;}
  .cards-grid{grid-template-columns:1fr;}
  .credentials-grid{grid-template-columns:1fr 1fr;}
  .offer{grid-template-columns:1fr;}
  .offer:nth-child(even) .offer-body{order:1;}
  .offer:nth-child(even) .offer-visual{order:2;}
  .offer-body,.offer-visual{padding:38px 28px;}
  section{padding:72px 0;}
  .hero{padding:56px 0 64px;}
  .bio-card{flex-direction:column;padding:32px 24px;gap:28px;text-align:center;}
  .photo-frame{width:150px;height:180px;}
  .testi-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .wrap{padding:0 20px;}
  .nav{padding:16px 20px;}
  .hero-ctas{flex-direction:column;align-items:stretch;}
  .hero-ctas .btn-primary,.hero-ctas .btn-secondary{text-align:center;}
  .trust-logos{gap:28px;}
}

/* ---------- About hero ---------- */
.about-hero{padding:64px 0 90px;}
.bio-card{
  display:flex;align-items:center;gap:48px;
  background:var(--paper-raised);border:1px solid var(--hairline);
  padding:48px;
}
.bio-card .hero-text{flex:1;min-width:0;}
.photo-frame{
  width:190px;height:230px;flex-shrink:0;border-radius:3px;position:relative;overflow:hidden;
  box-shadow:0 16px 34px -18px rgba(51,0,90,0.4);
}
.photo-frame .placeholder-label{
  font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(248,248,248,0.55);text-align:center;padding:0 30px;
}
.photo-frame svg{position:absolute;inset:0;width:100%;height:100%;}

/* ---------- Timeline ---------- */
.timeline{position:relative;padding-left:36px;}
.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--hairline);}
.timeline-item{position:relative;padding-bottom:44px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item:before{
  content:"";position:absolute;left:-36px;top:4px;width:14px;height:14px;
  background:var(--paper);border:2px solid var(--indigo);border-radius:50%;
}
.timeline-item.is-teal:before{border-color:var(--teal);}
.timeline-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:6px;display:block;}
.timeline-item h3{font-family:var(--display);font-size:20px;font-weight:600;color:var(--indigo-deep);margin-bottom:8px;}
.timeline-item p{font-size:15px;opacity:0.82;max-width:520px;}

/* ---------- Values card mark ---------- */
.value-mark{font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:block;}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--hairline);border:1px solid var(--hairline);}
.testi-card{background:var(--paper-raised);padding:34px 30px;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;}
.testi-card p{font-size:15px;line-height:1.65;color:var(--charcoal);opacity:0.9;margin-bottom:20px;}
.testi-card .attr{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:var(--charcoal);opacity:0.55;}

/* ---------- Cards grid variant (3 columns) ---------- */
.cards-grid.cols-3{grid-template-columns:repeat(3,1fr);}

/* ---------- Service detail sections (Leistungen page) ---------- */
.service-detail{padding:60px 0;border-top:1px solid var(--hairline);}
.service-detail:first-of-type{border-top:none;}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.service-detail h3{font-family:var(--display);font-size:26px;font-weight:600;color:var(--indigo-deep);margin-bottom:16px;}
.service-detail .lede{font-size:16px;opacity:0.85;}
.service-detail ul{list-style:none;}
.service-detail ul li{font-size:14.5px;padding:10px 0 10px 26px;position:relative;border-top:1px solid var(--hairline);}
.service-detail ul li:first-child{border-top:none;}
.service-detail ul li:before{content:"\2014";position:absolute;left:0;color:var(--teal);font-weight:600;}
.situation-box{background:var(--indigo-tint);padding:22px 24px;margin-top:22px;}
.situation-box p{font-size:14.5px;font-style:italic;opacity:0.85;margin:0 0 10px;}
.situation-box p:last-child{margin-bottom:0;}

@media (max-width:860px){
  .cards-grid.cols-3{grid-template-columns:1fr;}
  .service-detail-grid{grid-template-columns:1fr;gap:24px;}
}

/* ---------- Legal pages (Impressum, Datenschutz) ---------- */
.legal-hero{padding:56px 0 32px;border-bottom:1px solid var(--hairline);}
.legal-meta{font-family:var(--mono);font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;opacity:0.5;margin-bottom:10px;}
.legal-content{padding:56px 0 100px;}
.prose{max-width:740px;}
.prose h2{font-family:var(--display);font-size:23px;font-weight:600;color:var(--indigo-deep);margin:52px 0 16px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:var(--display);font-size:17px;font-weight:600;color:var(--indigo-deep);margin:30px 0 10px;}
.prose p{font-size:15px;line-height:1.7;opacity:0.85;margin-bottom:14px;}
.prose ul{margin:0 0 16px 20px;}
.prose ul li{font-size:15px;line-height:1.7;opacity:0.85;margin-bottom:6px;}
.prose a{color:var(--teal);text-decoration:underline;}
.prose strong{color:var(--charcoal);font-weight:600;}
.prose hr{border:none;border-top:1px solid var(--hairline);margin:8px 0 32px;}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:start;}
.contact-info{background:var(--paper-raised);border:1px solid var(--hairline);padding:40px;}
.contact-info .item{margin-bottom:28px;}
.contact-info .item:last-child{margin-bottom:0;}
.contact-info .item-label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:6px;}
.contact-info .item-value{font-size:16px;font-weight:600;color:var(--indigo-deep);}
.contact-info .item-value a{color:inherit;}
.contact-info .item-note{font-size:13.5px;opacity:0.7;margin-top:4px;}
.form-group{margin-bottom:22px;}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--charcoal);margin-bottom:8px;}
.form-group input, .form-group select, .form-group textarea{
  width:100%;padding:13px 16px;border:1px solid var(--hairline);background:var(--paper-raised);
  font-family:var(--body);font-size:15px;color:var(--charcoal);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:2px solid var(--indigo);outline-offset:1px;border-color:var(--indigo);
}
.form-group textarea{resize:vertical;min-height:140px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-note{font-size:13px;opacity:0.6;margin-top:14px;}
.form-submit{
  font-family:var(--body);font-size:15px;font-weight:600;color:var(--paper);
  background:var(--indigo);border:1px solid var(--indigo);padding:15px 30px;cursor:pointer;
}
.form-submit:hover{background:var(--indigo-deep);border-color:var(--indigo-deep);}

@media (max-width:860px){
  .contact-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
.btn-primary, .btn-secondary {
  color: var(--paper) !important;
  display: inline-block;
  margin-top: 20px;
}
.btn-primary:hover, .btn-secondary:hover {
  color: var(--paper) !important;
}
.cta-band h2 {
  color: var(--paper) !important;
}
.btn-primary {
  color: var(--paper) !important;
}
.btn-primary:hover {
  color: var(--paper) !important;
}
.btn-secondary {
  color: var(--indigo-deep) !important;
}
.btn-secondary:hover {
  color: var(--paper) !important;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select {
  color: var(--charcoal) !important;
  background: var(--paper-raised) !important;
}
.btn-primary {
  background: var(--indigo) !important;
  border-color: var(--indigo) !important;
}/* End custom CSS */