/* ============================================================
   pflegori Heimpflege — Common Theme Styles
   ============================================================ */

/* ---- Plus Jakarta Sans (body) — 400/500/600/700/800 ---- */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-400.woff2")
      format("woff2"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-400.woff")
      format("woff"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-400.ttf")
      format("truetype");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-500.woff2")
      format("woff2"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-500.woff")
      format("woff"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-500.ttf")
      format("truetype");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-600.woff2")
      format("woff2"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-600.woff")
      format("woff"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-600.ttf")
      format("truetype");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-700.woff2")
      format("woff2"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-700.woff")
      format("woff"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-700.ttf")
      format("truetype");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-800.woff2")
      format("woff2"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-800.woff")
      format("woff"),
    url("../../fonts/plus-jakarta-sans/plus-jakarta-sans-800.ttf")
      format("truetype");
}

/* ---- Cabinet Grotesk (display/headings) — 500/700/800 ---- */
@font-face {
  font-family: "Cabinet Grotesk";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-500.woff2") format("woff2"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-500.woff") format("woff"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-500.ttf")
      format("truetype");
}
@font-face {
  font-family: "Cabinet Grotesk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-700.woff2") format("woff2"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-700.woff") format("woff"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-700.ttf")
      format("truetype");
}
@font-face {
  font-family: "Cabinet Grotesk";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src:
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-800.woff2") format("woff2"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-800.woff") format("woff"),
    url("../../fonts/cabinet-grotesk/cabinet-grotesk-800.ttf")
      format("truetype");
}

/* ---------------- BRAND TOKENS ---------------- */
:root {
  --pflegori-blue: #0066cc;
  --pflegori-green: #8bc34a;
  --pflegori-orange: #f57c00;
  --bg-slate: #f8fafc;
}

/* ---------------- SAFETY RESET (works even if the Tailwind CDN preflight is unavailable) ---------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
img,
svg,
video {
  max-width: 100%;
  height: auto;
}

body {
  font-family: "Plus Jakarta Sans", sans-serif;
  scroll-behavior: smooth;
  /* iOS/Safari robustness: stop text auto-inflation + smoother rendering */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* ---- Text selection ---- */
::selection {
  background-color: var(--pflegori-blue);
  color: #ffffff;
}
::-moz-selection {
  background-color: var(--pflegori-blue);
  color: #ffffff;
}

/* ---- Custom scrollbar ---- */
/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: var(--pflegori-blue) #f1f5f9;
}
/* Chrome / Edge / Safari */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background-color: var(--pflegori-blue);
  border-radius: 999px;
  border: 2px solid #f1f5f9;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #0052a3;
}

.font-display {
  font-family: "Cabinet Grotesk", sans-serif;
}

/* ---------------- NAV ---------------- */
.nav-link-hover::after {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: -4px;
  left: 0;
  background-color: var(--pflegori-blue);
  transition: width 0.3s ease;
}
.nav-link-hover:hover::after {
  width: 100%;
}

/* ---------------- DROPDOWN MENUS ---------------- */
.dropdown:hover .dropdown-menu {
  display: block;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.dropdown-menu {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.2s ease-out;
}

/* ---------------- BUTTONS, HERO & CARD EFFECTS ---------------- */
.btn-shadow {
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
}

/* Home & Career hero overlay */
.hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.95) 0%,
    rgba(15, 23, 42, 0.5) 100%
  );
}

/* Service hero clip-path */
.hero-mask {
  clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}

/* Home & Career image zoom on card hover */
.card-zoom:hover img {
  transform: scale(1.05);
}

/* Home philosophy divider */
.values-divider {
  background: linear-gradient(
    90deg,
    transparent,
    var(--pflegori-blue),
    var(--pflegori-green),
    transparent
  );
}

/* Home stat cards */
.stat-card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -10px rgba(0, 102, 204, 0.1);
}

/* Service & Contact lift cards */
.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

/* Contact form focus ring */
.form-focus:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
  outline: none;
}

/* ============================================================
   JS-driven enhancements (sticky / animation / mobile menu)
   ============================================================ */

/* Sticky nav: stronger shadow once scrolled */
.nav-scrolled {
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.15);
}

/* Mobile menu (toggled by JS) */
#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
#mobile-menu.open {
  max-height: none;
}

/* Scroll reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ---- Dropdown menus ---- */
/* Vertical padding bridges the gap between the trigger button and the
   menu (mt-2), so the dropdown stays open while the cursor crosses it.
   Symmetric padding keeps the button vertically centered in the navbar. */
.dropdown {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.dropdown:hover .dropdown-menu {
  display: block;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.dropdown-menu {
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.2s ease-out;
}

/* ---- Buttons ---- */
.btn-shadow {
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
}

/* Global conversion CTA button — used across sections, links to kontakt */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 0.875rem 2rem;
  border-radius: 9999px;
  font-weight: 700;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition:
    background-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.btn:hover {
  background-color: #0052a3;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -6px rgba(0, 102, 204, 0.4);
}

/* ============================================================
   Shared navbar (all pages)
   ============================================================ */

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  background-color: #ffffff;
  border-bottom: 1px solid #f1f5f9;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
.navbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 5rem;
}
.navbar-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.navbar-logo img {
  height: 2.5rem;
  /* fixed box (= default logo's natural width at this height) so swapping to the
     slightly-different pride logo never reflows the navbar / shifts siblings */
  width: 6.2rem;
  object-fit: contain;
  object-position: left center;
}

/* The pride (alt) logo runs a touch larger than the default — when it's toggled in
   (its filename contains "pride"), scale it down slightly. transform is layout-neutral,
   so the fixed box is unchanged and siblings never shift. Applies to header, footer
   and the hero card logo (all share .pflegori-logo-img). */
.pflegori-logo-img[src*="pride"] {
  transform: scale(0.94);
  transform-origin: left center;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.nav-link {
  position: relative;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
  transition: color 0.3s ease;
}
.nav-link:hover {
  color: #0f172a;
}
.nav-link--active {
  color: #0f172a;
}

.nav-drop-btn {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.nav-drop-btn:hover {
  color: #0f172a;
}
.nav-drop-btn iconify-icon {
  font-size: 0.75rem;
}

/* ---- Scrolled navbar (JS toggles .nav-scrolled on #main-nav = .navbar) ----
   Dark background + light links; smooth via the color/background transitions
   already on .navbar, .nav-link and .nav-drop-btn. */
.navbar.nav-scrolled {
  background-color: #0f172a;
}
.navbar.nav-scrolled .nav-link,
.navbar.nav-scrolled .nav-drop-btn,
.navbar.nav-scrolled .nav-toggle button {
  color: #ccd6e3;
}
.navbar.nav-scrolled .nav-link:hover,
.navbar.nav-scrolled .nav-drop-btn:hover,
.navbar.nav-scrolled .nav-link--active {
  color: var(--pflegori-blue);
}

.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
  left: 0;
  margin-top: 0.5rem;
  width: 14rem;
  background-color: #ffffff;
  border-radius: 0.75rem;
  border: 1px solid #f1f5f9;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  padding: 0.5rem 0;
}
.dropdown-menu--wide {
  width: 16rem;
}
.dropdown-item {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: #334155;
}
.dropdown-item:hover {
  background-color: #f8fafc;
}

.nav-cta {
  display: inline-block;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 0.625rem 1.25rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition: transform 0.3s ease;
}
.nav-cta:hover {
  transform: scale(1.05);
}

/* hamburger: hidden on desktop, shown ≤1024 via responsive.css */
.nav-toggle {
  display: none;
}
.nav-toggle button {
  padding: 0.5rem;
  color: #475569;
  background: none;
  border: none;
  cursor: pointer;
}
.nav-toggle iconify-icon {
  font-size: 1.5rem;
}

.mobile-menu-inner {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 100%;
}
.mobile-link {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
}
.mobile-link:hover {
  background-color: #f8fafc;
}
.mobile-link--active {
  color: #0f172a;
}

/* ---- Mobile menu dropdown groups ---- */
.mobile-group-btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}
.mobile-group-btn:hover { background-color: #f8fafc; }
.mobile-group-btn iconify-icon {
  font-size: 1rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.mobile-group.open .mobile-group-btn iconify-icon { transform: rotate(180deg); }

.mobile-group-panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.mobile-group.open .mobile-group-panel { max-height: 16rem; }

.mobile-sublink {
  display: block;
  padding: 0.5rem 0.75rem 0.5rem 1.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748b;
}
.mobile-sublink:hover {
  background-color: #f8fafc;
  color: #0f172a;
}
.mobile-sublink.mobile-link--active { color: #0f172a; font-weight: 600; }

.mobile-cta {
  display: block;
  text-align: center;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 0.75rem 1.25rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 0.5rem;
}

/* Mobile menu bottom action bar (call + contact CTAs stick to the bottom) */
.mobile-menu-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 1rem;
}
.mobile-menu-actions .mobile-cta {
  margin-top: 0;
}
.mobile-cta--call {
  background-color: #ffffff;
  color: var(--pflegori-blue);
  border: 1px solid var(--pflegori-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* ============================================================
   Shared footer (all pages)
   ============================================================ */

.site-footer {
  background-color: #020617;
  color: #94a3b8;
  padding: 5rem 0 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
  margin-bottom: 4rem;
}
.footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
.footer-col h4 {
  color: #ffffff;
  font-weight: 700;
}
.footer-logo {
  height: 3rem;
  /* fixed box (= default logo's natural width at this height) so the logo swap
     never reflows the footer / shifts siblings */
  width: 7.44rem;
  object-fit: contain;
  object-position: left center;
/*   filter: brightness(0) invert(1); */
}
.footer-text {
  font-size: 0.875rem;
  line-height: 1.625;
}
.footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 0.875rem;
}
.footer-links a {
  transition: color 0.3s ease;
}
.footer-links a:hover {
  color: #ffffff;
}
.footer-link--active {
  color: #ffffff;
}
/* social + contact in the first footer column */
.footer-social {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.footer-social-link {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}
.footer-social-link:hover {
  background-color: var(--pflegori-blue);
  transform: translateY(-2px);
}
.footer-mail {
  font-size: 0.875rem;
  font-weight: 600;
  transition: color 0.3s ease;
}
.footer-mail:hover {
  color: #ffffff;
}

/* linked address */
.footer-text a {
  transition: color 0.3s ease;
}
.footer-text a:hover {
  color: #ffffff;
}

/* legal links in the footer bottom bar */
.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.footer-legal a {
  transition: color 0.3s ease;
}
.footer-legal a:hover {
  color: #ffffff;
}

.footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  font-size: 0.75rem;
}

.footer-seals {
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    align-items: center;
}

#footer-seal-1 img, #footer-seal-2 img {
	max-width: 150px;
	height: auto;
}

@media screen and (max-width: 767px) {
	.footer-seals {
    flex-direction: column;
}
	
	#footer-seal-1 img, #footer-seal-2 img {
	max-width: 136px;
}
}

/* ============================================================
   JS-driven enhancements (sticky / animation / mobile menu)
   ============================================================ */

/* Sticky nav: add a stronger shadow once the page is scrolled */
.nav-scrolled {
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.15);
}

/* ---- Mobile menu (toggled by JS) ----
   Full-screen panel that slides in from the right. It starts below the
   fixed navbar (top: 5rem), so #main-nav stays visible above it and the
   hamburger button (which JS turns into an X) can close it again. */
#mobile-menu {
  display: none; /* shown ≤1024px via responsive.css */
  position: fixed;
  top: 5rem;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  border-top: 1px solid #f1f5f9;
  transform: translateX(100%);
  transition: transform 0.35s ease;
  overflow-y: auto;
  z-index: 40;
}
#mobile-menu.open {
  transform: translateX(0);
}

/* ---- Scroll reveal animation ---- */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================
   Page: Home
   ============================================================ */

.page-home .hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.95) 0%,
    rgba(15, 23, 42, 0.5) 100%
  );
}
.page-home .card-zoom:hover img {
  transform: scale(1.05);
}
.page-home .values-divider {
  background: linear-gradient(
    90deg,
    transparent,
    var(--pflegori-blue),
    var(--pflegori-green),
    transparent
  );
}
.page-home .stat-card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -10px rgba(0, 102, 204, 0.1);
}

/* ============================================================
   Shared layout & typography helpers
   (mobile-first; breakpoint overrides live in responsive.css)
   ============================================================ */

/* Single global container — fixed gutter, identical on every breakpoint.
   `body .container` also outranks the Tailwind CDN's own .container utility. */
.container,
body .container {
  width: 100%;
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.grid-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  align-items: center;
}

.section-head {
  text-align: center;
  margin-bottom: 4rem;
}

/* Section heading + tag: defined once globally (color inherits from
   the section, so dark sections automatically get light titles).
   Breakpoint sizes live in responsive.css (max-width: 1024px / 767px). */
.section-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  line-height: 1.2;
  color: inherit;
}

/* Section description: optional sub-text under a .section-title. Kept minimal so
   it can drop into flex-gap headers without imposing extra spacing/line-height;
   sections add their own colour where it differs. */
.section-desc {
  font-size: 1.125rem;
  color: #475569;
}

/* Optional centered header. .section-head is already centered by default; the
   .center modifier makes the intent explicit and also width-constrains and
   centers the description for centered intros. Additive — no existing markup
   uses .center, so current layouts are unaffected. */
.section-head.center,
.section-head--center {
  text-align: center;
}
.section-head.center .section-title,
.section-head.center .section-desc,
.section-head--center .section-title,
.section-head--center .section-desc {
  text-align: center;
}
.section-head.center .section-desc,
.section-head--center .section-desc {
  margin-left: auto;
  margin-right: auto;
  max-width: 42rem;
}

.section-tag {
  display: inline-block;
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.body-text {
  font-size: 1.125rem;
  line-height: 1.625;
  color: #475569;
}

.text-accent {
  color: var(--pflegori-blue);
}

.icon-blue {
  color: var(--pflegori-blue);
}
.icon-green {
  color: var(--pflegori-green);
}
.icon-orange {
  color: var(--pflegori-orange);
}

/* Button variants (extend the global .btn) */
.btn--lg {
  padding: 1rem 2rem;
  font-size: 1rem;
}

/* green calculator variant */
.btn--green {
  background-color: var(--pflegori-green);
  box-shadow: 0 10px 20px -5px rgba(139, 195, 74, 0.4);
}
.btn--green:hover {
  background-color: #7cb342;
  box-shadow: 0 14px 28px -6px rgba(139, 195, 74, 0.5);
}

/* side-by-side CTA buttons */
.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 1rem 2rem;
  border-radius: 9999px;
  font-weight: 700;
  transition: background-color 0.3s ease;
}
.btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.btn-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #0f172a;
  color: #ffffff;
  padding: 0.75rem 2rem;
  border-radius: 9999px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.btn-toggle:hover {
  background-color: #1e293b;
}

/* Image frames for split sections */
.media-frame {
  position: relative;
  overflow: hidden;
  border-radius: 2.5rem;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.media-frame img {
  width: 100%;
  height: 450px;
  object-fit: cover;
}
.media-frame--zoom img {
  transition: transform 0.7s ease;
}
.media-frame--zoom:hover img {
  transform: scale(1.05);
}
.media-frame--tall {
  border-radius: 3rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.media-frame--tall img {
  height: 550px;
}

/* ============================================================
   Page: Hauswirtschaft & Entlastung
   ============================================================ */

.page-shell:has(.page-service) {
  min-height: 100vh;
  background-color: #ffffff;
}

main.page-service {
  padding-top: 5rem;
  color: #0f172a;
}

.page-service .card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(0, 102, 204, 0.15);
}

/* ---- Section shells (desktop-first; scaled down in responsive.css) ---- */
.service-hero {
  position: relative;
  background-color: #0f172a;
  padding: 8rem 0;
}
.service-why {
  background-color: #ffffff;
  padding: 6rem 0;
}
.service-relief {
  background-color: #f8fafc;
  padding: 6rem 0;
}
.service-process {
  background-color: #ffffff;
  padding: 6rem 0;
}
.service-details {
  background-color: #0f172a;
  color: #ffffff;
  padding: 6rem 0;
}
.service-info {
  background-color: #ffffff;
  padding: 6rem 0;
}
.service-benefits {
  background-color: #ffffff;
  padding: 6rem 0;
}
.service-impact {
  position: relative;
  background-color: #0f172a;
  color: #ffffff;
  padding: 6rem 0;
  overflow: hidden;
}
.service-why-us {
  background-color: #f8fafc;
  padding: 6rem 0;
}
.service-faq {
  background-color: #ffffff;
  border-top: 1px solid #f1f5f9;
  padding: 6rem 0;
}
.service-contact {
  background-color: #0f172a;
  color: #ffffff;
  padding: 6rem 0;
}

/* ---- Hero (classes carry the service name to stay distinct
        from the homepage hero) ---- */
.hero-grid {
  gap: 4rem;
}

.service-hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}

.service-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* H1: above the .section-title scale; tighter line-height.
   Size/line-height per breakpoint live in responsive.css
   (max-width: 1024px / 767px). */
.service-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3.25rem;
  line-height: 1.1;
  color: #ffffff;
}

.hero-text {
  font-size: 1.125rem;
  line-height: 1.625;
  color: #cbd5e1;
}

.hero-bullets {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.hero-bullet {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #cbd5e1;
  font-weight: 600;
}
.hero-bullet iconify-icon {
  color: var(--pflegori-green);
  font-size: 1.25rem;
  flex-shrink: 0;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.hero-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  width: 100%;
}
.hero-trust p {
  font-size: 0.875rem;
  color: #94a3b8;
}
.trust-strong {
  color: #ffffff;
  font-weight: 700;
}

.trust-avatars {
  display: flex;
}
.trust-avatars > div {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  border: 2px solid #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}
.trust-avatars > div + div {
  margin-left: -0.75rem;
}
.avatar-blue {
  background-color: #3b82f6;
}
.avatar-green {
  background-color: #22c55e;
}
.avatar-orange {
  background-color: #f97316;
}

.hero-media {
  position: relative;
}
.hero-glow {
  position: absolute;
  inset: -1rem;
  background-color: rgba(59, 130, 246, 0.1);
  border-radius: 3rem;
  filter: blur(40px);
}
.hero-img {
  position: relative;
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 3rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* ---- Warum wichtig / Ganzheitliche Entlastung (split sections) ---- */
.why-content,
.relief-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
.why-content .btn,
.relief-content .btn {
  margin-top: 1rem;
}

/* Desktop: DOM order = text left, image right.
   The image-first stacking on small screens is in responsive.css. */

.feature-chips {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding-top: 0.5rem;
  width: 100%;
}
.chip {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
}
.chip iconify-icon {
  color: var(--pflegori-green);
  font-size: 1.25rem;
  flex-shrink: 0;
}
.chip span {
  font-weight: 700;
  color: #334155;
}

/* ---- Unser Prozess ---- */
.process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.process-card {
  padding: 2rem;
  background-color: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.3s ease;
}
.process-icon {
  width: 4rem;
  height: 4rem;
  background-color: #dbeafe;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pflegori-blue);
  font-size: 1.875rem;
  margin-bottom: 1.5rem;
}
.process-card h4 {
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}
.process-card p {
  font-size: 0.875rem;
  color: #64748b;
}

/* ---- Detailierte Leistungen (dark) ---- */
.details-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.detail-card {
  padding: 2rem;
  border-radius: 1.5rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background-color 0.3s ease;
}
.detail-card:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.detail-card iconify-icon {
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
  display: inline-block;
}
.detail-card h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.detail-card p {
  font-size: 0.875rem;
  color: #94a3b8;
}

/* ---- Wissenswertes (info blocks) ---- */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
.info-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.info-block p {
  color: #475569;
  line-height: 1.625;
}
.info-divider {
  width: 4rem;
  height: 0.25rem;
  background-color: var(--pflegori-blue);
  border-radius: 9999px;
  margin: 0 0 0.5rem;
}
.info-toggle-wrap {
  text-align: center;
  margin-top: 2rem;
}

/* ---- Ihre Vorteile ---- */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.benefit-card {
  padding: 2.5rem;
  border-radius: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  transition: all 0.3s ease;
}
.benefit-card iconify-icon {
  font-size: 3rem;
  transition: color 0.3s ease;
}
.benefit-card h4 {
  font-weight: 700;
  font-size: 1.25rem;
}
.benefit-card p {
  font-size: 0.875rem;
}

.benefit-card--blue {
  background-color: rgba(0, 102, 204, 0.05);
  border: 1px solid #dbeafe;
}
.benefit-card--blue iconify-icon {
  color: var(--pflegori-blue);
}
.benefit-card--blue:hover {
  background-color: var(--pflegori-blue);
  color: #ffffff;
}

.benefit-card--green {
  background-color: rgba(139, 195, 74, 0.05);
  border: 1px solid #dcfce7;
}
.benefit-card--green iconify-icon {
  color: var(--pflegori-green);
}
.benefit-card--green:hover {
  background-color: var(--pflegori-green);
  color: #ffffff;
}

.benefit-card--orange {
  background-color: rgba(245, 124, 0, 0.05);
  border: 1px solid #ffedd5;
}
.benefit-card--orange iconify-icon {
  color: var(--pflegori-orange);
}
.benefit-card--orange:hover {
  background-color: var(--pflegori-orange);
  color: #ffffff;
}

.benefit-card--blue:hover iconify-icon,
.benefit-card--green:hover iconify-icon,
.benefit-card--orange:hover iconify-icon {
  color: #ffffff;
}

/* ---- Entlastung in Zahlen (dark impact section) ---- */
.service-impact::before,
.service-impact::after {
  content: "";
  position: absolute;
  width: 30rem;
  height: 30rem;
  border-radius: 9999px;
  pointer-events: none;
}
.service-impact::before {
  top: -12rem;
  left: -12rem;
  background: radial-gradient(circle, rgba(0, 102, 204, 0.25), transparent 70%);
}
.service-impact::after {
  bottom: -12rem;
  right: -12rem;
  background: radial-gradient(
    circle,
    rgba(139, 195, 74, 0.15),
    transparent 70%
  );
}

.impact-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  align-items: center;
  z-index: 1;
}
.impact-intro {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.impact-text {
  font-size: 1.125rem;
  line-height: 1.625;
  color: #cbd5e1;
}

.impact-intro .btn {
  margin-top: 0.5rem;
}

/* Visual: photo with floating stat badges + pulsing dashed ring */
.impact-visual {
  position: relative;
  padding: 1.25rem;
}
.impact-ring {
  position: absolute;
  inset: 0;
  border: 2px dashed rgba(96, 165, 250, 0.35);
  border-radius: 3rem;
  pointer-events: none;
  animation: ringPulse 6s ease-in-out infinite;
}
.impact-img {
  position: relative;
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 2.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
}
.impact-float {
  position: absolute;
  top: 0;
  right: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.875rem 1.25rem;
  background-color: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 1.25rem;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5);
  animation: floatBob 5s ease-in-out infinite;
}

.impact-float-number {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  color: #60a5fa;
}
.impact-float-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

@keyframes floatBob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes ringPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.02);
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .impact-float,
  .impact-ring {
    animation: none;
  }
}

/* ---- Warum pflegori ---- */
.whyus-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.whyus-accent {
  width: 5rem;
  height: 0.5rem;
  background-color: var(--pflegori-green);
  border-radius: 9999px;
}
.check-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.check-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #0f172a;
  font-weight: 700;
}
.check-bullet {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: var(--pflegori-green);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ---- FAQ ---- */
.faq-list {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.faq-item {
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 1.5rem;
  transition: all 0.3s ease;
}
.faq-item[open] {
  background-color: #ffffff;
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.faq-item summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  cursor: pointer;
  list-style: none;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-question {
  font-weight: 700;
  font-size: 1.25rem;
  color: #0f172a;
}
.faq-item summary iconify-icon {
  font-size: 1.5rem;
  color: #94a3b8;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.faq-item[open] summary iconify-icon {
  transform: rotate(180deg);
  color: var(--pflegori-blue);
}
.faq-answer {
  padding: 0 2rem 2rem;
  color: #475569;
  line-height: 1.625;
}
/* smooth slide/fade when an item opens (closing is animated by JS) */
.faq-item[open] .faq-answer {
  animation: faqOpen 0.3s ease;
}
@keyframes faqOpen {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .faq-item[open] .faq-answer {
    animation: none;
  }
}

.faq-cta {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}
.faq-cta p {
  font-size: 1.125rem;
  color: #475569;
}

.faq-image {
  margin-top: 4rem;
  overflow: hidden;
  border-radius: 2.5rem;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.faq-image img {
  width: 100%;
  height: 24rem;
  object-fit: cover;
}

/* ---- Contact (dark) ---- */
.contact-grid {
  gap: 4rem;
}
.contact-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.contact-text {
  font-size: 1.25rem;
  line-height: 1.625;
  color: #94a3b8;
}
.star-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.star-list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  font-weight: 700;
}
.star-list iconify-icon {
  color: var(--pflegori-orange);
  flex-shrink: 0;
}

.contact-channels {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding-top: 1rem;
}
/* Clickable channels (tel: / mailto:) — icon fills with its brand
   color and rings like an incoming call on hover */
.contact-channel {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: inherit;
  text-decoration: none;
}
.contact-channel-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}
.contact-channel:hover .contact-channel-icon {
  color: #ffffff;
  transform: translateY(-3px);
  animation: channelRing 0.5s ease;
}
.contact-channel:hover .contact-channel-icon.icon-blue {
  background-color: var(--pflegori-blue);
}
.contact-channel:hover .contact-channel-icon.icon-green {
  background-color: var(--pflegori-green);
}
.contact-channel:hover .contact-channel-value {
  color: #ffffff;
  text-decoration: underline;
}

@keyframes channelRing {
  0%,
  100% {
    transform: translateY(-3px) rotate(0);
  }
  25% {
    transform: translateY(-3px) rotate(-10deg);
  }
  50% {
    transform: translateY(-3px) rotate(10deg);
  }
  75% {
    transform: translateY(-3px) rotate(-6deg);
  }
}
.contact-channel-label {
  font-size: 0.75rem;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.contact-channel-value {
  font-weight: 700;
}

.contact-form-card {
  background-color: #ffffff;
  color: #0f172a;
  padding: 3rem;
  border-radius: 3.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.contact-form-card h3 {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.65rem;
  color: #0f172a;
  margin-bottom: 2rem;
}
.contact-form-card form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 0.5rem;
}
.form-field {
  width: 100%;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  outline: none;
  transition: all 0.2s ease;
}
.form-field:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px #dbeafe;
}
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.form-consent input[type="checkbox"] {
  margin-top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--pflegori-blue);
  flex-shrink: 0;
}
.form-consent label {
  font-size: 0.875rem;
  color: #64748b;
}
.form-consent a {
  color: var(--pflegori-blue);
  font-weight: 700;
}
.btn-submit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1.25rem 0;
  border-radius: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition: all 0.3s ease;
}
.btn-submit:hover {
  background-color: #1d4ed8;
}

/* ---- Floating action buttons (bottom right) ---- */
.floating-actions {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  z-index: 60;
}
.float-btn {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 9999px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  color: #ffffff;
  cursor: pointer;
  position: relative;
  box-shadow: 0 12px 30px -8px rgba(2, 6, 23, 0.45);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease;
}
.float-btn:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 18px 36px -10px rgba(2, 6, 23, 0.55);
}

/* Mail: gradient bubble with a radiating ping ring + occasional wiggle */
.float-btn--mail {
  background: linear-gradient(135deg, var(--pflegori-blue), #0052a3);
}
.float-btn--mail::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2px solid rgba(0, 102, 204, 0.55);
  animation: floatPing 2.4s ease-out infinite;
  pointer-events: none;
}
.float-btn--mail iconify-icon {
  animation: mailWiggle 5s ease-in-out infinite;
}

/* Back-to-top: hidden until scrolled; pops in with a springy ease */
.float-btn--top {
  background-color: #0f172a;
  opacity: 0;
  pointer-events: none;
  transform: translateY(1rem) scale(0.6);
  transition:
    opacity 0.35s ease,
    transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
    background-color 0.3s ease;
}
.float-btn--top.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.float-btn--top iconify-icon {
  transition: transform 0.3s ease;
}
.float-btn--top:hover {
  background-color: var(--pflegori-blue);
}
.float-btn--top:hover iconify-icon {
  transform: translateY(-3px);
}

@keyframes floatPing {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  70%,
  100% {
    transform: scale(1.7);
    opacity: 0;
  }
}
@keyframes mailWiggle {
  0%,
  86%,
  100% {
    transform: rotate(0);
  }
  90% {
    transform: rotate(-12deg);
  }
  94% {
    transform: rotate(12deg);
  }
  98% {
    transform: rotate(-6deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .float-btn--mail::after,
  .float-btn--mail iconify-icon {
    animation: none;
  }
}

/* Collapsible info section: fixed height with a faded bottom edge while
   wrapped; the "Mehr anzeigen" button (JS) toggles .expanded. */
.page-service .info-collapse {
  position: relative;
  max-height: 340px;
  overflow: hidden;
  transition: max-height 0.6s ease;
}
.page-service .info-collapse::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 130px;
  background: linear-gradient(to top, #ffffff, rgba(255, 255, 255, 0));
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.page-service .info-collapse.expanded {
  max-height: 6000px;
}
.page-service .info-collapse.expanded::after {
  opacity: 0;
}

/* ============================================================
   Page: Jobs & Karriere
   ============================================================ */

.page-career .hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.9) 0%,
    rgba(15, 23, 42, 0.4) 100%
  );
}
.page-career .card-zoom:hover img {
  transform: scale(1.05);
}

/* ============================================================
   Page: Kontakt
   ============================================================ */

.page-contact {
  --bg-slate: #f8fafc;
}
.page-contact .card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.page-contact .form-focus:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
  outline: none;
}

/* ============================================================
   Page: Management & Organisation
   ============================================================ */

.page-management .hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.92) 0%,
    rgba(15, 23, 42, 0.45) 100%
  );
}
.page-management .card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(0, 102, 204, 0.15);
}

/* ============================================================
   Page: Leistungen im Überblick
   ============================================================ */

.page-services .hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.92) 0%,
    rgba(15, 23, 42, 0.45) 100%
  );
}
.page-services .card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(0, 102, 204, 0.15);
}

/* ============================================================
   Page: Standorte & Partner
   ============================================================ */

.page-standorte .hero-gradient {
  background: linear-gradient(
    135deg,
    rgba(15, 23, 42, 0.92) 0%,
    rgba(15, 23, 42, 0.45) 100%
  );
}
.page-standorte .card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px -15px rgba(0, 102, 204, 0.15);
}

/* ============================================================
   Page: Vielen Dank
   ============================================================ */

body:has(.page-thankyou) {
  background-color: #fdf3ec;
}

.page-thankyou {
  --thankyou-bg: #fdf3ec; /* soft peach page background */
  --thankyou-card: #e7f5e1; /* pale green card */
  --thankyou-border: #d3ebc8; /* subtle green border */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-color: var(--thankyou-bg);
}

.page-thankyou .thankyou-card {
  width: 100%;
  max-width: 64rem;
  text-align: center;
  border-radius: 2.5rem;
  padding: 5rem 3rem;
  background-color: var(--thankyou-card);
  border: 1px solid var(--thankyou-border);
  box-shadow: 0 0 0 6px rgba(211, 235, 200, 0.35);
}

.page-thankyou .thankyou-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 1.25rem;
}

.page-thankyou .thankyou-text {
  color: #64748b;
  font-size: 1rem;
  line-height: 1.625;
  max-width: 42rem;
  margin: 0 auto 2.5rem;
}

.page-thankyou .thankyou-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.875rem 2rem;
  border-radius: 9999px;
  background-color: var(--pflegori-green);
  transition: all 0.3s ease;
}
.page-thankyou .thankyou-btn:hover {
  transform: scale(1.05);
}
.page-thankyou .thankyou-btn:active {
  transform: scale(0.95);
}

.page-thankyou .btn-green-shadow {
  box-shadow: 0 10px 20px -6px rgba(139, 195, 74, 0.45);
}

/* gentle fade-in on load (instead of the scroll reveal) */
.page-thankyou.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: none;
  animation: fadeInUp 0.7s ease forwards;
}
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-thankyou.reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* ============================================================
   Page: Unsere Leistungen — main content
   ============================================================ */

.page-shell:has(.page-services) {
  min-height: 100vh;
  background-color: #f8fafc;
}
main.page-services {
  padding-top: 5rem;
}

.page-services .services-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #0f172a;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.page-services .services-hero-bg {
  position: absolute;
  inset: 0;
}
.page-services .services-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-services .services-hero-overlay {
  position: absolute;
  inset: 0;
}
.page-services .services-hero-container {
  position: relative;
  width: 100%;
}
.page-services .services-hero-content {
  max-width: 48rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-services .services-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pflegori-green);
}
.page-services .services-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3.75rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #ffffff;
}
.page-services .services-hero-accent {
  color: var(--pflegori-blue);
  text-decoration: underline;
  text-decoration-color: var(--pflegori-green);
  text-underline-offset: 8px;
}
.page-services .services-hero-text {
  font-size: 1.25rem;
  line-height: 1.625;
  color: #e2e8f0;
  font-weight: 500;
}
.page-services .services-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 0.5rem;
}
.page-services .services-hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
}
.page-services .services-chip-icon--blue {
  color: var(--pflegori-blue);
}
.page-services .services-chip-icon--green {
  color: var(--pflegori-green);
}
.page-services .services-chip-icon--orange {
  color: var(--pflegori-orange);
}

.page-services .services-listing {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: #ffffff;
}
.page-services .services-listing-inner {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
.page-services .services-item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  align-items: center;
}
.page-services .services-media {
  position: relative;
  overflow: hidden;
  border-radius: 3rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-services .services-media-img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.page-services .services-media:hover .services-media-img {
  transform: scale(1.05);
}
.page-services .services-media-tag {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.page-services .services-media-tag--blue {
  color: var(--pflegori-blue);
}
.page-services .services-media-tag--green {
  color: var(--pflegori-green);
}
.page-services .services-media-tag--orange {
  color: var(--pflegori-orange);
}

.page-services .services-text {
  position: relative;
}
.page-services .services-text--first {
  order: 1;
}
.page-services .services-media--second {
  order: 2;
}

.page-services .services-number {
  position: absolute;
  top: -3rem;
  left: -0.5rem;
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 10rem;
  line-height: 1;
  color: #f1f5f9;
  user-select: none;
}
.page-services .services-text-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
}
.page-services .services-accent {
  width: 4rem;
  height: 0.25rem;
  border-radius: 9999px;
}
.page-services .services-accent--blue {
  background-color: var(--pflegori-blue);
}
.page-services .services-accent--green {
  background-color: var(--pflegori-green);
}
.page-services .services-accent--orange {
  background-color: var(--pflegori-orange);
}
.page-services .services-item-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  line-height: 1.2;
  color: #0f172a;
}
.page-services .services-item-desc {
  font-size: 1.125rem;
  line-height: 1.625;
  color: #475569;
}
.page-services .services-check-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.page-services .services-check-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #334155;
  font-weight: 600;
}
.page-services .services-check-bullet {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
}
.page-services .services-check-bullet--blue {
  background-color: #dbeafe;
  color: var(--pflegori-blue);
}
.page-services .services-check-bullet--green {
  background-color: #dcfce7;
  color: var(--pflegori-green);
}
.page-services .services-check-bullet--orange {
  background-color: #ffedd5;
  color: var(--pflegori-orange);
}
.page-services .services-cta-wrap {
  padding-top: 1rem;
}
.page-services .services-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #ffffff;
  padding: 1rem 2rem;
  border-radius: 9999px;
  font-weight: 700;
  transition: transform 0.3s ease;
}
.page-services .services-more-btn:hover {
  transform: scale(1.05);
}
.page-services .services-more-btn--blue {
  background-color: var(--pflegori-blue);
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
}
.page-services .services-more-btn--green {
  background-color: var(--pflegori-green);
  box-shadow:
    0 10px 15px -3px rgba(34, 197, 94, 0.3),
    0 4px 6px -4px rgba(34, 197, 94, 0.3);
}
.page-services .services-more-btn--orange {
  background-color: var(--pflegori-orange);
  box-shadow:
    0 10px 15px -3px rgba(249, 115, 22, 0.3),
    0 4px 6px -4px rgba(249, 115, 22, 0.3);
}

.page-services .services-additional {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: #f8fafc;
}
.page-services .services-additional-row {
  display: flex;
  gap: 4rem;
}
.page-services .services-additional-media {
  width: 50%;
  border-radius: 3rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-services .services-additional-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-services .services-additional-content {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-services .services-additional-head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
.page-services .services-additional-tag {
  color: var(--pflegori-orange);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}
.page-services .services-additional-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  line-height: 1.2;
  color: #0f172a;
}
.page-services .services-additional-desc {
  color: #475569;
}
.page-services .services-addon-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-services .services-addon-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f1f5f9;
}
.page-services .services-addon-icon {
  font-size: 1.5rem;
  color: var(--pflegori-orange);
  margin-top: 0.25rem;
}
.page-services .services-addon-title {
  font-weight: 700;
  color: #0f172a;
}
.page-services .services-addon-text {
  font-size: 0.75rem;
  color: #64748b;
}
.page-services .services-addon-note {
  color: #64748b;
  font-style: italic;
  font-size: 0.875rem;
  font-weight: 500;
  border-left: 2px solid var(--pflegori-orange);
  padding-left: 1rem;
}

.page-services .services-cta {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background-color: var(--pflegori-blue);
}
.page-services .services-cta-inner {
  max-width: 64rem;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.page-services .services-cta-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  line-height: 1.25;
  color: #ffffff;
}
.page-services .services-cta-text {
  font-size: 1.25rem;
  color: #dbeafe;
}
.page-services .services-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.page-services .services-cta-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.page-services .services-cta-btn iconify-icon {
  font-size: 1.5rem;
}
.page-services .services-cta-btn--light {
  background-color: #ffffff;
  color: var(--pflegori-blue);
}
.page-services .services-cta-btn--light:hover {
  background-color: #f1f5f9;
}
.page-services .services-cta-btn--green {
  background-color: var(--pflegori-green);
  color: #ffffff;
}
.page-services .services-cta-btn--green:hover {
  background-color: #16a34a;
}
.page-services .services-cta-meta {
  font-size: 0.75rem;
  color: #bfdbfe;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

/* ============================================================
   Page: Kontakt — main content
   ============================================================ */

.page-shell:has(.page-contact) {
  min-height: 100vh;
  background-color: var(--bg-slate);
}
main.page-contact {
  padding-top: 5rem;
}

.page-contact .contact-hero {
  position: relative;
  padding: 6rem 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  background-color: #0f172a;
}
.page-contact .contact-hero-bg {
  position: absolute;
  inset: 0;
  opacity: 0.4;
}
.page-contact .contact-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-contact .contact-hero-overlay {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(to top, #0f172a, transparent, transparent);
}
.page-contact .contact-hero-inner {
  position: relative;
  text-align: center;
}
.page-contact .contact-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--pflegori-green);
  margin-bottom: 1.5rem;
}
.page-contact .contact-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.25;
  color: #ffffff;
  margin-bottom: 1.5rem;
}
.page-contact .contact-hero-text {
  max-width: 42rem;
  margin: 0 auto 2.5rem;
  font-size: 1.25rem;
  line-height: 1.625;
  color: #cbd5e1;
}
.page-contact .contact-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem;
  border-radius: 9999px;
  background-color: rgba(0, 102, 204, 0.2);
  border: 1px solid rgba(0, 102, 204, 0.3);
  backdrop-filter: blur(16px);
}
.page-contact .contact-hero-pill iconify-icon {
  color: var(--pflegori-blue);
  font-size: 1.125rem;
}
.page-contact .contact-hero-pill span {
  color: #ffffff;
  font-weight: 700;
}

.page-contact .contact-cards {
  padding: 4rem 0;
}
.page-contact .contact-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.page-contact .info-card {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border: 1px solid #f1f5f9;
}
.page-contact .info-card-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
  margin-bottom: 1.5rem;
}
.page-contact .info-card-icon--blue {
  background-color: #eff6ff;
  color: var(--pflegori-blue);
}
.page-contact .info-card-icon--green {
  background-color: #f0fdf4;
  color: var(--pflegori-green);
}
.page-contact .info-card-icon--orange {
  background-color: #fff7ed;
  color: var(--pflegori-orange);
}
.page-contact .info-card-icon--slate {
  background-color: #f8fafc;
  color: #334155;
}
.page-contact .info-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.25rem;
}
.page-contact .info-card-sub {
  color: #475569;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.page-contact .info-card-value {
  display: block;
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
}
.page-contact .info-card-value--sm {
  font-size: 1.125rem;
}
.page-contact .info-card-value--md {
  font-size: 1rem;
}
.page-contact .info-card-value--break {
  word-break: break-all;
}

/* tel / mailto / maps links inside the contact cards */
a.info-card-value:hover {
  color: var(--pflegori-blue);
  text-decoration: underline;
}

.page-contact .contact-form-section {
  padding: 6rem 0;
}
.page-contact .contact-panel {
  background-color: #ffffff;
  border-radius: 3rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  display: flex;
  flex-direction: row;
}
.page-contact .contact-panel-form {
  width: 60%;
  padding: 4rem;
}
.page-contact .contact-panel-head {
  margin-bottom: 3rem;
}
.page-contact .contact-panel-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  color: #0f172a;
  margin-bottom: 1rem;
}
.page-contact .contact-panel-lead {
  color: #475569;
}
.page-contact .contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.page-contact .contact-panel-info {
  width: 40%;
  background-color: #0f172a;
  padding: 4rem;
  color: #ffffff;
}
.page-contact .contact-info-stack {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.page-contact .contact-info-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-contact .contact-info-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
.page-contact .contact-info-text {
  color: #94a3b8;
  line-height: 1.625;
}
.page-contact .contact-info-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pflegori-green);
  font-weight: 700;
  transition: gap 0.3s ease;
}
.page-contact .contact-info-link:hover {
  gap: 0.75rem;
}
.page-contact .contact-info-divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}
.page-contact .contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-contact .contact-info-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #94a3b8;
  font-size: 0.875rem;
}
.page-contact .contact-info-list iconify-icon {
  color: var(--pflegori-green);
  font-size: 1.125rem;
}
.page-contact .contact-info-map-wrap {
  padding-top: 2rem;
}
.page-contact .contact-info-map {
  border-radius: 1.5rem;
  overflow: hidden;
  height: 12rem;
  background-color: #1e293b;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-contact .contact-info-map iconify-icon {
  font-size: 3.75rem;
  color: rgba(255, 255, 255, 0.2);
}

.page-contact .contact-faq {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-contact .contact-faq .faq-list {
  max-width: 56rem;
}
.page-contact .contact-faq-lead {
  color: #475569;
}

.page-contact .contact-areas {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-contact .areas-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
.page-contact .areas-title {
  line-height: 1.25;
}
.page-contact .areas-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  width: 100%;
}
.page-contact .area-chip {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  background-color: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 1rem;
}
.page-contact .area-chip span {
  font-weight: 700;
  color: #0f172a;
}
.page-contact .area-chip-italic {
  font-style: italic;
}
.page-contact .areas-note {
  font-size: 0.875rem;
  color: #64748b;
}
.page-contact .areas-media {
  position: relative;
  height: 400px;
  border-radius: 3.5rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-contact .areas-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-contact .areas-media-overlay {
  position: absolute;
  inset: 0;
  background-color: rgb(0 102 204 / 67%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-contact .areas-media-card {
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(24px);
  padding: 2rem;
  border-radius: 1.5rem;
  text-align: center;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  border: 1px solid #ffffff;
}
.page-contact .areas-media-card iconify-icon {
  font-size: 3rem;
  color: var(--pflegori-blue);
  margin-bottom: 1rem;
}
.page-contact .areas-media-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
}
.page-contact .areas-media-text {
  font-size: 0.875rem;
  color: #475569;
}

.page-contact .contact-testimonials {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-contact .testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.page-contact .testimonial-card {
  background-color: #ffffff;
  padding: 2.5rem;
  border-radius: 2.5rem;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-contact .testimonial-stars {
  display: flex;
  color: var(--pflegori-orange);
  font-size: 1.25rem;
}
.page-contact .testimonial-quote {
  color: #475569;
  font-style: italic;
  line-height: 1.625;
}
.page-contact .testimonial-name {
  font-weight: 700;
  color: #0f172a;
}
.page-contact .testimonial-role {
  font-size: 0.75rem;
  color: #64748b;
}

.page-contact .contact-cta {
  padding: 6rem 0;
  background-color: var(--pflegori-blue);
}
.page-contact .contact-cta-inner {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-contact .contact-cta-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  line-height: 1.25;
  color: #ffffff;
}
.page-contact .contact-cta-text {
  font-size: 1.25rem;
  color: #dbeafe;
}
.page-contact .contact-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.page-contact .contact-cta-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.page-contact .contact-cta-btn iconify-icon {
  font-size: 1.5rem;
}
.page-contact .contact-cta-btn--white {
  background-color: #ffffff;
  color: var(--pflegori-blue);
}
.page-contact .contact-cta-btn--white:hover {
  background-color: #f1f5f9;
}
.page-contact .contact-cta-btn--green {
  background-color: var(--pflegori-green);
  color: #ffffff;
}
.page-contact .contact-cta-btn--green:hover {
  background-color: #16a34a;
}
.page-contact .contact-cta-footnote {
  font-size: 0.75rem;
  color: #bfdbfe;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

/* ============================================================
   Page: Management & Organisation — main content
   ============================================================ */

.mgmt-page {
  min-height: 100vh;
  background-color: #f8fafc;
}
main.page-management {
  padding-top: 5rem;
}

.page-management .mgmt-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #0f172a;
  padding: 0;
}
.page-management .mgmt-hero-bg {
  position: absolute;
  inset: 0;
}
.page-management .mgmt-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-management .mgmt-hero-overlay {
  position: absolute;
  inset: 0;
}
.page-management .mgmt-hero-inner {
  position: relative;
  width: 100%;
}
.page-management .mgmt-hero-grid {
  align-items: center;
}

.page-management .mgmt-hero-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-management .mgmt-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pflegori-green);
}
.page-management .mgmt-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #ffffff;
}
.page-management .mgmt-hero-underline {
  text-decoration: underline;
  text-decoration-color: var(--pflegori-green);
  text-underline-offset: 8px;
}
.page-management .mgmt-hero-text {
  font-size: 1.25rem;
  line-height: 1.625;
  font-weight: 500;
  color: #e2e8f0;
}
.page-management .mgmt-hero-actions {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding-top: 1rem;
}
.page-management .mgmt-hero-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition: background-color 0.3s ease;
}
.page-management .mgmt-hero-btn:hover {
  background-color: #1d4ed8;
}
.page-management .mgmt-hero-btn iconify-icon,
.page-management .mgmt-hero-btn-ghost iconify-icon {
  font-size: 1.5rem;
}
.page-management .mgmt-hero-btn-ghost {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  transition: background-color 0.3s ease;
}
.page-management .mgmt-hero-btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.page-management .mgmt-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.page-management .mgmt-stat-card {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2rem;
  padding: 2rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.page-management .mgmt-stat-icon {
  font-size: 1.875rem;
}
.page-management .mgmt-stat-number {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
}
.page-management .mgmt-stat-label {
  font-size: 0.875rem;
  color: #cbd5e1;
}

.page-management .mgmt-section-head {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-management .mgmt-section-head .section-title {
  color: #0f172a;
}
.page-management .mgmt-section-head .body-text {
  color: #475569;
}

/* Führung (split grid) */
/* ---- Über pflegori (intro) — content + creatively framed image ---- */
.page-management .mgmt-about {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-management .mgmt-about-grid {
  align-items: center;
}
.page-management .mgmt-about-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
}
.page-management .mgmt-about-title {
  position: relative;
  padding-bottom: 1.25rem;
}
.page-management .mgmt-about-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 4rem;
  height: 0.25rem;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--pflegori-blue), var(--pflegori-green));
}
.page-management .mgmt-about-text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-management .mgmt-about-media {
  position: relative;
}
.page-management .mgmt-about-img {
  position: relative;
  border-radius: 2.5rem;
  overflow: hidden;
  box-shadow: 0 24px 48px -16px rgba(15, 23, 42, 0.2);
}
.page-management .mgmt-about-img img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
}
.page-management .mgmt-about-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 23, 42, 0.28), transparent 42%);
  pointer-events: none;
}
.page-management .mgmt-about-badge {
  position: absolute;
  z-index: 2;
  left: 1.25rem;
  bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.95);
  padding: 0.6rem 1.1rem;
  border-radius: 9999px;
  box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.25);
  font-weight: 700;
  font-size: 0.85rem;
  color: #0f172a;
}
.page-management .mgmt-about-badge iconify-icon {
  font-size: 1.1rem;
}

/* ---- Geschäftsführung — a letter-style quote card on a tinted band ---- */
.page-management .mgmt-ceo {
  padding: 6rem 0;
  background-color: #f8fafc;
}
/* photo column 0.8fr, message column 1.2fr (gap/align inherited from .grid-2col) */
.page-management .mgmt-ceo-grid {
  grid-template-columns: 0.8fr 1.2fr;
}
.page-management .mgmt-ceo-figure {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-management .mgmt-ceo-content {
  position: relative;
  border-radius: 1.75rem;
  /* full gradient border (blue -> green) via padding-box/border-box backgrounds,
     so it follows the rounded corners on all four sides */
  border: 2px solid transparent;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(to bottom, var(--pflegori-blue), var(--pflegori-green)) border-box;
  padding: 2.5rem 2.5rem 2rem;
  box-shadow: 0 30px 60px -22px rgba(15, 23, 42, 0.2);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  overflow: hidden;
}
/* oversized, faint decorative opening quote */
.page-management .mgmt-ceo-content::before {
  content: "\201C";
  position: absolute;
  top: 0.75rem;
  right: 1.5rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 7rem;
  line-height: 1;
  color: var(--pflegori-blue);
  opacity: 0.08;
  pointer-events: none;
}
.page-management .mgmt-ceo-content .section-tag {
  background-color: rgba(0, 102, 204, 0.09);
  padding: 0.4rem 0.9rem;
  border-radius: 9999px;
}
.page-management .mgmt-ceo-content .section-title {
  font-size: 1.6rem;
}
.page-management .mgmt-ceo-content .body-text {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #475569;
}
.page-management .mgmt-ceo-sign {
  margin-top: 0.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #eef2f7;
  width: 100%;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #64748b;
}
.page-management .mgmt-ceo-sign strong {
  color: var(--pflegori-blue);
  font-size: 1.05rem;
}

/* ---- Führungsteam — content panel with a soft side accent ---- */
.page-management .mgmt-leadership {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-management .mgmt-leadership-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

.page-management .mgmt-organisation {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-management .mgmt-org-accent {
  height: 0.25rem;
  width: 6rem;
  margin: 0 auto;
  border-radius: 9999px;
  background-color: var(--pflegori-blue);
}
.page-management .mgmt-org-title {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.page-management .mgmt-org-top, .page-management .mgmt-org-top-2 {
  max-width: 28rem;
  margin: 0 auto;
}
.page-management .mgmt-org-lead, .page-management .mgmt-org-lead-2 {
  background-color: #0f172a;
  color: #ffffff;
  padding: 2rem;
  border-radius: 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.page-management .mgmt-org-lead-2 {
	background: linear-gradient(135deg, var(--pflegori-blue), #0052a3) !important;
}
.page-management .mgmt-org-lead-icon-2 {
	  background-color: #ffffff !important;
}
.page-management .mgmt-org-lead-text-2 {
  font-size: 0.875rem;
  color: #bec6d1;
}
.page-management .mgmt-org-lead-icon, .page-management .mgmt-org-lead-icon-2 {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
}
.page-management .mgmt-org-lead-title, .page-management .mgmt-org-lead-title-2 {
  font-size: 1.25rem;
  font-weight: 700;
}
.page-management .mgmt-org-lead-text {
  font-size: 0.875rem;
  color: #94a3b8;
}

.page-management .mgmt-org-connector {
  width: 1px;
  height: 3rem;
  margin: 0 auto;
  background-color: #cbd5e1;
}

.page-management .mgmt-org-level {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.page-management .mgmt-org-card {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 2rem;
  border-top: 4px solid transparent;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.page-management .mgmt-org-card--blue {
  border-top-color: var(--pflegori-blue);
}
.page-management .mgmt-org-card--green {
  border-top-color: var(--pflegori-green);
}
.page-management .mgmt-org-card--orange {
  border-top-color: var(--pflegori-orange);
}
.page-management .mgmt-org-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}
.page-management .mgmt-org-icon--blue {
  background-color: #dbeafe;
}
.page-management .mgmt-org-icon--green {
  background-color: #dcfce7;
}
.page-management .mgmt-org-icon--orange {
  background-color: #ffedd5;
}

.page-management .mgmt-org-card-title {
  font-weight: 700;
  color: #0f172a;
}
.page-management .mgmt-org-card-text {
  font-size: 0.75rem;
  color: #64748b;
}

.page-management .mgmt-org-teams {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.page-management .mgmt-org-team {
  background-color: #ffffff;
  padding: 1.5rem;
  border-radius: 2rem;
  border: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-management .mgmt-org-team-icon {
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.page-management .mgmt-org-team-icon--blue {
  background-color: #eff6ff;
}
.page-management .mgmt-org-team-icon--green {
  background-color: #f0fdf4;
}
.page-management .mgmt-org-team-icon--orange {
  background-color: #fff7ed;
}
.page-management .mgmt-org-team-icon--red
 {
    background-color: #ff7f7f40 ;
}
.page-management .mgmt-org-team-title {
  font-weight: 700;
  color: #0f172a;
}
.page-management .mgmt-org-team-text {
  font-size: 0.75rem;
  color: #64748b;
}

.page-management .mgmt-quality {
  padding: 6rem 0;
  background-color: #0f172a;
  color: #ffffff;
}
.page-management .mgmt-quality-layout {
  display: flex;
  flex-direction: row;
  gap: 4rem;
  align-items: center;
}
.page-management .mgmt-quality-intro {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-management .mgmt-quality-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  font-weight: 700;
}
.page-management .mgmt-quality-text {
  line-height: 1.625;
  color: #94a3b8;
}
.page-management .mgmt-quality-score {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.page-management .mgmt-quality-score-number {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
}
.page-management .mgmt-quality-score-title {
  font-weight: 700;
}
.page-management .mgmt-quality-score-text {
  font-size: 0.875rem;
  color: #64748b;
}

.page-management .mgmt-quality-grid {
  width: 50%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-management .mgmt-quality-card {
  padding: 2rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: background-color 0.3s ease;
}
.page-management .mgmt-quality-card:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page-management .mgmt-quality-card-icon {
  font-size: 1.875rem;
}
.page-management .mgmt-quality-card-title {
  font-weight: 700;
}
.page-management .mgmt-quality-card-text {
  font-size: 0.75rem;
  color: #64748b;
}

.page-management .mgmt-principles {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-management .mgmt-principles-head {
  text-align: center;
}
.page-management .mgmt-principles-head .section-title {
  color: #0f172a;
}
.page-management .mgmt-principles-head .body-text {
  color: #475569;
  margin-top: 1rem;
}
.page-management .mgmt-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.page-management .mgmt-principle-card {
  position: relative;
  padding: 2.5rem;
  background-color: #f8fafc;
  border-radius: 3rem;
  border: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  transition: all 0.3s ease;
}
.page-management .mgmt-principle-card:hover {
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.page-management .mgmt-principle-num {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.875rem;
}
.page-management .mgmt-principle-num--blue {
  background-color: #dbeafe;
}
.page-management .mgmt-principle-num--green {
  background-color: #dcfce7;
}
.page-management .mgmt-principle-num--orange {
  background-color: #ffedd5;
}
.page-management .mgmt-principle-title {
  font-weight: 700;
  font-size: 1.25rem;
  color: #0f172a;
}
.page-management .mgmt-principle-text {
  font-size: 0.875rem;
  line-height: 1.625;
  color: #64748b;
}

.page-management .mgmt-cta {
  padding: 6rem 0;
  background-color: var(--pflegori-blue);
}
.page-management .mgmt-cta-inner {
  max-width: 64rem;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.page-management .mgmt-cta-title {
  font-family: "Cabinet Grotesk", sans-serif;
  color: #ffffff;
  font-size: 3rem;
  line-height: 1.25;
}
.page-management .mgmt-cta-text {
  font-size: 1.25rem;
  color: #dbeafe;
}
.page-management .mgmt-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.page-management .mgmt-cta-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.page-management .mgmt-cta-btn iconify-icon {
  font-size: 1.5rem;
}
.page-management .mgmt-cta-btn--white {
  background-color: #ffffff;
  color: var(--pflegori-blue);
}
.page-management .mgmt-cta-btn--white:hover {
  background-color: #f1f5f9;
}
.page-management .mgmt-cta-btn--green {
  background-color: var(--pflegori-green);
  color: #ffffff;
}
.page-management .mgmt-cta-btn--green:hover {
  background-color: #16a34a;
}
.page-management .mgmt-cta-tagline {
  font-size: 0.75rem;
  color: #bfdbfe;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

/* ============================================================
   Page: Standorte & Partner — main content
   ============================================================ */

.locations-shell {
  min-height: 100vh;
  background-color: #f8fafc;
}
main.page-standorte {
  padding-top: 5rem;
}

.page-standorte .locations-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #0f172a;
  padding: 5rem 0;
}
.page-standorte .locations-hero-bg {
  position: absolute;
  inset: 0;
}
.page-standorte .locations-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-standorte .locations-hero-overlay {
  position: absolute;
  inset: 0;
}
.page-standorte .locations-hero-container {
  position: relative;
  width: 100%;
}
.page-standorte .locations-hero-grid {
  gap: 4rem;
}

.page-standorte .locations-hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.page-standorte .locations-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pflegori-green);
}
.page-standorte .locations-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #ffffff;
}
.page-standorte .locations-hero-title-accent {
  color: var(--pflegori-blue);
  text-decoration: underline;
  text-decoration-color: var(--pflegori-green);
  text-underline-offset: 8px;
}
.page-standorte .locations-hero-lead {
  font-size: 1.25rem;
  line-height: 1.625;
  font-weight: 500;
  color: #e2e8f0;
}
.page-standorte .locations-hero-actions {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding-top: 1rem;
}
.page-standorte .locations-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition: background-color 0.3s ease;
}
.page-standorte .locations-hero-btn:hover {
  background-color: #1d4ed8;
}
.page-standorte .locations-hero-btn iconify-icon {
  font-size: 1.5rem;
}
.page-standorte .locations-hero-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  transition: background-color 0.3s ease;
}
.page-standorte .locations-hero-btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.page-standorte .locations-hero-btn-ghost iconify-icon {
  font-size: 1.5rem;
}

.page-standorte .locations-hero-trust {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.875rem;
  font-weight: 600;
}
.page-standorte .locations-hero-avatars {
  display: flex;
}
.page-standorte .locations-hero-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  border: 2px solid #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}
.page-standorte .locations-hero-avatar + .locations-hero-avatar {
  margin-left: -0.5rem;
}
.page-standorte .locations-hero-avatar--blue {
  background-color: #3b82f6;
}
.page-standorte .locations-hero-avatar--green {
  background-color: #22c55e;
}
.page-standorte .locations-hero-avatar--orange {
  background-color: #f97316;
}

.page-standorte .locations-hero-card-wrap {
  width: 100%;
}
.page-standorte .locations-hero-card {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2.5rem;
  padding: 2.5rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-standorte .locations-hero-card-head {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-standorte .locations-hero-card-icon {
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--pflegori-blue);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
  flex-shrink: 0;
}
.page-standorte .locations-hero-card-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  line-height: 1.2;
}
.page-standorte .locations-hero-card-sub {
  font-size: 0.875rem;
  color: #cbd5e1;
}
.page-standorte .locations-hero-card-divider {
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}
.page-standorte .locations-hero-card-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: 0.875rem;
}
.page-standorte .locations-hero-card-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page-standorte .locations-hero-card-list iconify-icon {
  color: var(--pflegori-green);
  font-size: 1.125rem;
  flex-shrink: 0;
}
.page-standorte .locations-hero-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pflegori-green);
  font-weight: 700;
  transition: gap 0.3s ease;
}
.page-standorte .locations-hero-card-link:hover {
  gap: 0.75rem;
}

.page-standorte .locations-hq {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-standorte .locations-hq-panel {
  background-color: #0f172a;
  border-radius: 3.5rem;
  overflow: hidden;
  color: #ffffff;
  display: flex;
  flex-direction: row;
}
.page-standorte .locations-hq-text {
  width: 50%;
  padding: 5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-standorte .locations-hq-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  font-weight: 700;
  align-self: flex-start;
}
.page-standorte .locations-hq-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  line-height: 1.2;
}
.page-standorte .locations-hq-lead {
  color: #94a3b8;
  line-height: 1.625;
}
.page-standorte .locations-hq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-standorte .locations-hq-feature {
  padding: 1.5rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.page-standorte .locations-hq-feature iconify-icon {
  font-size: 1.875rem;
}
.page-standorte .locations-hq-feature h6 {
  font-weight: 700;
}
.page-standorte .locations-hq-feature p {
  font-size: 0.75rem;
  color: #64748b;
}
.page-standorte .locations-hq-map {
  width: 50%;
  position: relative;
  background-color: #1e293b;
}
.page-standorte .locations-hq-map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}
.page-standorte .locations-hq-map-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-color: rgb(0 82 163 / 65%);
}
.page-standorte .locations-hq-map-card {
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  padding: 2rem;
  border-radius: 1.5rem;
  text-align: center;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  border: 1px solid #ffffff;
  max-width: 20rem;
}
.page-standorte .locations-hq-map-card iconify-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
}
.locations-hq-map-link iconify-icon {
  margin-bottom: 0 !important;
}
.locations-hq-map-link iconify-icon svg {
  width: 20px !important;
  height: 20px !important;
}
.page-standorte .locations-hq-map-card h5 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
}
.page-standorte .locations-hq-map-card p {
  font-size: 0.875rem;
  color: #475569;
  margin-bottom: 1rem;
}
.page-standorte .locations-hq-map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--pflegori-blue);
  font-weight: 700;
  font-size: 0.875rem;
  transition: gap 0.3s ease;
}
.page-standorte .locations-hq-map-link:hover {
  gap: 0.75rem;
}

.page-standorte .locations-areas {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-standorte .locations-areas-head {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
.page-standorte .locations-areas-head .body-text {
  margin-top: 1rem;
}
.page-standorte .locations-areas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.page-standorte .locations-area-card {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 2rem;
  border: 1px solid #f1f5f9;
  transition: all 0.3s ease;
}
.page-standorte .locations-area-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.page-standorte .locations-area-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}
.page-standorte .locations-area-icon--blue {
  background-color: #dbeafe;
  color: var(--pflegori-blue);
}
.page-standorte .locations-area-icon--green {
  background-color: #dcfce7;
  color: var(--pflegori-green);
}
.page-standorte .locations-area-icon--orange {
  background-color: #ffedd5;
  color: var(--pflegori-orange);
}
.page-standorte .locations-area-icon--light {
  background-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.page-standorte .locations-area-card h5 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
}
.page-standorte .locations-area-card p {
  font-size: 0.875rem;
  color: #64748b;
}
.page-standorte .locations-area-card--accent {
  background-color: var(--pflegori-blue);
  border-color: var(--pflegori-blue);
  color: #ffffff;
}
.page-standorte .locations-area-card--accent h5 {
  color: #ffffff;
}
.page-standorte .locations-area-card--accent p {
  color: #dbeafe;
}

.page-standorte .locations-partner {
  padding: 6rem 0;
  background-color: #0f172a;
  color: #ffffff;
}
.page-standorte .locations-partner-head {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
.page-standorte .locations-partner-lead {
  margin-top: 1rem;
  color: #94a3b8;
}
.page-standorte .locations-partner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.page-standorte .locations-partner-card {
  padding: 2rem;
  border-radius: 1.5rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: background-color 0.3s ease;
}
.page-standorte .locations-partner-card:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page-standorte .locations-partner-card iconify-icon {
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
  display: inline-block;
}
.page-standorte .locations-partner-card h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.page-standorte .locations-partner-card p {
  font-size: 0.875rem;
  color: #94a3b8;
}

.page-standorte .locations-benefits {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-standorte .locations-benefits-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
.page-standorte .locations-benefits-accent {
  width: 5rem;
  height: 0.5rem;
  background-color: var(--pflegori-green);
  border-radius: 9999px;
}
.page-standorte .locations-benefits-content .section-title {
  color: #0f172a;
  line-height: 1.25;
}

.page-standorte .locations-cta {
  padding: 6rem 0;
  background-color: var(--pflegori-blue);
}
.page-standorte .locations-cta-inner {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.page-standorte .locations-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.page-standorte .locations-cta-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  line-height: 1.25;
  color: #ffffff;
}
.page-standorte .locations-cta-lead {
  font-size: 1.25rem;
  color: #dbeafe;
}
.page-standorte .locations-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  padding-top: 1rem;
}
.page-standorte .locations-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.page-standorte .locations-cta-btn iconify-icon {
  font-size: 1.5rem;
}
.page-standorte .locations-cta-btn--light {
  background-color: #ffffff;
  color: var(--pflegori-blue);
}
.page-standorte .locations-cta-btn--light:hover {
  background-color: #f1f5f9;
}
.page-standorte .locations-cta-btn--green {
  background-color: var(--pflegori-green);
  color: #ffffff;
}
.page-standorte .locations-cta-btn--green:hover {
  background-color: #16a34a;
}
.page-standorte .locations-cta-note {
  font-size: 0.75rem;
  color: #bfdbfe;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.dropdown-item.nav-link--active {
  font-weight: 700;
  color: var(--pflegori-blue);
  background-color: rgba(219, 234, 254, 0.6);
}

/* ============================================================
   Page: Jobs & Karriere — main content
   ============================================================ */

.career-shell {
  min-height: 100vh;
  background-color: #f8fafc;
}
main.page-career {
  padding-top: 5rem;
}

.page-career .career-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #0f172a;
}
.page-career .career-hero-bg {
  position: absolute;
  inset: 0;
}
.page-career .career-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-career .career-hero-overlay {
  position: absolute;
  inset: 0;
}

.page-career .career-hero-inner {
  position: relative;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
}
.page-career .career-hero-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  align-items: center;
}
.page-career .career-hero-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-career .career-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pflegori-green);
}
.page-career .career-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #ffffff;
}
.page-career .career-hero-title-accent {
  color: var(--pflegori-blue);
}
.page-career .career-hero-lead {
  font-size: 1.5rem;
  line-height: 1.625;
  color: #e2e8f0;
}
.page-career .career-hero-actions {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
.page-career .career-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  transition: all 0.3s ease;
}
.page-career .career-hero-btn--primary {
  background-color: var(--pflegori-blue);
  color: #ffffff;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
}
.page-career .career-hero-btn--primary:hover {
  background-color: #1d4ed8;
}
.page-career .career-hero-btn--ghost {
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.page-career .career-hero-btn--ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.page-career .career-hero-btn-icon {
  font-size: 1.5rem;
  transition: transform 0.3s ease;
}
.page-career .career-hero-btn--primary:hover .career-hero-btn-icon {
  transform: scale(1.1);
}

.page-career .career-hero-social {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 2rem;
}
.page-career .career-hero-avatars {
  display: flex;
}
.page-career .career-hero-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  border: 2px solid #0f172a;
}
.page-career .career-hero-avatar + .career-hero-avatar {
  margin-left: -1rem;
}
.page-career .career-hero-social-text {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.page-career .career-hero-social-strong {
  color: #ffffff;
  font-weight: 700;
}

.page-career .career-apply-card {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(24px);
  padding: 3rem;
  border-radius: 3.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-career .career-apply-head {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.page-career .career-apply-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: #eff6ff;
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  font-weight: 700;
}
.page-career .career-apply-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.875rem;
  color: #0f172a;
}
.page-career .career-apply-text {
  color: #475569;
}
.page-career .career-apply-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.page-career .career-apply-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.page-career .career-apply-field {
  width: 100%;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  outline: none;
  transition: all 0.2s ease;
}
.page-career .career-apply-field:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px #dbeafe;
}
.page-career .career-apply-submit {
  width: 100%;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1.25rem 0;
  border-radius: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
  transition: all 0.3s ease;
}
.page-career .career-apply-submit:hover {
  transform: scale(1.02);
}
.page-career .career-apply-submit:active {
  transform: scale(0.95);
}
.page-career .career-apply-disclaimer {
  text-align: center;
  font-size: 10px;
  color: #94a3b8;
}

.page-career .career-why-us {
  background-color: #ffffff;
  padding: 6rem 0;
}
.page-career .career-section-head {
  text-align: center;
  max-width: 48rem;
  margin: 0 auto 5rem;
}
.page-career .career-section-head--tight {
  margin-bottom: 4rem;
}
.page-career .career-why-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  color: #0f172a;
  margin-bottom: 1.5rem;
}
.page-career .career-why-text {
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #475569;
}
.page-career .career-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.page-career .career-value-card {
  padding: 2.5rem;
  background-color: #f8fafc;
  border-radius: 3rem;
  border: 1px solid #f1f5f9;
  transition: all 0.5s ease;
}
.page-career .career-value-card--blue:hover {
  background-color: #ffffff;
  box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.1);
}
.page-career .career-value-card--green:hover {
  background-color: #ffffff;
  box-shadow: 0 25px 50px -12px rgba(34, 197, 94, 0.1);
}
.page-career .career-value-card--orange:hover {
  background-color: #ffffff;
  box-shadow: 0 25px 50px -12px rgba(249, 115, 22, 0.1);
}
.page-career .career-value-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
  margin-bottom: 2rem;
  transition: transform 0.3s ease;
}
.page-career .career-value-card:hover .career-value-icon {
  transform: scale(1.1);
}
.page-career .career-value-card--blue .career-value-icon {
  background-color: #dbeafe;
}
.page-career .career-value-card--green .career-value-icon {
  background-color: #dcfce7;
}
.page-career .career-value-card--orange .career-value-icon {
  background-color: #ffedd5;
}
.page-career .career-value-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.page-career .career-value-text {
  font-size: 0.875rem;
  line-height: 1.625;
  color: #475569;
}

.page-career .career-positions {
  position: relative;
  background-color: #0f172a;
  color: #ffffff;
  padding: 6rem 0;
  overflow: hidden;
}
.page-career .career-positions-inner {
  position: relative;
  z-index: 10;
}
.page-career .career-positions-head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: 4rem;
}
.page-career .career-positions-intro {
  max-width: 36rem;
}
.page-career .career-positions-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  margin-bottom: 1rem;
}
.page-career .career-positions-text {
  color: #94a3b8;
}
.page-career .career-positions-nav {
  display: flex;
  gap: 1rem;
}
.page-career .career-positions-arrow {
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  color: inherit;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.page-career .career-positions-arrow:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page-career .career-jobs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.page-career .career-job-card {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 2rem;
  border-radius: 3rem;
  transition: all 0.3s ease;
}
.page-career .career-job-card--blue:hover {
  border-color: var(--pflegori-blue);
}
.page-career .career-job-card--green:hover {
  border-color: var(--pflegori-green);
}
.page-career .career-job-card--orange:hover {
  border-color: var(--pflegori-orange);
}
.page-career .career-job-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.page-career .career-job-tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 9999px;
}
.page-career .career-job-tag--blue {
  background-color: var(--pflegori-blue);
}
.page-career .career-job-tag--green {
  background-color: var(--pflegori-green);
}
.page-career .career-job-tag--orange {
  background-color: var(--pflegori-orange);
}
.page-career .career-job-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 1rem;
}
.page-career .career-job-cat {
  font-size: 0.875rem;
  font-weight: 700;
  margin-top: 0.25rem;
}
.page-career .career-job-cat--blue {
  color: var(--pflegori-blue);
}
.page-career .career-job-cat--green {
  color: var(--pflegori-green);
}
.page-career .career-job-cat--orange {
  color: var(--pflegori-orange);
}
.page-career .career-job-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  background-color: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.5rem;
}
.page-career .career-job-desc {
  font-size: 0.875rem;
  color: #94a3b8;
  margin-bottom: 2rem;
}
.page-career .career-job-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: #ffffff;
  color: #0f172a;
  padding: 1rem 0;
  border-radius: 1rem;
  font-weight: 700;
  transition: all 0.3s ease;
}
.page-career .career-job-btn--blue:hover {
  background-color: var(--pflegori-blue);
  color: #ffffff;
}
.page-career .career-job-btn--green:hover {
  background-color: var(--pflegori-green);
  color: #ffffff;
}
.page-career .career-job-btn--orange:hover {
  background-color: var(--pflegori-orange);
  color: #ffffff;
}

.page-career .career-benefits {
  background-color: #ffffff;
  padding: 6rem 0;
}
.page-career .career-benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  align-items: center;
}
.page-career .career-benefits-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-career .career-benefits-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3rem;
  color: #0f172a;
}
.page-career .career-benefits-text {
  color: #475569;
}
.page-career .career-benefits-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  padding-top: 1.5rem;
}
.page-career .career-benefit-chip {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #f1f5f9;
}
.page-career .career-benefit-icon {
  font-size: 1.875rem;
}
.page-career .career-benefit-label {
  font-weight: 700;
  color: #334155;
}
.page-career .career-benefits-media {
  position: relative;
  display: flex;
  justify-content: flex-end;
}
.page-career .career-benefits-frame {
  position: relative;
  width: 100%;
  max-width: 28rem;
  aspect-ratio: 1 / 1;
  background-color: var(--pflegori-blue);
  border-radius: 4rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-career .career-benefits-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: overlay;
}
.page-career .career-benefits-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-career .career-benefits-callout {
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  padding: 2rem;
  border-radius: 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.page-career .career-benefits-callout-icon {
  font-size: 3rem;
  color: var(--pflegori-blue);
  margin-bottom: 0.5rem;
}
.page-career .career-benefits-callout-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  color: #0f172a;
}
.page-career .career-benefits-callout-text {
  font-size: 0.875rem;
  color: #475569;
}

.page-career .career-process {
  background-color: #f8fafc;
  padding: 6rem 0;
}
.page-career .career-process-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  color: #0f172a;
}
.page-career .career-process-text {
  color: #475569;
  margin-top: 1rem;
}
.page-career .career-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.page-career .career-step-card {
  position: relative;
  padding: 2.5rem;
  background-color: #ffffff;
  border-radius: 3rem;
  border: 1px solid #f1f5f9;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  transition: all 0.3s ease;
}
.page-career .career-step-card:hover {
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.page-career .career-step-num {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.875rem;
}
.page-career .career-step-num--blue {
  background-color: #dbeafe;
  color: var(--pflegori-blue);
}
.page-career .career-step-num--green {
  background-color: #dcfce7;
  color: var(--pflegori-green);
}
.page-career .career-step-num--orange {
  background-color: #ffedd5;
  color: var(--pflegori-orange);
}
.page-career .career-step-num--dark {
  background-color: #2563eb;
  color: #ffffff;
}
.page-career .career-step-title {
  font-weight: 700;
  font-size: 1.25rem;
}
.page-career .career-step-text {
  font-size: 0.875rem;
  color: #64748b;
}

.page-career .career-voices {
  background-color: #ffffff;
  padding: 6rem 0;
  overflow: hidden;
}
.page-career .career-voices-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  color: #0f172a;
}
.page-career .career-voices-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
.page-career .career-voice-card {
  position: relative;
  background-color: #f8fafc;
  padding: 2.5rem;
  border-radius: 3.5rem;
}
.page-career .career-voice-quote {
  position: absolute;
  top: 2rem;
  left: 2rem;
  font-size: 2.25rem;
}
.page-career .career-voice-quote--blue {
  color: rgba(0, 102, 204, 0.2);
}
.page-career .career-voice-quote--green {
  color: rgba(139, 195, 74, 0.2);
}
.page-career .career-voice-quote--orange {
  color: rgba(245, 124, 0, 0.2);
}
.page-career .career-voice-body {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-career .career-voice-text {
  color: #475569;
  font-style: italic;
}
.page-career .career-voice-author {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-career .career-voice-avatar {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 9999px;
  border: 2px solid #ffffff;
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.page-career .career-voice-meta {
  text-align: left;
}
.page-career .career-voice-name {
  font-weight: 700;
  color: #0f172a;
}
.page-career .career-voice-role {
  font-size: 0.75rem;
  color: #64748b;
}

.page-career .career-cta {
  background-color: #0f172a;
  color: #ffffff;
  padding: 6rem 0;
}
.page-career .career-cta-inner {
  max-width: 64rem;
  margin: 0 auto;
  padding: 0 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}
.page-career .career-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--pflegori-green);
  font-size: 0.75rem;
  font-weight: 700;
}
.page-career .career-cta-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.25;
}
.page-career .career-cta-title-accent {
  color: var(--pflegori-blue);
  text-decoration: underline;
  text-decoration-color: var(--pflegori-green);
  text-underline-offset: 8px;
}
.page-career .career-cta-text {
  font-size: 1.25rem;
  color: #94a3b8;
}
.page-career .career-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
.page-career .career-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem 3rem;
  border-radius: 9999px;
  font-size: 1.25rem;
  font-weight: 700;
  transition: all 0.3s ease;
}
.page-career .career-cta-btn--primary {
  background-color: var(--pflegori-blue);
  color: #ffffff;
  box-shadow: 0 10px 20px -5px rgba(0, 102, 204, 0.3);
}
.page-career .career-cta-btn--primary:hover {
  background-color: #1d4ed8;
}
.page-career .career-cta-btn--ghost {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.page-career .career-cta-btn--ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.page-career .career-cta-btn-icon {
  font-size: 1.5rem;
  transition: transform 0.3s ease;
}
.page-career .career-cta-btn--primary:hover .career-cta-btn-icon {
  transform: rotate(12deg);
}
.page-career .career-cta-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ============================================================
   Page: Home — main content
   ============================================================ */

.home-page-wrap {
  min-height: 100vh;
  background-color: #f8fafc;
}
main.page-home {
  padding-top: 5rem;
}

.page-home .home-hero {
  position: relative;
  min-height: 95vh;
  height: 95vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.page-home .home-hero-bg {
  position: absolute;
  inset: 0;
}
.page-home .home-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-home .home-hero-overlay {
  position: absolute;
  inset: 0;
}
.page-home .home-hero-container {
  position: relative;
  width: 100%;
}
.page-home .home-hero-grid {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5rem;
}
.page-home .home-hero-content {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-home .home-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pflegori-green);
}
.page-home .home-hero-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 4.5rem;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: #ffffff;
}
.page-home .home-hero-title-accent {
  color: var(--pflegori-blue);
  text-decoration: underline;
  text-decoration-color: var(--pflegori-green);
  text-underline-offset: 8px;
}
.page-home .home-hero-lead {
  font-size: 1.25rem;
  line-height: 1.625;
  font-weight: 500;
  color: #e2e8f0;
}
.page-home .home-hero-actions {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding-top: 1rem;
}
.page-home .home-hero-btn-ghost {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  transition: background-color 0.3s ease;
}
.page-home .home-hero-btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.page-home .home-hero-btn-call {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: #ffffff;
  color: #0f172a;
  padding: 1.25rem 2.5rem;
  border-radius: 9999px;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
.page-home .home-hero-btn-call:hover {
  background-color: #f1f5f9;
}
.page-home .home-hero-btn-icon {
  font-size: 1.5rem;
}
.page-home .home-hero-call-icon {
  transition: transform 0.3s ease;
}
.page-home .home-hero-btn-call:hover .home-hero-call-icon {
  transform: rotate(12deg);
}
.page-home .home-hero-trust {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
}
.page-home .home-hero-avatars {
  display: flex;
}
.page-home .home-hero-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
/*   border: 2px solid #0f172a; */
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-home .home-hero-avatar + .home-hero-avatar {
  margin-left: -0.5rem;
}
.page-home .home-hero-avatar--blue {
  background-color: #3b82f6;
}
.page-home .home-hero-avatar--green {
  background-color: #22c55e;
}
.page-home .home-hero-avatar--orange {
  background-color: #f97316;
}

.page-home .home-hero-form-col {
  width: 50%;
}
.page-home .home-hero-card {
  background-color: #ffffff;
  border-radius: 2.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
}
.page-home .home-hero-card-watermark {
  position: absolute;
  top: 0;
  right: 11px;
  padding: 1.5rem;
  opacity: 0.1;
}
.page-home .home-hero-card-watermark iconify-icon {
  font-size: 6rem;
}
.page-home .home-hero-card-body {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-home .home-hero-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-home .home-hero-card-headtext {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.page-home .home-hero-card-badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: #eff6ff;
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.page-home .home-hero-card-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  color: #0f172a;
}
.page-home .home-hero-card-sub {
  color: #64748b;
  font-size: 0.875rem;
}
.page-home .home-hero-card-logo {
  flex-shrink: 0;
}
.page-home .home-hero-card-logo img {
  height: 2rem;
  /* fixed box so the toggled pride logo keeps the same footprint */
  width: 4.96rem;
  object-fit: contain;
}
.page-home .home-hero-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-hero-form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-home .home-hero-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}
.page-home .home-hero-req {
  color: #ef4444;
  font-weight: 400;
}
.page-home .home-hero-input {
  width: 100%;
  padding: 0.875rem 1.25rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  outline: none;
  transition: all 0.2s ease;
  font-size: 0.875rem;
}
.page-home .home-hero-input:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px #dbeafe;
}
.page-home .home-hero-textarea {
  resize: none;
}
.page-home .home-hero-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.page-home .home-hero-consent-box {
  display: flex;
  align-items: center;
  height: 1.25rem;
}
.page-home .home-hero-checkbox {
  width: 1rem;
  height: 1rem;
  accent-color: var(--pflegori-blue);
  border: 1px solid #cbd5e1;
  border-radius: 0.25rem;
  cursor: pointer;
}
.page-home .home-hero-consent-label {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.5;
}
.page-home .home-hero-consent-link {
  color: var(--pflegori-blue);
  text-decoration: underline;
  font-weight: 600;
}
.page-home .home-hero-submit {
  width: 100%;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1rem 0;
  border-radius: 1rem;
  font-size: 1rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  box-shadow:
    0 10px 20px -5px rgba(0, 102, 204, 0.3),
    0 10px 15px -3px rgba(59, 130, 246, 0.3);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.page-home .home-hero-submit:hover {
  transform: scale(1.02);
}
.page-home .home-hero-submit:active {
  transform: scale(0.95);
}

.page-home .home-philosophy {
  padding: 5rem 0;
  background-color: #ffffff;
}
.page-home .home-philosophy-head {
  /* delta vs .section-head: tighter bottom margin */
  margin-bottom: 3rem;
}
.page-home .home-philosophy-divider {
  height: 0.25rem;
  width: 6rem;
  margin: 0 auto 1.5rem;
  border-radius: 9999px;
}
.page-home .home-philosophy-title {
  /* delta vs .section-title: dark colour + uppercase styling */
  color: #0f172a;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.page-home .home-philosophy-row {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  gap: 3rem;
}
.page-home .home-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  width: 100%;
  max-width: 24rem;
}
.page-home .home-value-iconwrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  transition: transform 0.3s ease;
}
.page-home .home-value:hover .home-value-iconwrap {
  transform: scale(1.1);
}
.page-home .home-value-icon {
  font-size: 4.5rem;
}
.page-home .home-value-icon--bluelight {
  color: #60a5fa;
}
.page-home .home-value-badge {
  position: absolute;
  bottom: -0.5rem;
  right: -0.5rem;
  background-color: #eff6ff;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  border: 1px solid #dbeafe;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-home .home-value-badge iconify-icon {
  font-size: 1.5rem;
}
.page-home .home-value-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.875rem;
}
.page-home .home-value-title--bluelight {
  color: #60a5fa;
}
.page-home .home-value-rule {
  height: 2px;
  width: 4rem;
}
.page-home .home-value-rule--blue {
  background-color: #bfdbfe;
}
.page-home .home-value-rule--bluelight {
  background-color: #dbeafe;
}
.page-home .home-value-rule--green {
  background-color: #dcfce7;
}
.page-home .home-value-text {
  color: #475569;
}
.page-home .home-value-sep {
  width: 1px;
  height: 8rem;
  background-color: #f1f5f9;
}

.page-home .home-services {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-home .home-services-head {
  /* delta vs .section-head: constrained width + flex column layout */
  max-width: 48rem;
  margin: 0 auto 4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-services-title {
  /* delta vs .section-title: larger size + dark colour */
  font-size: 3rem;
  color: #0f172a;
}
.page-home .home-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
.page-home .home-service-card {
  background-color: #ffffff;
  border-radius: 2.5rem;
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  transition: all 0.5s ease;
}
.page-home .home-service-card:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-home .home-service-media {
  height: 16rem;
  overflow: hidden;
  position: relative;
}
.page-home .home-service-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.page-home .home-service-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.page-home .home-service-body {
  padding: 2rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.page-home .home-service-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  color: #0f172a;
  margin-bottom: 1rem;
}
.page-home .home-service-text {
  color: #475569;
  margin-bottom: 2rem;
  flex: 1;
}
.page-home .home-service-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  transition: gap 0.3s ease;
}
.page-home .home-service-card:hover .home-service-link {
  gap: 1rem;
}

.page-home .home-medical-services {
  padding: 6rem 0;
  background-color: #ffffff;
  border-bottom: 1px solid #f1f5f9;
}
.page-home .home-medical-layout {
  display: flex;
  flex-direction: row;
  gap: 4rem;
  align-items: center;
}
.page-home .home-medical-intro {
  width: 33.3333%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: left;
}
.page-home .home-medical-accent {
  width: 4rem;
  height: 0.25rem;
  background-color: var(--pflegori-blue);
  border-radius: 9999px;
}
.page-home .home-medical-title {
  /* delta vs .section-title: dark colour */
  color: #0f172a;
}
.page-home .home-medical-text {
  color: #475569;
  line-height: 1.625;
}
.page-home .home-medical-cta {
  display: inline-flex;
  align-self: flex-start;
  background-color: #0f172a;
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.3s ease;
}
.page-home .home-medical-cta:hover {
  background-color: #1e293b;
}
.page-home .home-medical-grid {
  width: 66.6667%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.page-home .home-medical-item {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #f1f5f9;
  transition: all 0.3s ease;
}
.page-home .home-medical-item:hover {
  border-color: #bfdbfe;
}
.page-home .home-medical-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background-color: #dbeafe;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pflegori-blue);
  font-size: 1.5rem;
  margin-bottom: 1rem;
  transition: transform 0.3s ease;
}
.page-home .home-medical-item:hover .home-medical-icon {
  transform: scale(1.1);
}
.page-home .home-medical-item-title {
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.5rem;
}
.page-home .home-medical-item-text {
  font-size: 0.875rem;
  color: #64748b;
}

.page-home .home-care-support {
  padding: 6rem 0;
  background-color: #0f172a;
  color: #ffffff;
}
.page-home .home-care-head {
  /* delta vs .section-head: constrained width + flex column layout */
  max-width: 48rem;
  margin: 0 auto 4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-care-lead {
  color: #94a3b8;
}
.page-home .home-care-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.page-home .home-care-card {
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 2rem;
  border-radius: 1.5rem;
  transition: background-color 0.3s ease;
}
.page-home .home-care-card:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page-home .home-care-icon {
  font-size: 2.25rem;
  margin-bottom: 1.5rem;
}
.page-home .home-care-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.page-home .home-care-list {
  font-size: 0.875rem;
  color: #94a3b8;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.page-home .home-additional-services {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-home .home-additional-layout {
  display: flex;
  flex-direction: row;
  gap: 4rem;
}
.page-home .home-additional-media {
  width: 50%;
  border-radius: 3rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.page-home .home-additional-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-home .home-additional-content {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-home .home-additional-head {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-additional-tag {
  color: var(--pflegori-orange);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.75rem;
}
.page-home .home-additional-title {
  /* delta vs .section-title: dark colour */
  color: #0f172a;
}
.page-home .home-additional-text {
  color: #475569;
}
.page-home .home-additional-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-home .home-additional-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background-color: #f8fafc;
  border-radius: 1rem;
  border: 1px solid #f1f5f9;
}
.page-home .home-additional-item-icon {
  font-size: 1.5rem;
  margin-top: 0.25rem;
}
.page-home .home-additional-item-title {
  font-weight: 700;
  color: #0f172a;
}
.page-home .home-additional-item-text {
  font-size: 0.75rem;
  color: #64748b;
}
.page-home .home-additional-note {
  color: #64748b;
  font-style: italic;
  font-size: 0.875rem;
  font-weight: 500;
  border-left: 2px solid var(--pflegori-orange);
  padding-left: 1rem;
}

.page-home .home-quality-life {
  padding: 6rem 0;
  background-color: rgba(0, 102, 204, 0.05);
}
.page-home .home-quality-head {
  /* delta vs .section-head: flex column layout */
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-quality-title {
  /* delta vs .section-title: dark colour */
  color: #0f172a;
}
.page-home .home-quality-lead {
  color: #475569;
}
.page-home .home-quality-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.page-home .home-quality-card {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 2rem;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.page-home .home-quality-card:hover {
  transform: translateY(-0.5rem);
}
.page-home .home-quality-icon {
  font-size: 3rem;
  margin-bottom: 1.5rem;
}
.page-home .home-quality-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.page-home .home-quality-card-text {
  font-size: 0.875rem;
  color: #475569;
}

.page-home .home-medical-products {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-home .home-products-card {
  background-color: #0f172a;
  border-radius: 3.5rem;
  padding: 5rem;
  color: #ffffff;
  display: flex;
  flex-direction: row;
  gap: 4rem;
}
.page-home .home-products-intro {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.page-home .home-products-badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--pflegori-blue);
  font-size: 0.75rem;
  font-weight: 700;
}
.page-home .home-products-text {
  color: #94a3b8;
  line-height: 1.625;
}
.page-home .home-products-cert {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.page-home .home-products-cert-icon {
  font-size: 2.25rem;
}
.page-home .home-products-cert-title {
  font-weight: 700;
}
.page-home .home-products-cert-text {
  font-size: 0.875rem;
  color: #64748b;
}
.page-home .home-products-channels {
  width: 50%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.page-home .home-products-channel {
  padding: 2rem;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background-color 0.3s ease;
  /* the whole channel is now a link — keep it visually a card */
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.page-home .home-products-channel:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.page-home .home-products-channel--wide {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.page-home .home-products-channel-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-home .home-products-channel-loc {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.page-home .home-products-channel-icon {
  font-size: 1.875rem;
}
.page-home .home-products-channel-title {
  font-weight: 700;
}
.page-home .home-products-channel-sub {
  font-size: 0.75rem;
  color: #64748b;
}
.page-home .home-products-channel-value {
  font-weight: 700;
  font-size: 1.25rem;
}
.page-home .home-products-channel-value--mail {
  word-break: break-all;
}
.page-home .home-products-link {
  transition: color 0.3s ease;
}
.page-home .home-products-link:hover {
  color: var(--pflegori-blue);
}
.page-home .home-products-maplink {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 0.75rem;
  border-radius: 9999px;
  transition: background-color 0.3s ease;
}
.page-home .home-products-maplink:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.page-home .home-testimonials {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-home .home-testimonials-head {
  text-align: center;
  margin-bottom: 4rem;
}
.page-home .home-testimonials-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  line-height: 1.2;
  color: #0f172a;
}
.page-home .home-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.page-home .home-testimonial {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1.5rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.page-home .home-testimonial-stars {
  display: flex;
  gap: 0.25rem;
  color: #fb923c;
}
.page-home .home-testimonial-quote {
  color: #475569;
  font-style: italic;
  line-height: 1.625;
}
.page-home .home-testimonial-author {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid #e5e7eb;
  padding-top: 1.5rem;
  margin-top: auto;
}
.page-home .home-testimonial-avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-weight: 700;
}
.page-home .home-testimonial-name {
  font-weight: 700;
  color: #0f172a;
}
.page-home .home-testimonial-role {
  font-size: 0.75rem;
  color: #64748b;
}

.page-home .home-stats {
  padding: 6rem 0;
  background-color: #ffffff;
}
.page-home .home-stats-title {
  /* delta vs .section-title: dark colour */
  color: #0f172a;
}
.page-home .home-stats-lead {
  color: #64748b;
  margin-top: 0.5rem;
}
.page-home .home-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
.page-home .home-stat {
  background-color: #f8fafc;
  padding: 2rem;
  border-radius: 2rem;
  border: 1px solid #f1f5f9;
  text-align: center;
  transition: all 0.3s ease;
}
.page-home .home-stat-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.875rem;
  margin: 0 auto 1.5rem;
}
.page-home .home-stat-icon--blue {
  background-color: #dbeafe;
  color: var(--pflegori-blue);
}
.page-home .home-stat-icon--green {
  background-color: #dcfce7;
  color: var(--pflegori-green);
}
.page-home .home-stat-icon--orange {
  background-color: #ffedd5;
  color: var(--pflegori-orange);
}
.page-home .home-stat-number {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.25rem;
  color: #0f172a;
  margin-bottom: 0.5rem;
  letter-spacing: -0.025em;
}
.page-home .home-stat-label {
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}
.page-home .home-stat-label--blue {
  color: var(--pflegori-blue);
}
.page-home .home-stat-label--green {
  color: var(--pflegori-green);
}
.page-home .home-stat-label--orange {
  color: var(--pflegori-orange);
}
.page-home .home-stat-text {
  font-size: 0.75rem;
  color: #64748b;
  line-height: 1.625;
}

/* ============================================================
   Page: Impressum
   ============================================================ */

main.page-impressum {
  padding-top: 5rem;
  color: #0f172a;
}

.page-impressum .impressum-hero {
  background-color: #0f172a;
  color: #ffffff;
  padding: 5rem 0;
}
.page-impressum .impressum-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 3.25rem;
  line-height: 1.1;
  margin-top: 1rem;
}
.page-impressum .impressum-lead {
  color: #cbd5e1;
  line-height: 1.625;
  margin-top: 1rem;
  max-width: 42rem;
}

.page-impressum .legal {
  padding: 5rem 0;
  background-color: #ffffff;
}
.page-impressum .legal-block, .page-impressum .legal {
  margin: 0 auto 2.5rem;
}
.page-impressum .legal-credit-logo {
  margin: 1rem 0 0;
}
.page-impressum .legal-credit-logo img {
  width: auto;
  max-width: 150px;
  height: auto;
}
.page-impressum .legal-block:last-child {
  margin-bottom: 0;
}
.page-impressum .legal h1 {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}
.page-impressum .legal-block h2, .page-impressum .legal h2 {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 1rem;
}
.page-impressum .legal-block p, .page-impressum .legal p {
  color: #475569;
  line-height: 1.625;
  margin-bottom: 0.75rem;
}
.page-impressum .legal-block p:last-child, .page-impressum .legal p:last-child {
  margin-bottom: 0;
}
.page-impressum .legal-block strong,.page-impressum .legal strong {
  color: #0f172a;
}
.page-impressum .legal-block a, .page-impressum .fax-number {
  color: var(--pflegori-blue);
  font-weight: 600;
}
.page-impressum .legal-block a:hover,.page-impressum .legal a:hover {
  text-decoration: underline;
}
.page-impressum .legal-card {
  background-color: #f8fafc;
  border: 1px solid #f1f5f9;
  border-radius: 1.5rem;
  padding: 2rem;
}

/* ============================================================
   Page: WP-form
   ============================================================ */
#wpforms-33.wpforms-container,
#wpforms-82.wpforms-container {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}

.wpforms-container .wpforms-field,
.wp-core-ui div.wpforms-container .wpforms-field {
  padding: 10px 0 !important;
}

#wpforms-form-33 input,
#wpforms-form-33 select,
#wpforms-form-33 textarea,
#wpforms-form-82 input,
#wpforms-form-82 select,
#wpforms-form-82 textarea {
  width: 100%;
  padding: 0.8rem 1.25rem;
  border-radius: 1rem;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  outline: none;
  transition: all 0.2s ease;
}
#wpforms-form-33 input,
#wpforms-form-33 select,
#wpforms-form-82 input,
#wpforms-form-82 select {
  height: 55px;
}
#wpforms-form-33 input:focus,
#wpforms-form-33 select:focus,
#wpforms-form-33 textarea:focus,
#wpforms-form-82 input:focus,
#wpforms-form-82 select:focus,
#wpforms-form-82 textarea:focus {
  border-color: var(--pflegori-blue);
  box-shadow: 0 0 0 4px #dbeafe;
}

#wpforms-form-33 textarea,
#wpforms-form-82 textarea {
  resize: none;
}

#wpforms-form-33 label,
#wpforms-form-82 label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: #334155;
  margin-bottom: 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

#wpforms-form-33 .form-link a,
#wpforms-form-82 .form-link a {
  color: var(--pflegori-blue);
  text-decoration: underline;
  font-weight: 600;
}
#wpforms-form-33 .wpforms-submit,
#wpforms-form-82 .wpforms-submit {
  width: 100%;
  height: 55px;
  background-color: var(--pflegori-blue);
  color: #ffffff;
  padding: 1rem 0;
  border-radius: 1rem;
  font-size: 1rem;
  font-weight: 700;
  border: none;
  cursor: pointer;
  box-shadow:
    0 10px 20px -5px rgba(0, 102, 204, 0.3),
    0 10px 15px -3px rgba(59, 130, 246, 0.3);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
#wpforms-form-33 .wpforms-submit:hover,
#wpforms-form-82 .wpforms-submit:hover {
  transform: scale(1.02);
}
#wpforms-form-33 .wpforms-submit:active,
#wpforms-form-82 .wpforms-submit:active {
  transform: scale(0.95);
}

/* ============================================================
   STANDORTE & PARTNER — Kooperationspartner & Förderung
   (added sections; scoped to .page-standorte so nothing else changes)
   ============================================================ */
.page-standorte .locations-coop {
  padding: 6rem 0;
  background-color: #f8fafc;
}
.page-standorte .locations-coop-head {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}
.page-standorte .locations-coop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}
.page-standorte .locations-coop-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background-color: #ffffff;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.page-standorte .locations-coop-card:hover {
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.1);
  transform: translateY(-4px);
}
.page-standorte .locations-coop-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 5rem;
}
.page-standorte .locations-coop-logo img {
  max-height: 5rem;
  max-width: 16rem;
  width: auto;
  height: auto;
  object-fit: contain;
}
.page-standorte .locations-coop-intro {
  font-size: 0.95rem;
  color: #64748b;
  margin: 0;
}
.page-standorte .locations-coop-name {
  font-family: "Cabinet Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.3;
  margin: 0;
}
.page-standorte .locations-coop-name a {
  color: var(--pflegori-blue);
  text-decoration: none;
}
.page-standorte .locations-coop-name a:hover {
  text-decoration: underline;
}
.page-standorte .locations-coop-addr {
  font-size: 0.95rem;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}

/* Förderhinweis + weitere Partner-Logos, now nested inside .locations-coop */
.page-standorte .locations-coop-extra {
  margin-top: 3.5rem;
  padding-top: 3rem;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}
.page-standorte .locations-coop-extra .locations-funding-logos {
  margin-top: 0;
}
.page-standorte .locations-coop-extra .locations-funding-text {
  margin-top: 2.5rem;
}
.page-standorte .locations-funding {
  padding: 4rem 0;
  background-color: #ffffff;
  border-top: 1px solid #f1f5f9;
}
.page-standorte .locations-funding-text {
  max-width: 56rem;
  margin: 0 auto;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #64748b;
}
.page-standorte .locations-funding-text a {
  color: var(--pflegori-blue);
  font-weight: 600;
  text-decoration: none;
}
.page-standorte .locations-funding-text a:hover {
  text-decoration: underline;
}
.page-standorte .locations-funding-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  margin-top: 2.5rem;
}
.page-standorte .locations-funding-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  margin: 0;
}
.page-standorte .locations-funding-logo img {
  max-height: 4rem;
  max-width: 14rem;
  width: auto;
  height: auto;
  object-fit: contain;
}
