/*! Carina Hellmich – Design-System für WordPress (Woodmart + WPBakery)
 *  Automatisch erzeugt aus dem Claude-Design-Export – Änderungen bitte im Design vornehmen und neu bauen. */
/* ===== Webfonts (lokal, latin + latin-ext) ===== */
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-italic-latin-ext-693d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-italic-latin-03c6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-italic-latin-ext-693d.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-italic-latin-03c6.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-ext-c1f8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/hanken-grotesk-normal-latin-f238.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-ext-0926.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-c750.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-ext-0926.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-c750.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-ext-0926.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/newsreader-italic-latin-c750.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-ext-4d12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-9ed5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-ext-4d12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-9ed5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-ext-4d12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-9ed5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-ext-4d12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-9ed5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-ext-4d12.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/newsreader-normal-latin-9ed5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ===== Design-Tokens ===== */
:root {
  
  --ch-ink-900: #1A1714;   
  --ch-ink-800: #2A2621;   
  --ch-ink-700: #423C34;   
  --ch-greige-600: #6E655A; 
  --ch-greige-500: #8C8275; 
  --ch-greige-400: #ABA192; 
  --ch-greige-300: #C9C0B1; 
  --ch-greige-200: #E1D9CB; 
  --ch-greige-100: #EDE6DA; 
  --ch-canvas:     #F4EEE4; 
  --ch-paper:      #FBF7F0; 
  --ch-white:      #FFFFFF;

  
  --ch-terracotta-700: #8F3A26; 
  --ch-terracotta-600: #A8452E; 
  --ch-terracotta-500: #C15A3C; 
  --ch-terracotta-300: #E0A78F; 
  --ch-terracotta-100: #F0D9CC; 

  
  --ch-petrol-700: #24413F;
  --ch-petrol-500: #35544F;
  --ch-petrol-300: #8FA9A3;
  --ch-petrol-100: #D5E0DB;

  
  --ch-ochre-500: #D9A93F;

  
  
  --bg-page: var(--ch-canvas);
  --bg-page-dark: var(--ch-ink-900);
  --surface-card: var(--ch-paper);
  --surface-raised: var(--ch-greige-100);
  --surface-tint: var(--ch-terracotta-100);
  --surface-inverse: var(--ch-ink-900);

  
  --text-strong: var(--ch-ink-900);
  --text-body: var(--ch-ink-800);
  --text-muted: var(--ch-greige-600);
  --text-caption: var(--ch-greige-500);
  --text-on-dark: var(--ch-canvas);
  --text-on-dark-muted: var(--ch-greige-400);
  --text-accent: var(--ch-terracotta-600);

  
  --accent: var(--ch-terracotta-500);
  --accent-hover: var(--ch-terracotta-600);
  --accent-press: var(--ch-terracotta-700);
  --accent-contrast: var(--ch-canvas);
  --counter: var(--ch-petrol-500);

  
  --line-hairline: var(--ch-greige-300);
  --line-strong: var(--ch-ink-900);
  --line-accent: var(--ch-terracotta-500);
  --line-on-dark: rgba(244, 238, 228, 0.22);
  --frame: var(--ch-ink-900); 

  
  --focus-ring: var(--ch-terracotta-500);
  --link: var(--ch-terracotta-600);
  --link-hover: var(--ch-terracotta-700);
}


:root {
  --font-display: 'Newsreader', 'Times New Roman', serif;
  --font-sans: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;
  --font-label: 'Hanken Grotesk', ui-sans-serif, system-ui, sans-serif;

  
  --fw-light: 300;    
  --fw-regular: 400;  
  --fw-medium: 500;   
  --fw-semibold: 600; 
  --fw-bold: 700;     
  --fw-black: 800;    

  
  --fs-hero: clamp(3.5rem, 8vw, 7rem);      
  --fs-display: clamp(2.75rem, 5vw, 4.5rem);
  --fs-h1: clamp(2.25rem, 3.4vw, 3.25rem);  
  --fs-h2: clamp(1.75rem, 2.4vw, 2.25rem);  
  --fs-h3: 1.5rem;         
  --fs-h4: 1.25rem;        
  --fs-lead: 1.375rem;     
  --fs-body: 1.0625rem;    
  --fs-small: 0.9375rem;   
  --fs-caption: 0.8125rem; 
  --fs-label: 0.75rem;     

  
  --lh-tight: 1.02;   
  --lh-snug: 1.12;    
  --lh-heading: 1.2;  
  --lh-body: 1.6;     
  --lh-relaxed: 1.75; 

  
  --ls-display: -0.02em;  
  --ls-tight: -0.01em;    
  --ls-normal: 0;         
  --ls-label: 0.18em;     
  --ls-label-tight: 0.1em;
}


:root {
  
  --sp-0: 0;        
  --sp-1: 0.25rem;  
  --sp-2: 0.5rem;   
  --sp-3: 0.75rem;  
  --sp-4: 1rem;     
  --sp-5: 1.5rem;   
  --sp-6: 2rem;     
  --sp-7: 3rem;     
  --sp-8: 4rem;     
  --sp-9: 6rem;     
  --sp-10: 8rem;    

  
  --container-max: 1280px;  
  --container-wide: 1480px; 
  --measure: 62ch;          
  --measure-narrow: 46ch;   
  --gutter: clamp(1.25rem, 4vw, 4rem); 
  --grid-cols: 12;          
  --grid-gap: clamp(1rem, 2vw, 1.75rem); 

  
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 999px;   

  
  --line-w-hair: 1px;    
  --line-w-rule: 2px;    
  --line-w-frame: 1.5px; 
  --line-w-accent: 3px;  

  
  --shadow-none: none;
  --shadow-subtle: 0 1px 2px rgba(26, 23, 20, 0.05);
  --shadow-raised: 0 12px 32px -18px rgba(26, 23, 20, 0.35);

  
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);  
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);  
  --dur-fast: 140ms; 
  --dur: 240ms;      
  --dur-slow: 480ms; 
}
/* Projekt-Farbanpassungen aus dem Layout */
:root { --accent: #9F829E; --ch-terracotta-500: #9F829E; --ch-terracotta-600: #8A6E89; --ch-terracotta-700: #745B73;
      --ch-ink-900: #17181A; --ch-ink-800: #26282B; --ch-ink-700: #3C3F43;
      --ch-greige-600: #63666B; --ch-greige-500: #7F8388; --ch-greige-400: #9DA1A6;
      --ch-greige-300: #C6C8CC; --ch-greige-200: #E0E2E5; --ch-greige-100: #ECEDEF;
      --ch-canvas: #F5F6F7; --ch-paper: #FBFCFC;
      --ch-terracotta-100: #E9E2E8; --ch-terracotta-300: #C9B6C7;
      --text-on-dark: #F5F6F7; --accent-contrast: #FFFFFF;
      --line-on-dark: rgba(245,246,247,0.22); }
/* ===== Basis (auf .ch gescoped, damit Woodmart-Typo nicht durchschlägt) ===== */
.ch, .ch-sec { background-color: var(--bg-page); color: var(--text-body); font-family: var(--font-sans);
  font-size: var(--fs-body); line-height: var(--lh-body); font-weight: var(--fw-regular);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.ch *, .ch *::before, .ch *::after, .ch-sec *, .ch-sec *::before, .ch-sec *::after { box-sizing: border-box; }
:is(.ch, .ch-sec) :is(h1, h2, h3, h4) { font-family: var(--font-display); color: var(--text-strong);
  font-weight: var(--fw-semibold); line-height: var(--lh-snug); letter-spacing: var(--ls-display);
  margin: 0 0 0.4em; text-wrap: balance; text-transform: none; }
:is(.ch, .ch-sec) h1 { font-size: var(--fs-h1); }
:is(.ch, .ch-sec) h2 { font-size: var(--fs-h2); }
:is(.ch, .ch-sec) h3 { font-size: var(--fs-h3); line-height: var(--lh-heading); }
:is(.ch, .ch-sec) h4 { font-size: var(--fs-h4); font-weight: var(--fw-medium); }
:is(.ch, .ch-sec) p { margin: 0 0 1em; max-width: var(--measure); text-wrap: pretty; font-size: inherit; line-height: inherit; }
:is(.ch, .ch-sec) a { color: var(--link); text-decoration: none; border-bottom: 1px solid var(--ch-terracotta-300);
  transition: color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out); }
:is(.ch, .ch-sec) a:hover { color: var(--link-hover); border-color: var(--ch-terracotta-600); }
:is(.ch, .ch-sec) strong { font-weight: var(--fw-semibold); color: var(--text-strong); }
:is(.ch, .ch-sec) :is(figure, blockquote) { margin: 0; padding: 0; border: 0; background: none; font-style: normal; quotes: none; }
:is(.ch, .ch-sec) blockquote::before, :is(.ch, .ch-sec) blockquote::after { content: none; }
:is(.ch, .ch-sec) img { max-width: 100%; border-radius: 0; box-shadow: none; }
:is(.ch, .ch-sec) ::selection { background: var(--ch-terracotta-500); color: var(--ch-canvas); }
:is(.ch, .ch-sec) :focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
:is(.ch, .ch-sec) a.ch-navlink { border-bottom: none; color: var(--text-body); white-space: nowrap; }
:is(.ch, .ch-sec) a.ch-navlink:hover { color: var(--text-accent); border-bottom: none; }
.ch-footer a, .ch-facts a { border-bottom: none; }
.ch-sec.ch-s--presse h2, .ch-sec.ch-s--abschluss-cta h2 { color: var(--text-on-dark); }

/* ===== Labels / Utilities aus dem Design-System ===== */
.ch-label { font-family: var(--font-label); font-size: var(--fs-label); font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--text-muted); line-height: 1.6; }
.ch-label--accent { color: var(--text-accent); }
.ch-label--on-dark { color: var(--text-on-dark-muted); }

/* ===== Buttons (ersetzen die Claude-Design-Komponente) ===== */
:is(.ch, .ch-sec) a.ch-btn { display: inline-flex; align-items: center; gap: 0.6rem; font-family: var(--font-sans);
  font-weight: var(--fw-semibold); letter-spacing: var(--ls-label-tight); text-transform: uppercase;
  border-radius: var(--radius-sm); cursor: pointer; line-height: 1; text-decoration: none;
  transition: background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out);
  border: 1.5px solid transparent; }
:is(.ch, .ch-sec) a.ch-btn:active { transform: translateY(1px); }
.ch-btn__icon { font-size: 1.1em; line-height: 0; }
:is(.ch, .ch-sec) a.ch-btn--sm { padding: 0.5rem 1rem; font-size: var(--fs-caption); }
:is(.ch, .ch-sec) a.ch-btn--md { padding: 0.75rem 1.5rem; font-size: var(--fs-small); }
:is(.ch, .ch-sec) a.ch-btn--lg { padding: 1rem 2rem; font-size: var(--fs-body); }
:is(.ch, .ch-sec) a.ch-btn--primary { background: var(--accent); color: var(--accent-contrast); border-color: var(--accent); }
:is(.ch, .ch-sec) a.ch-btn--primary:hover { background: var(--accent-hover); color: var(--accent-contrast); border-color: var(--accent); }
:is(.ch, .ch-sec) a.ch-btn--secondary { background: transparent; color: var(--text-strong); border-color: var(--line-strong); }
:is(.ch, .ch-sec) a.ch-btn--secondary:hover { background: var(--ch-ink-900); color: var(--text-on-dark); }
:is(.ch, .ch-sec) a.ch-btn--ghost { background: transparent; color: var(--text-accent); padding-left: 0; padding-right: 0; }
:is(.ch, .ch-sec) a.ch-btn--ghost:hover { color: var(--accent-press); border-color: transparent; }
:is(.ch, .ch-sec) a.ch-btn--dark { background: var(--ch-ink-900); color: var(--text-on-dark); border-color: var(--ch-ink-900); }
:is(.ch, .ch-sec) a.ch-btn--dark:hover { background: var(--ch-ink-800); }

/* ===== Laufband „Bekannt aus“ ===== */
@keyframes chMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ch-marquee:hover { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) { .ch-marquee { animation: none !important; } }

/* ===== WPBakery-Raster: Zeilen = Abschnitte, Spalten = Raster ===== */
html { scroll-behavior: smooth; }
/* Woodmart-Seitenabstände/Titel neutralisieren, sobald CH-Zeilen auf der Seite sind */
.wd-content-layout:has(.ch-sec), .main-page-wrapper:has(.ch-sec), .site-content:has(.ch-sec) { padding-top: 0 !important; padding-bottom: 0 !important; }
.main-page-wrapper:has(.ch-sec) .wd-page-title, .main-page-wrapper:has(.ch-sec) .page-title { display: none; }
body:has(.ch-sec) { overflow-x: clip; }

.ch-sec { --max: 1280px; --gutter: clamp(1.25rem, 4vw, 4rem); --edge: max(0px, calc((100vw - var(--max)) / 2));
  --cg: 0px; --rg: 0px; scroll-margin-top: 92px; }
.vc_row.ch-sec { margin: 0 !important; position: relative;
  padding-left: calc(var(--edge) + var(--gutter)) !important; padding-right: calc(var(--edge) + var(--gutter)) !important; }
.vc_row.ch-sec.ch-sec--bleed { padding: 0 !important; }
.vc_row.ch-sec > .wpb_column { float: none; width: 100%; padding: 0; }
.ch-sec .vc_column_container > .vc_column-inner { padding: 0 !important; }
.ch-sec .wpb_wrapper > *:not(.ch-g), .ch-sec .wpb_content_element, .ch-sec .wd-html-block { margin-bottom: 0 !important; }
.ch-sec .vc_row.ch-g { margin-top: 0; margin-bottom: 0; }
.ch-sec .ch-b > *:last-child { margin-bottom: 0; }

/* Innere Zeilen = Raster mit Spaltenabstand --cg und Zeilenabstand --rg */
.ch-sec .vc_row.ch-g { display: flex !important; flex-wrap: wrap; row-gap: var(--rg);
  margin-left: calc(var(--cg) / -2) !important; margin-right: calc(var(--cg) / -2) !important; }
.ch-sec .vc_row.ch-g::before, .ch-sec .vc_row.ch-g::after { display: none !important; }
.ch-sec .vc_row.ch-g > .wpb_column { float: none; }
.ch-sec .vc_row.ch-g > .wpb_column > .vc_column-inner { padding: 0 calc(var(--cg) / 2) !important; }
/* gleich hohe Karten */
.ch-sec .ch-g--eq > .wpb_column > .vc_column-inner { height: 100%; }
.ch-sec .ch-g--eq > .wpb_column > .vc_column-inner *:has(.ch-b), .ch-sec .ch-g--eq .ch-b, .ch-sec .ch-g--eq .ch-b > * { height: 100%; }
.ch-sec .ch-g--eq .ch-b > * { box-sizing: border-box; }

/* ===== Woodmart-Footer: CH-Footer randlos ===== */
.wd-footer:has(.ch-footer) { background: transparent; }
.wd-footer .main-footer:has(.ch-footer) { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }

/* Bildrahmen mit aspect-ratio in Flex-Karten nicht durch Hochformat-Bilder aufblähen */
.ch-sec [style*="aspect-ratio"] { min-height: 0; overflow: hidden; }

/* ===== Woodmart-Header (Header Builder „Carina Hellmich“) ===== */
.whb-header .whb-general-header { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.whb-header .ch-logo { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; letter-spacing: -0.02em;
  color: var(--text-strong); text-decoration: none; white-space: nowrap; border: 0; }
.whb-header .ch-logo:hover { color: var(--text-accent); }
.whb-header .wd-nav-main > li > a, .whb-header .wd-nav-main > li.current-menu-item > a { font-family: var(--font-sans);
  font-size: var(--fs-small); font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--text-body); }
.whb-header .wd-nav-main > li > a:hover { color: var(--text-accent); }
.whb-header a.btn.ch-hdr-btn { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 0; padding: 0.75rem 1.5rem;
  background: var(--accent); color: var(--accent-contrast); border: 1.5px solid var(--accent); border-radius: var(--radius-sm);
  font-family: var(--font-sans); font-size: var(--fs-small); font-weight: 600; letter-spacing: var(--ls-label-tight);
  text-transform: uppercase; line-height: 1; box-shadow: none; }
.whb-header a.btn.ch-hdr-btn::after { content: "→"; font-size: 1.1em; line-height: 0; }
.whb-header a.btn.ch-hdr-btn:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--accent-contrast); }

/* Header-Inhalt auf die Inhaltsbreite der Abschnitte ausrichten (max. 1280 px + Gutter) */
.whb-header .whb-general-header > .container { max-width: none;
  padding-left: calc(max(0px, (100% - 1280px) / 2) + clamp(1.25rem, 4vw, 4rem));
  padding-right: calc(max(0px, (100% - 1280px) / 2) + clamp(1.25rem, 4vw, 4rem)); }
/* Woodmart-Primärfarbe (Demo-Grün) auf CH-Akzent umstellen */
:root { --wd-primary-color: var(--accent); }
/* Mobiles Seitenmenü */
.mobile-nav .wd-nav-mobile > li > a, .mobile-nav .wd-nav-mobile > li.current-menu-item > a { font-family: var(--font-sans);
  font-size: 1rem; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--text-strong); }
.mobile-nav .wd-nav-mobile > li > a:hover { color: var(--text-accent); }
.mobile-nav .wd-nav-mobile > li.ch-mobile-cta { border-bottom: 0; padding: 1.25rem 20px; }
.mobile-nav .wd-nav-mobile > li.ch-mobile-cta > a { justify-content: center; min-height: 0; padding: 0.9rem 1.25rem;
  background: var(--accent); color: var(--accent-contrast); border-radius: var(--radius-sm); font-weight: 600;
  text-transform: uppercase; letter-spacing: var(--ls-label-tight); font-size: var(--fs-small); }
.mobile-nav .wd-nav-mobile > li.ch-mobile-cta > a:hover { background: var(--accent-hover); color: var(--accent-contrast); }

/* Kartenbilder: Hochformat-Fotos im 4:3-Rahmen oben ausrichten, damit Gesichter sichtbar bleiben */
.ch-sec article > [style*="aspect-ratio"] > img { object-position: 50% 10%; }
.ch-sec article > [style*="aspect-ratio"] > img[src*="keynotes-und-speakin"] { object-position: 50% 0%; }
