/* ==================================================================
   Custom CSS – WPStackLabs
   Nutzt Variablen aus /css/type.css
   ================================================================== */

/* ========= GLOBAL UTILITIES ========= */
/* Einheitlicher Paragraph (als Klasse ODER ID nutzbar) */
.u-hero-p,
.u-hero-p p{
  font-family: var(--font-sans);
  font-size: var(--hero-p);
  line-height: 1.65;
  color: var(--hero-p-color);
}

/* Farbe des Hero-Paragraphen lokal steuern (per CSS-ID auf Section/Row) */
#u-hero-text-color { --hero-p-color:#545454; } /* Standard / dunkel */
#u-hero-text-soft  { --hero-p-color:#cfd5db; } /* hell */
#u-hero-text-muted { --hero-p-color:#a6b0b9; } /* gedimmt */
#u-hero-text-white { --hero-p-color:#eaeaea; } /* sehr hell */

/* Nur Farbe als Utility (falls du’s mal direkt am Text brauchst) */
.u-hero-text-color{ color: var(--hero-p-color) !important; }

/* ========= SEC-1 (Hero Startseite) ========= */
#sec-1{ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

#sec-1 #HeroH1,
#sec-1 #HeroH1 .et_pb_text_inner,
#sec-1 #HeroH1 .et_pb_text_inner h1,
#sec-1 #HeroH1 .et_pb_text_inner h1 *{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--hero-h1); line-height: 1.05; letter-spacing: -0.01em;
  margin: 0 0 .4em 0; color: #fff;
}
#sec-1 #HeroH2,
#sec-1 #HeroH2 .et_pb_text_inner,
#sec-1 #HeroH2 .et_pb_text_inner h2{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--hero-h2); line-height: 1.05; letter-spacing:-0.01em;
  margin: 0 0 .4em 0; color:#fff;
}
#sec-1 #Hero-Paragraph,
#sec-1 #Hero-Paragraph .et_pb_text_inner,
#sec-1 #Hero-Paragraph .et_pb_text_inner p{
  font-family: var(--font-sans); font-weight: 400;
  font-size: var(--hero-p); line-height: 1.6; max-width: 60ch;
  margin: 0 0 1.25rem 0; color: var(--hero-p-color);
}
#sec-1 #Hero-meta,
#sec-1 #Hero-meta .et_pb_text_inner,
#sec-1 #Hero-meta .et_pb_text_inner p,
#sec-1 .hero-meta{
  font-family: var(--font-sans); font-weight: 400;
  font-size: var(--hero-meta); line-height: 1.45; opacity: .8;
}
#sec-1 #Hero-Count-text,
#sec-1 #Hero-Count-text .et_pb_text_inner,
#sec-1 #Hero-Count-text .et_pb_text_inner *{
  font-family: var(--font-sans); font-weight: 600;
  font-size: var(--hero-count); line-height: 1.05; letter-spacing: -0.01em;
}
#sec-1 #Hero-Button-text .et_pb_button,
#sec-1 #Hero-Button-text a.et_pb_button{
  font-family: var(--font-sans); font-weight: 600;
  font-size: clamp(1.1rem, 0.9rem + 0.9vw, 1.35rem);
  line-height: 1.2; padding: .95rem 1.6rem; letter-spacing: .01em; white-space: nowrap;
}

/* SOCIAL: 4 Icons in einer Reihe (ID im Modul: "social") */
#social .et_pb_social_media_follow,
#social .et_pb_social_media_follow ul{
  display:flex; justify-content:center; align-items:center;
  gap: 18px; flex-wrap: nowrap;
}
#social .et_pb_social_media_follow li{ margin:0; width:auto; }
@media (max-width: 480px){
  #social{ text-align:center; }
  #social .et_pb_social_media_follow,
  #social .et_pb_social_media_follow ul{ gap:16px; }
}

/* ========= SEC-2 (Über mich) ========= */
#sec-2 #AboutH2,
#sec-2 #AboutH2 .et_pb_text_inner,
#sec-2 #AboutH2 .et_pb_text_inner h2,
#sec-2 #AboutH2 .et_pb_text_inner h2 *{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--sec2-h2); line-height: 1.1; letter-spacing:-0.01em;
  margin: 0 0 .6em 0; color:#fff;
}
#sec-2 #AboutP,
#sec-2 #AboutP .et_pb_text_inner,
#sec-2 #AboutP .et_pb_text_inner p{
  font-family: var(--font-sans); font-weight: 400;
  font-size: var(--sec2-p); line-height: 1.65; max-width: 65ch;
  margin: 0 0 1.2rem 0; color:#6C6C6C;
}

/* ========= SEC-3 (Services) ========= */
#sec-3 #ServicesH3,
#sec-3 #ServicesH3 .et_pb_text_inner,
#sec-3 #ServicesH3 .et_pb_text_inner h3,
#sec-3 #ServicesH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--sec3-h3); line-height: 1.1; letter-spacing:-0.01em;
  margin: 0 0 .9rem 0; color:#fff;
}
#sec-3 .et_pb_blurb h4,
#sec-3 .et_pb_blurb h4 *{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--sec3-h4); line-height: 1.15; margin: 0 0 .4rem 0; color:#fff;
}
#sec-3 .et_pb_blurb p{
  font-family: var(--font-sans); font-weight: 400;
  font-size: var(--sec3-p); line-height: 1.65; color:#6C6C6C; margin:.4rem 0 0 0;
}
#sec-3 #services-row{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:38px; align-items:stretch;
}
#sec-3 #services-row .et_pb_column{ display:flex; }
#sec-3 #services-row .et_pb_module{ height:100%; }
#sec-3 .et_pb_blurb{ min-height: var(--sec3-card-min-h); }
@media (max-width:981px){ #sec-3 #services-row{ grid-template-columns:1fr; gap:24px; } }

/* ========= SEC-4 (Bildung & Erfahrung) ========= */
#sec-4 #EduH3,
#sec-4 #EduH3 .et_pb_text_inner,
#sec-4 #EduH3 .et_pb_text_inner h3,
#sec-4 #EduH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight: 700;
  font-size: var(--sec4-h3); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .8rem 0; color:#fff;
}
#sec-4 #EduP,
#sec-4 #EduP .et_pb_text_inner,
#sec-4 #EduP .et_pb_text_inner p{
  font-family: var(--font-sans); font-weight: 400;
  font-size: var(--sec4-p); line-height:1.65; max-width:65ch;
  margin:0 0 1.2rem 0; color:#6C6C6C;
}

/* ========= SEC-5 (Projekte) ========= */
#sec-5 #ProjectsH3,
#sec-5 #ProjectsH3 .et_pb_text_inner,
#sec-5 #ProjectsH3 .et_pb_text_inner h3,
#sec-5 #ProjectsH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight:700;
  font-size: var(--sec5-h3, var(--sec4-h3)); line-height:1.1;
  letter-spacing:-0.01em; margin:0 0 .8rem 0; color:#fff;
}

/* ========= SEC-6 (Bewertungen) ========= */
#sec-6 #ReviewsH3,
#sec-6 #ReviewsH3 .et_pb_text_inner,
#sec-6 #ReviewsH3 .et_pb_text_inner h3,
#sec-6 #ReviewsH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight:700;
  font-size: var(--sec6-h3); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .9rem 0; color:#fff;
}
#sec-6 #testi-row{ width:100%; }
#sec-6 .et_pb_row .et_pb_column{ display:flex; }
#sec-6 .et_pb_row .et_pb_column .et_pb_module{ height:100%; }
#sec-6 .testi-card{ min-height: var(--sec6-card-min-h); }
#sec-6 .testi-card .et_pb_testimonial{ height:100%; display:flex; flex-direction:column; }
#sec-6 .testi-card .et_pb_testimonial_description,
#sec-6 .testi-card .et_pb_testimonial_description p{
  font-family: var(--font-sans); font-weight:400; font-size: var(--sec6-p);
  line-height:1.65; color:#6C6C6C;
}
#sec-6 .testi-card .et_pb_testimonial_author{
  font-family: var(--font-sans); font-weight:600; font-size: var(--sec6-author);
  line-height:1.3; margin-top:.6rem;
}
#sec-6 .testi-card .et_pb_testimonial_meta,
#sec-6 .testi-card .et_pb_testimonial_position,
#sec-6 .testi-card .et_pb_testimonial_company{
  font-family: var(--font-sans); font-weight:400; font-size: var(--sec6-meta); line-height:1.35; opacity:.9;
}
#sec-6 .testi-card .et_pb_testimonial_portrait{ width:64px; height:64px; }
@media (max-width:981px){ #sec-6 .et_pb_row .et_pb_column{ display:block; } }

/* ========= SEC-7 (Preise) ========= */
#sec-7 #PricesH3,
#sec-7 #PricesH3 .et_pb_text_inner,
#sec-7 #PricesH3 .et_pb_text_inner h3,
#sec-7 #PricesH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight:700;
  font-size: var(--sec7-h3); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .8rem 0; color:#fff;
}
#sec-7 .et_pb_row{ align-items:stretch; }
#sec-7 .et_pb_row .et_pb_column{ display:flex; }
#sec-7 .et_pb_row .et_pb_column > .et_pb_module{ height:100%; }
#sec-7 .price-card, #sec-7 .et_pb_pricing_table{ display:flex; flex-direction:column; height:100%; }
#sec-7 .price-card .price-plan,
#sec-7 .price-card .price-plan *,
#sec-7 .et_pb_pricing_table .et_pb_pricing_heading .et_pb_pricing_title{
  font-family: var(--font-sans); font-weight:700; font-size: var(--sec7-plan); line-height:1.2; color:#fff;
}
#sec-7 .price-card .price-subtitle,
#sec-7 .price-card .price-subtitle *,
#sec-7 .et_pb_pricing_table .et_pb_pricing_heading .et_pb_pricing_subtitle,
#sec-7 .et_pb_pricing_table .et_pb_best_value,
#sec-7 .et_pb_pricing_table .et_pb_pricing_heading p{
  font-family: var(--font-sans); font-weight:400; font-size: var(--sec7-sub); line-height:1.3; color:#6C6C6C; opacity:.95;
}
#sec-7 .price-card .price-lead,
#sec-7 .price-card .price-lead *,
#sec-7 .et_pb_pricing_table .et_pb_currency,
#sec-7 .et_pb_pricing_table .et_pb_frequency{
  font-family: var(--font-sans); font-weight:600;
  font-size: clamp(.8rem,.7rem + .35vw,.95rem); letter-spacing:.08em; text-transform:uppercase; color:#6C6C6C;
}
#sec-7 .price-card .price-amount,
#sec-7 .price-card .price-amount *,
#sec-7 .et_pb_pricing_table .et_pb_sum{
  font-family: var(--font-sans); font-weight:700; font-size: var(--sec7-price); line-height:1; letter-spacing:-0.01em;
}
#sec-7 .price-card .price-amount .currency,
#sec-7 .price-card .price-amount sup,
#sec-7 .price-card .price-amount sub,
#sec-7 .et_pb_pricing_table .et_pb_currency_symbol,
#sec-7 .et_pb_pricing_table .et_pb_currency,
#sec-7 .et_pb_pricing_table .et_pb_frequency{
  font-size: calc(var(--sec7-price) * var(--sec7-currency-scale)); line-height:0; vertical-align:baseline;
}
#sec-7 .price-card .price-features,
#sec-7 .price-card .price-features li,
#sec-7 .et_pb_pricing_table ul.et_pb_pricing li{
  font-family: var(--font-sans); font-weight:400; font-size: var(--sec7-features); line-height:1.6; color:#6C6C6C;
}
#sec-7 .price-card .price-features li,
#sec-7 .et_pb_pricing_table ul.et_pb_pricing li{ margin:.45rem 0; }
@media (max-width:981px){ #sec-7 .et_pb_row .et_pb_column{ display:block; } }

/* ========= SEC-8 (Kontakt) ========= */
#sec-8 #ContactH3,
#sec-8 #ContactH3 .et_pb_text_inner,
#sec-8 #ContactH3 .et_pb_text_inner h3,
#sec-8 #ContactH3 .et_pb_text_inner h3 *{
  font-family: var(--font-sans); font-weight:700;
  font-size: var(--sec8-h3, var(--sec4-h3)); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .9rem 0; color:#fff;
}
#sec-8 .contact-form, #sec-8 .et_pb_contact{ font-family: var(--font-sans); }
#sec-8 .contact-form label,
#sec-8 .et_pb_contact_form label{
  display:block; font-family: var(--font-sans); font-weight:600;
  font-size: var(--form-label); line-height:1.35; color:#6C6C6C; margin:0 0 .45rem 0;
}
#sec-8 .contact-form input, #sec-8 .contact-form select, #sec-8 .contact-form textarea,
#sec-8 .et_pb_contact_form input, #sec-8 .et_pb_contact_form select, #sec-8 .et_pb_contact_form textarea{
  font-family: var(--font-sans); font-size: var(--form-input); font-weight:400; color:#EAEAEA;
  background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius: var(--form-radius,12px); padding:.95rem 1.1rem; line-height:1.4;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#sec-8 .contact-form input::placeholder,
#sec-8 .contact-form textarea::placeholder,
#sec-8 .et_pb_contact_form input::placeholder,
#sec-8 .et_pb_contact_form textarea::placeholder{ color:#7a7a7a; opacity:1; }
#sec-8 .contact-form input:focus, #sec-8 .contact-form select:focus, #sec-8 .contact-form textarea:focus,
#sec-8 .et_pb_contact_form input:focus, #sec-8 .et_pb_contact_form select:focus, #sec-8 .et_pb_contact_form textarea:focus{
  outline:none; border-color: rgba(64,255,160,.7); box-shadow:0 0 0 3px rgba(64,255,160,.15); background: rgba(255,255,255,.055);
}
#sec-8 .et_pb_contact_error_text{ color:#ff6b6b; }
#sec-8 .et_pb_contact_form .error input, #sec-8 .et_pb_contact_form .error select, #sec-8 .et_pb_contact_form .error textarea{
  border-color:#ff6b6b; box-shadow:0 0 0 3px rgba(255,107,107,.12);
}
#sec-8 .contact-form .et_pb_button, #sec-8 .et_pb_contact_form .et_pb_button, #sec-8 .et_pb_contact_form button{
  font-family: var(--font-sans); font-weight:600; font-size: clamp(1.05rem,.9rem + .35vw,1.2rem);
  line-height:1.15; padding:.9rem 1.4rem; letter-spacing:.01em; white-space:nowrap; border-radius:999px;
}
@media (max-width:981px){ #sec-8 .et_pb_contact_form .et_pb_contact_field_half{ width:100%; float:none; } }

/* ========= MOBILE/TABLET: Sektionstitel zentrieren ========= */
@media (max-width:981px){
  #sec-3 #ServicesH3 .et_pb_text_inner,
  #sec-4 #EduH3 .et_pb_text_inner,
  #sec-5 #ProjectsH3 .et_pb_text_inner,
  #sec-6 #ReviewsH3 .et_pb_text_inner,
  #sec-7 #PricesH3 .et_pb_text_inner,
  #sec-8 #ContactH3 .et_pb_text_inner{ text-align:center; }
}

/* ========= 1280×800 Optimierung (MacBook 13") ========= */
@media (max-width:1280px){
  #top-menu, #et-top-navigation nav > ul, .et-menu, .et_header_style_left #top-menu{ display:none !important; }
  .mobile_menu_bar{ display:block !important; }
  .et_pb_section .et_pb_row{ width:92% !important; max-width:1200px !important; }
  #sec-3 #services-row{ gap:32px; }
  #sec-6 .testi-card{ min-height: var(--sec6-card-min-h); }
}
/* Titel auf MacBook links (kein Mobile) */
@media (min-width:981px) and (max-width:1280px){
  #sec-3 #ServicesH3 .et_pb_text_inner,
  #sec-4 #EduH3 .et_pb_text_inner,
  #sec-5 #ProjectsH3 .et_pb_text_inner,
  #sec-6 #ReviewsH3 .et_pb_text_inner,
  #sec-7 #PricesH3 .et_pb_text_inner,
  #sec-8 #ContactH3 .et_pb_text_inner{ text-align:left !important; }
  .et_pb_section{ padding-top:60px; padding-bottom:60px; }
}
/* Badge ausblenden in 1280×800 */
@media (min-width:1200px) and (max-width:1280px) and (min-height:760px) and (max-height:900px){
  #wp-badge{ display:none !important; visibility:hidden !important; }
}
@media (max-width:1280px){ #wp-badge{ display:none !important; } }

/* ========= COOKIE-SEITE – HERO ========= */
/* Sektion-ID (im Divi Abschnitt): cookie-hero */
#cookie-hero .et_pb_row{ width:92% !important; max-width:1320px !important; margin-inline:auto; }

/* H1 im Textmodul (ID: cookie-title) – Größe wie ServicesH3 */
#cookie-hero #cookie-title,
#cookie-hero #cookie-title .et_pb_text_inner,
#cookie-hero #cookie-title .et_pb_text_inner h1,
#cookie-hero #cookie-title .et_pb_text_inner h1 *{
  font-family: var(--font-sans); font-weight:700;
  font-size: var(--sec3-h3); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .35em 0; color:#fff;
}
/* Optionaler Lead unter der H1 (ID: cookie-lead) – nutzt universelle Farbe */
#cookie-hero #cookie-lead,
#cookie-hero #cookie-lead .et_pb_text_inner,
#cookie-hero #cookie-lead .et_pb_text_inner p{
  font-family: var(--font-sans); font-weight:400;
  font-size: var(--hero-p); line-height:1.6; color: var(--hero-p-color); max-width:60ch; margin:0;
}

/* ========= GENERISCHES UNTERSEITEN-HERO ========= */
/* Abschnitt-ID: page-hero | H1-Modul-ID: page-title | Paragraph-ID (optional): page-lead */
#page-hero .et_pb_row{ width:92% !important; max-width:1320px !important; margin-inline:auto; }
#page-hero #page-title,
#page-hero #page-title .et_pb_text_inner,
#page-hero #page-title .et_pb_text_inner h1,
#page-hero #page-title .et_pb_text_inner h1 *{
  font-family: var(--font-sans); font-weight:700;
  /* H1 bewusst auf Services-H3 skaliert, wie gewünscht */
  font-size: var(--sec3-h3); line-height:1.1; letter-spacing:-0.01em;
  margin:0 0 .35em 0; color:#fff;
}
#page-hero #page-lead,
#page-hero #page-lead .et_pb_text_inner,
#page-hero #page-lead .et_pb_text_inner p{
  font-family: var(--font-sans); font-weight:400;
  font-size: var(--hero-p); line-height:1.6; color: var(--hero-p-color); max-width:60ch; margin:0;
}

/* ========= COOKIE-RICHTLINIEN-INHALT (RCB) ========= */
/* alles innerhalb der Code- oder Text-Row mit ID: rcb-policy */
#rcb-policy{
  --bg:#0f1215; --panel:#14171a; --text:#e6edf3; --muted:#a9b1bb; --soft:#c9d1d9;
  --accent:#27e38e; --bd:rgba(255,255,255,.08); --bd-strong:rgba(255,255,255,.14);
  --shadow:0 12px 40px rgba(0,0,0,.35);
  color:var(--soft); font-family:Inter,"Proxima Nova",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; line-height:1.7;
  max-width:1320px; margin:0 auto; padding:clamp(18px,3vw,28px);
}
#rcb-policy *{ box-sizing:border-box; }
#rcb-policy p{ color:var(--soft); margin:.6rem 0 1rem; font-size: var(--hero-p); }
#rcb-policy ul, #rcb-policy ol{ margin:.6rem 0 1rem 1.2rem; padding:0; }
#rcb-policy ul > li, #rcb-policy ol > li{ color:var(--soft); margin:.35rem 0; font-size: var(--hero-p); }
#rcb-policy strong, #rcb-policy b{ color:var(--text); font-weight:700; }
#rcb-policy h1, #rcb-policy h2, #rcb-policy h3, #rcb-policy h4{
  color:var(--text); letter-spacing:.2px; line-height:1.25; margin:2.1rem 0 1rem;
}
#rcb-policy h1{ font-size: clamp(28px, 4.2vw, 40px); }
#rcb-policy h2{ font-size: clamp(22px, 3.1vw, 30px); }
#rcb-policy h3{ font-size: clamp(18px, 2.4vw, 22px); }
#rcb-policy h4{ font-size: clamp(16px, 2.0vw, 18px); }
#rcb-policy h2[id], #rcb-policy h3[id]{ scroll-margin-top:96px; }
#rcb-policy a{ color:var(--accent); text-decoration:none; transition:color .15s, box-shadow .15s; }
#rcb-policy a:hover{ color:#4ef6ae; box-shadow: inset 0 -1px 0 0 currentColor; }
#rcb-policy a:focus-visible{ outline:2px solid color-mix(in srgb,var(--accent) 65%, transparent); outline-offset:2px; border-radius:4px; }
#rcb-policy > ul:first-of-type{
  list-style:none; margin:1rem 0 2rem; padding:.75rem .9rem; background:var(--panel);
  border:1px solid var(--bd); border-radius:12px; box-shadow:var(--shadow);
}
#rcb-policy .gridjs-wrapper{
  background:var(--panel); border:1px solid var(--bd); border-radius:14px; box-shadow:var(--shadow);
  padding:0; overflow:hidden;
}
#rcb-policy .gridjs-table{ width:100%; border-collapse:separate; border-spacing:0; background:var(--panel); color:var(--soft); }
#rcb-policy .gridjs-tr > .gridjs-th{
  background:#171b1f; color:var(--text); font-weight:700; font-size:14px;
  border-bottom:1px solid var(--bd-strong) !important; padding:14px 16px;
}
#rcb-policy .gridjs-tr > .gridjs-td{
  background:var(--panel); color:var(--soft); font-size:15px;
  border-top:1px solid var(--bd) !important; padding:14px 16px;
}
#rcb-policy .gridjs-tr:nth-child(odd) > .gridjs-td{ background:#121619; }
#rcb-policy .gridjs-search{ padding:10px 12px; border-bottom:1px solid var(--bd); background:#171b1f; }
#rcb-policy .gridjs-input{ background:#0f1215; border:1px solid var(--bd); color:var(--soft); border-radius:10px; padding:10px 12px; }
#rcb-policy .gridjs-input::placeholder{ color:#808791; }
#rcb-policy .gridjs-footer, #rcb-policy .gridjs-pagination{ background:#171b1f; border-top:1px solid var(--bd); color:var(--soft); padding:10px 12px; }
#rcb-policy .gridjs-pages button{
  background:transparent; border:1px solid var(--bd); color:var(--soft); border-radius:8px; padding:6px 10px;
}
#rcb-policy .gridjs-pages .gridjs-current{ border-color:var(--accent); color:var(--accent); }
#rcb-policy hr{ border:0; height:1px; background:var(--bd); margin:1.6rem 0; }
#rcb-policy code, #rcb-policy kbd{
  background:#0f1215; border:1px solid var(--bd); color:var(--text); padding:2px 6px; border-radius:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.95em;
}
@media (max-width:980px){
  #rcb-policy{ padding:18px; }
  #rcb-policy .gridjs-tr > .gridjs-td, #rcb-policy .gridjs-tr > .gridjs-th{ padding:12px; font-size:14px; }
}
@media (max-width:640px){
  #rcb-policy h1{ font-size:26px; } #rcb-policy h2{ font-size:20px; } #rcb-policy h3{ font-size:18px; }
}

/* =========================================================
   UNIVERSALER PAGE-TITLE + LEAD (klassenbasiert)
   ========================================================= */
.u-page-title,
.u-page-title .et_pb_text_inner,
.u-page-title .et_pb_text_inner h1,
.u-page-title h1{
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: var(--sec3-h3);    /* entspricht deiner Services-H3-Größe */
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0 0 .35em 0;
  color: #fff;
}
.u-page-title .et_pb_text_inner h1 *{ font: inherit; color: inherit; }

.u-page-lead,
.u-page-lead .et_pb_text_inner,
.u-page-lead .et_pb_text_inner p{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--hero-p);
  line-height: 1.6;
  color: var(--hero-p-color);
  max-width: 60ch;
  margin: 0;
}

/* Row-Breite (für Hero/Intro) */
.row-1320.et_pb_row{
  width: 92% !important;
  max-width: 1320px !important;
  margin-inline: auto;
}

/* Zentrierung Handy/Tablet, links auf MacBook 13" */
@media (max-width: 981px){
  .u-page-title .et_pb_text_inner,
  .u-page-lead .et_pb_text_inner{ text-align: center; }
}
@media (min-width: 981px) and (max-width: 1280px){
  .u-page-title .et_pb_text_inner,
  .u-page-lead .et_pb_text_inner{ text-align: left !important; }
}

/* =========================================================
   UNIVERSALER HERO/INTRO-PARAGRAPH (wie im Cookie-Hero)
   ========================================================= */
.u-hero-text,
.u-hero-text .et_pb_text_inner,
.u-hero-text .et_pb_text_inner p{
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(18px, 1.1vw + .65rem, 22px);
  line-height: 1.65;
  letter-spacing: 0;
  color: var(--hero-p-color);
  max-width: 62ch;
  margin: .25rem 0 0 0;
}
.u-hero-text--muted,
.u-hero-text--muted .et_pb_text_inner,
.u-hero-text--muted .et_pb_text_inner p{ color: #a6b0b9; }

@media (max-width: 981px){
  .u-hero-text .et_pb_text_inner{ text-align: center; margin-inline: auto; }
}
@media (min-width: 981px) and (max-width: 1280px){
  .u-hero-text .et_pb_text_inner{ text-align: left !important; }
}

/* Alias: u-page-lead verhält sich gleich (s.o.) */

