/* Existing components, adjusted for the new editorial structure. */
.feedback-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 4rem; }
.feedback-services article { padding-top: 1.5rem; border-top: 1px solid rgba(106,1,22,.2); min-width: 0; }
.feedback-services h3 { margin-top: 0; }
.feedback-services a, .feedback-page .legal-richtext a { text-decoration: underline; text-underline-offset: 4px; }
.feedback-offers { align-items: stretch; }
.feedback-offers .service-card { min-width: 0; }
.feedback-offers ul { padding-left: 1.2rem; margin-block: 1rem 2rem; }
.feedback-offers li { margin-block: .8rem; overflow-wrap: anywhere; }
.feedback-offers li p { margin: 0; }
.feedback-page .about-split { align-items: start; }
.feedback-page .about-split-copy h3 { margin-top: 1.75rem; }
.feedback-page [id] { scroll-margin-top: 110px; }
.reference-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; padding: 0; margin: 2rem 0; gap: 1rem; }
.reference-grid li { height: 110px; display: flex; align-items: center; justify-content: center; padding: 1.2rem; background: #fff; }
.reference-grid img { max-width: 100%; max-height: 74px; width: auto; height: auto; object-fit: contain; }
.reference-more summary, .testimonial summary { cursor: pointer; text-decoration: underline; text-underline-offset: 4px; padding-block: .7rem; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.testimonial { margin: 0; padding: 1.5rem 0; border-top: 2px solid #6a0116; min-width: 0; }
.testimonial blockquote { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.testimonial figcaption { margin-top: 1.5rem; font-weight: 600; }
.testimonial .eyebrow { min-height: 2.7em; }
@media (max-width: 980px) { .reference-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .feedback-offers { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .feedback-services, .testimonial-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } .reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; } .reference-grid li { height: 100px; } }
.site-header .header-shell { width: min(1320px, calc(100% - 2.8rem)); margin-inline: auto; padding-inline: 0 !important; }
.site-header .menu-root { gap: 1rem; }
@media (max-width: 1280px) {
  .site-header .main-menu { display: none; }
  .site-header .mobile-menu { display: flex; }
}
/* Visible logo bounds in the original PNG: x=450..2106 of 2557px. */
.site-header .brand { position: relative; width: 132px; height: 44px; flex-shrink: 0; overflow: hidden; }
.site-header .brand img { position: absolute; width: 203.69px; max-width: none; height: auto; left: -35.85px; top: 50%; transform: translateY(-50%); }
.home-page h1, .home-page h2, .home-page h3, .home-page strong, .home-page .amount { letter-spacing: 0; overflow-wrap: anywhere; }
.home-page h1 { font-size: 4.2rem; line-height: 1.02; }
.home-page h2 { font-size: 2.95rem; line-height: 1.06; }
.home-page h3 { font-size: 1.5rem; line-height: 1.1; }
.home-page .eyebrow, .home-page .imx-kicker, .home-page .about-offer-kicker, .home-page .about-mini-label { letter-spacing: 0; }
.home-page .hero { width: min(1320px, calc(100% - 2.8rem)); margin-inline: auto; min-height: 0; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 4rem; padding-block: 2rem 3rem; }
.home-page .hero-copy { padding: 2rem 0; background: transparent; }
.home-page .hero-visual { position: relative; isolation: isolate; height: min(660px, calc(100svh - 170px)); min-height: 480px; margin: 0; background: transparent; border-radius: 0; }
.home-page .hero-visual img { width: 100%; height: 100%; object-position: center 25%; border-radius: 80px 8px 80px 8px; }
.home-page .ansatz-media { height: 650px; }
.home-page .ansatz-media img { object-position: center top; }
.home-page .ansatz-metrics strong { font-size: 1.4rem; }
.home-page .ansatz-metrics span { display: block; margin-top: 0.5rem; }
.home-page .about-split-media { height: 480px; min-height: 0; }
.home-page .about-split-media img { height: 100%; object-fit: cover; object-position: center 20%; }
.home-page .imx-card-image-top { height: 240px; }
.home-page .imx-card-image-top img { object-position: center 35%; }
.home-page .amount { font-size: 2rem; }
.home-page .about-offer-grid { column-gap: 2.5rem; }
.home-page .about-offer-copy h2 { font-size: 2.5rem; }
.home-page .about-offer-portrait { min-height: 580px; }
.home-page .hero > *, .home-page .imx-grid > *, .home-page .imx-collage > *, .home-page .ansatz-panel > * { min-width: 0; }
.home-page .btn { max-width: 100%; text-align: center; }
@media (max-width: 1100px) {
  .home-page h1 { font-size: 3.2rem; }
  .home-page h2 { font-size: 2.4rem; }
  .home-page .hero { gap: 2rem; }
  .home-page .hero-visual { min-height: 460px; height: 520px; }
  .home-page .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page .ansatz-panel, .home-page .imx-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.5rem; }
  .home-page .imx-collage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .home-page .about-offer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .home-page .about-offer-cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .site-header .header-shell { padding-inline: 1.2rem !important; }
  .home-page .hero, .home-page .ansatz-panel, .home-page .imx-grid, .home-page .about-offer-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .hero { width: calc(100% - 2.4rem); }
  .home-page .hero-copy { padding: 1rem 0 !important; }
  .home-page .hero-visual { height: 420px; min-height: 0; }
  .home-page .service-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .ansatz-media { height: 420px; }
  .home-page .about-offer-portrait { min-height: 440px; }
}
@media (max-width: 640px) {
  .site-header .header-shell { padding-inline: 1.4rem !important; }
  .home-page .hero { width: calc(100% - 2.8rem); gap: 1.5rem; padding-block: 1rem 2.5rem; }
  .home-page h1 { font-size: 2.65rem; }
  .home-page h2, .home-page .about-offer-copy h2 { font-size: 2rem; }
  .home-page h3 { font-size: 1.35rem; }
  .home-page .hero-visual { height: 340px; }
  .home-page .hero-visual img { border-radius: 48px 8px 48px 8px; }
  .home-page .ansatz-media, .home-page .about-split-media { height: 340px; }
  .home-page .imx-collage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.7rem; }
  .home-page .imx-card { border-radius: 18px; }
  .home-page .imx-card-image-top { height: 200px; }
  .home-page .amount { font-size: 1.3rem; }
  .home-page .about-offer-cards { display: grid; grid-template-columns: minmax(0, 1fr); }
}
.positioning-page h1 { font-size: 3.6rem; line-height: 1.06; max-width: 19ch; letter-spacing: 0; overflow-wrap: anywhere; }
.positioning-page h2 { font-size: 2.5rem; line-height: 1.12; letter-spacing: 0; overflow-wrap: anywhere; }
.positioning-page h3 { font-size: 1.5rem; line-height: 1.18; letter-spacing: 0; overflow-wrap: anywhere; }
.positioning-page p, .positioning-page li { max-width: 70ch; }
.positioning-page .topic-kicker, .positioning-page .eyebrow, .positioning-page .faq032-kicker { letter-spacing: 0; }
.positioning-page .topic-hero { padding-block: 3.5rem; }
.positioning-page .topic-hero-grid { gap: 3rem; align-items: center; }
.positioning-page .topic-hero-media { height: 520px; }
.positioning-page .topic-hero-media img { height: 100%; min-height: 0; object-position: center 25%; }
.positioning-page .service-card { min-height: 310px; }
.positioning-page .service-card a { text-decoration: underline; text-underline-offset: 4px; }
.positioning-page .about-split-media { height: 480px; min-height: 0; }
.positioning-page .about-split-media img { height: 100%; min-height: 0; object-fit: cover; object-position: center 20%; }
.positioning-page .about-split-copy h2 { max-width: 22ch; }
.positioning-page .hero-actions { align-items: flex-start; }
.positioning-page .btn { max-width: 100%; text-align: center; }
.site-footer .footer-col nav { margin-top: 1rem; }
.site-footer .footer-col > p + p { margin-top: 1rem; }
.site-footer a { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--deep-safron); outline-offset: 4px; }
.topic-hero-grid > *, .faq032-shell > *, .angebotx-grid > *, .about-split > * { min-width: 0; }
.faq032-timeline, .faq032-step, .faq032-step summary { min-width: 0; max-width: 100%; }
.faq032-step summary span:last-child { min-width: 0; overflow-wrap: anywhere; }
.legal-richtext, .legal-page h1, .topic-hero h1 { overflow-wrap: anywhere; }
.about-split-copy > * { min-width: 0; overflow-wrap: anywhere; }
.topic-hero .btn { max-width: 100%; text-align: center; }
.mobile-menu .menu-wrapper[hidden] { display: none; }
#hochschulen .about-cta-row { margin-top: 1.5rem; }
@media (max-width: 1100px) {
  .positioning-page h1 { font-size: 2.85rem; }
  .positioning-page .topic-hero-grid { gap: 2rem; }
}
@media (max-width: 980px) {
  .positioning-page .topic-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .positioning-page .topic-hero-media { height: 420px; width: 100%; }
  .positioning-page .about-split-media { height: 380px; width: 100%; }
  .positioning-page h1 { max-width: 24ch; }
}
@media (max-width: 640px) {
  .positioning-page h1 { font-size: 2.25rem; }
  .positioning-page h2 { font-size: 1.85rem; }
  .positioning-page h3 { font-size: 1.35rem; }
  .positioning-page .topic-hero { padding-block: 2rem; }
  .positioning-page .topic-hero-media { height: 300px; }
  .positioning-page .about-split-media { height: 300px; }
  .positioning-page .service-card { min-height: 0; }
  .positioning-page .hero-actions { gap: 0.75rem; }
  .positioning-page .service-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
