/* Pflegedienst Bartl – statische Seite
   Masterlayout: FireShot-Captures 204–211 (1440 px Viewport)
   Fließtext: 14 px Desktop / 16 px Mobil */

:root{
  --red:#ea0024;
  --red-dark:#c4001e;
  --gray:#ececec;
  --gray-card:#e1e1e1;
  --nav:#8a8a8a;
  --text:#000;
  --wrap:800px;
  --font:Helvetica, Arial, "Liberation Sans", sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--red)}
p{margin:0 0 .75em}
.wrap{width:var(--wrap);max-width:calc(100% - 32px);margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-top:1px solid #f0f0f0}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:57px}
.logo{color:var(--red);text-decoration:none;font-size:13px;letter-spacing:-.1px}
.nav ul{list-style:none;margin:0;padding:0;display:flex}
.nav a{display:block;position:relative;padding:0 8.5px;line-height:57px;font-size:10.5px;font-weight:700;color:var(--nav);text-decoration:none}
.nav li:last-child a{padding-right:7px}
.nav a:hover{color:var(--red)}
.nav a[aria-current="page"]{color:var(--red)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#b41c22}
.redbar{height:5px;background:var(--red);border-top:1px solid #f3f0f0}
.site-header.plain{border-bottom:1px solid #f2f2f2}
.menu-toggle{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;color:var(--red)}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0;transition:.2s}

/* ---------- Hero ---------- */
.hero{position:relative;height:420px;overflow:hidden;background:#ddd}
.hero img{width:100%;height:100%;object-fit:cover}
.hero.tall{height:649px}
.slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.slider .slide.active{opacity:1}
.slider .caption{position:absolute;left:10.07%;top:256px;background:rgba(255,255,255,.55);border-radius:10px;color:var(--red);font-size:30px;line-height:39px;padding:0 1px 0 0;margin:0;font-weight:400}
.dots{position:absolute;left:50%;transform:translateX(-50%);top:378px;display:flex;gap:3px}
.dots button{width:7px;height:7px;border-radius:50%;border:1px solid rgba(0,0,0,.35);background:rgba(255,255,255,.55);padding:0;cursor:pointer}
.dots button.active{background:#333}

/* ---------- Rotes Band ---------- */
.band{background:var(--red);color:#fff;text-align:center;height:140px;padding-top:31px}
.band h1{margin:0;font-size:22px;font-weight:400;letter-spacing:1px;line-height:30px}
.band p{margin:12px 0 0;font-size:12.5px;line-height:18px}
.band .chev{display:block;width:22px;margin:13px auto 0;color:#fff}

/* ---------- Gestrichelte Boxen ---------- */
.boxes{padding:15px 0 35px}
.boxes .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.dbox{position:relative;margin-top:20px;border:2px dashed var(--red);border-radius:12px;padding:30px 14px 22px}
.dbox h2{position:absolute;top:-21px;left:14px;right:14px;margin:0;background:var(--red);color:#fff;text-align:center;font-size:19px;font-weight:400;letter-spacing:1px;line-height:33px}
.dbox p{margin:0;line-height:1.5}

/* ---------- Bild/Text-Sektionen ---------- */
.split{background:var(--gray) no-repeat;position:relative}
.split .wrap{display:flex}
.split .text{padding:33px 0 30px}
.split h2,.h-red{color:var(--red);font-size:18px;font-weight:700;letter-spacing:1px;margin:0 0 9px;line-height:24px}
.split .text p{line-height:1.5}
.split-pflege{background-image:url(../img/pflege-unsere-pflege.jpg);background-size:560px auto;background-position:left top;min-height:327px}
.split-pflege .text{margin-left:425px;width:375px}
.split-qualitaet{background-image:url(../img/pflege-hohe-qualitaet.jpg);background-size:540px auto;background-position:right top;min-height:327px}
.split-qualitaet .text{width:380px}
.split-konzept{background-image:url(../img/konzept-ziel.jpg);background-size:560px auto;background-position:left top;min-height:758px}
.split-konzept .text{margin-left:283px;width:517px;padding-top:30px}
.split-konzept h2{margin-top:22px}
.split-konzept h2:first-child{margin-top:0}

/* ---------- Checkliste ---------- */
.checks{list-style:none;margin:14px 0 0;padding:0}
.checks li{position:relative;padding-left:50px;color:var(--red);font-weight:700;font-size:12.5px;line-height:30px}
.checks li svg{position:absolute;left:8px;top:6px;width:14px;height:16px}

/* ---------- Info-Karten ---------- */
.cards{padding:32px 0 0}
.cards .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.card{background:var(--gray);border:1px solid var(--red);border-radius:12px;text-align:center;color:var(--red);padding:31px 10px 16px;min-height:207px}
.card svg{height:50px;width:50px;margin:0 auto 18px;display:block}
.card h3{margin:0 0 11px;font-size:15px;letter-spacing:1px;font-weight:700}
.card p{margin:0;font-size:12.5px;line-height:21px}
.card a{color:var(--red)}
.map{display:block;margin:30px auto 0;padding-bottom:0;position:relative;text-decoration:none}
.map img{width:100%;height:260px;object-fit:cover;border-radius:4px;filter:saturate(.9)}
.map span{position:absolute;right:8px;bottom:8px;background:#fff;color:var(--red);font-size:11px;padding:3px 8px;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.map-wrap{padding-bottom:36px}

/* ---------- Footer ---------- */
.site-footer{background:var(--red);color:#fff;height:82px;font-size:9.5px}
.site-footer .wrap{display:flex;justify-content:space-between;padding-top:15px}
.site-footer a{color:#fff;text-decoration:none;margin-left:14px}
.site-footer a:hover{text-decoration:underline}
.to-top{position:fixed;right:16px;bottom:16px;width:38px;height:38px;border-radius:3px;background:rgba(0,0,0,.35);color:#fff;display:none;align-items:center;justify-content:center;text-decoration:none;z-index:40}
.to-top.show{display:flex}

/* ---------- AP-Team ---------- */
.intro{text-align:center;padding:46px 0 34px}
.intro p{margin:0 0 .65em;line-height:1.5}
.lead-team{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:20px 0 0}
.lead-team figure{margin:0}
.lead-team img{width:170px;height:170px;border-radius:50%;object-fit:cover;margin:0 auto 52px;box-shadow:3px 4px 7px rgba(0,0,0,.35)}
.lead-team figcaption strong{display:block;color:var(--red);font-weight:400;font-size:13.5px;line-height:18px}
.lead-team figcaption span{display:block;font-size:10px;line-height:14px}
.h-sec{color:var(--red);font-size:19px;font-weight:400;letter-spacing:.5px;text-align:center;margin:0;line-height:26px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin:37px 0 27px}
.team div{background:var(--gray-card);text-align:center;height:63px;padding-top:12px}
.team strong{display:block;color:var(--red);font-weight:400;font-size:13px;line-height:17px}
.team span{display:block;font-size:10px;line-height:14px}
hr.thin{border:0;border-top:1px solid #efefef;margin:0 0 27px}
.partners{text-align:center;padding-bottom:42px}
.partners>p{margin:0 0 .65em}
.partners .checks{display:inline-block;text-align:left;margin:38px 0 12px;padding-left:0}
.partners .checks li{padding-left:42px;font-size:12px}
.partners .checks li svg{left:0}

/* ---------- Pflege-Konzept Download ---------- */
.kalk{text-align:center;padding:33px 0 33px}
.kalk img{width:496px;margin:12px auto 30px}
.kalk .pdf{display:inline-block;margin-top:10px;text-decoration:none}
.kalk .pdf svg{width:110px;height:130px;display:block}

/* ---------- Leistungen / Stellen ---------- */
.feat{background:var(--gray);margin:59px 0 60px;position:relative;min-height:360px}
.feat .pic{position:absolute;left:0;top:0;bottom:0;width:530px;background-size:cover;background-position:left center}
.feat .wrap{display:flex;align-items:center;min-height:360px}
.feat .text{margin-left:400px;width:400px;padding:30px 0}
.feat .text>p{line-height:1.5}

/* ---------- Kontakt ---------- */
.form-sec{background:var(--gray);padding:44px 0 55px}
.form-sec form{width:724px;max-width:calc(100% - 32px);margin:0 auto}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:37px}
.f-field{margin-bottom:13px}
.f-field label{display:block;font-weight:700;font-size:11.5px;margin-bottom:6px}
.f-field label b{color:var(--red);font-weight:400}
.f-field input,.f-field textarea{width:100%;height:33px;border:1px solid #e3a6ad;background:#fff;font:inherit;font-size:14px;padding:5px 8px;border-radius:0}
.f-field textarea{height:151px;resize:vertical}
.f-field input:focus,.f-field textarea:focus{outline:2px solid var(--red);outline-offset:-1px}
.f-field.err input,.f-field.err textarea{border-color:var(--red);background:#fff4f5}
.btn{background:var(--red);color:#fff;border:0;width:94px;height:35px;font:inherit;font-size:12px;cursor:pointer;margin-top:6px}
.btn:hover{background:var(--red-dark)}
.form-note{font-size:12px;margin-top:10px;min-height:1em}
.ask{padding:32px 0 0}
.ask h2{color:var(--red);text-align:center;font-weight:400;font-size:22px;margin:0 0 3px;letter-spacing:.5px}

/* ---------- Rechtstexte ---------- */
.legal{padding:30px 0 42px}
.legal h1{color:var(--red);text-align:center;font-size:22px;font-weight:400;margin:0 0 14px;letter-spacing:.5px}
.legal h2,.legal h3{color:var(--red);font-size:14px;font-weight:700;margin:14px 0 2px;line-height:21px}
.legal h2.space{margin-bottom:10px}
.legal p{margin:0 0 10px;line-height:1.5}
.legal ul{margin:0 0 12px;padding-left:17px}
.legal li{margin:0 0 4px;line-height:1.5}
.legal a{color:var(--red);text-decoration:none;word-break:break-word}
.legal a:hover{text-decoration:underline}
.red{color:var(--red);font-weight:700}

/* =========================================================
   Tablet
   ========================================================= */
@media (max-width:1100px){
  .split-pflege .text{margin-left:auto;width:48%}
  .split-qualitaet .text{width:48%}
  .split-konzept .text{margin-left:auto;width:60%}
  .feat .pic{width:37%}
  .feat .text{margin-left:auto;width:52%}
}

/* =========================================================
   Mobil – Fließtext 16 px
   ========================================================= */
@media (max-width:767px){
  body{font-size:16px}
  .menu-toggle{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.12);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;padding:6px 0}
  .nav a{line-height:46px;font-size:15px;padding:0 16px;border-top:1px solid #f2f2f2}
  .nav a[aria-current="page"]::after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto;background:var(--red)}
  .site-header{position:sticky}
  .site-header .wrap{position:static}
  .logo{font-size:17px}

  .hero{height:auto;aspect-ratio:1440/420}
  .hero.tall{aspect-ratio:1440/649;height:auto}
  .hero{width:100%}
  .hero>img{position:absolute;inset:0}
  .slider{aspect-ratio:auto;height:260px}
  .slider .caption{left:16px;right:16px;top:auto;bottom:40px;font-size:21px;line-height:28px;padding:4px 8px}
  .dots{top:auto;bottom:14px}

  .band{height:auto;padding:24px 16px 14px}
  .band h1{font-size:21px;line-height:28px}
  .band p{font-size:15px;line-height:22px}

  .boxes .wrap,.cards .wrap,.team{grid-template-columns:1fr;gap:34px}
  .dbox{padding:34px 16px 22px}

  .split{background-image:none!important;min-height:0!important}
  .split .wrap{display:block}
  .split .text{margin:0!important;width:auto!important;padding:28px 0 26px}
  .split-img{display:block;width:100%;height:auto;background:var(--gray)}
  .split h2,.h-red{font-size:19px}

  .feat{margin:30px 0}
  .feat .pic{position:static;width:100%;height:auto;aspect-ratio:530/352}
  .feat .wrap{min-height:0}
  .feat .text{margin:0;width:auto;padding:26px 0 24px}
  .checks li{font-size:15px;line-height:1.45;padding:7px 0 7px 38px}
  .checks li svg{left:4px;top:10px}
  .partners .checks li{font-size:15px;padding-left:36px}

  .card p{font-size:15px;line-height:24px}
  .card h3{font-size:17px}
  .map img{height:200px}

  .intro{text-align:left;padding:30px 0 20px}
  .lead-team{grid-template-columns:1fr;gap:30px}
  .lead-team figcaption strong{font-size:17px}
  .lead-team figcaption span,.team span{font-size:14px}
  .team strong{font-size:16px}
  .team div{height:auto;padding:14px 8px}
  .h-sec{font-size:21px}
  .partners{text-align:left}
  .partners .checks{display:block}

  .kalk img{width:100%}
  .f-row{grid-template-columns:1fr;gap:0}
  .f-field label{font-size:15px}
  .f-field input{height:44px;font-size:16px}
  .f-field textarea{font-size:16px}
  .btn{width:100%;height:46px;font-size:16px}
  .ask h2{font-size:21px;padding:0 16px}
  .lead-team img{margin-bottom:16px}

  .legal h1{font-size:24px}
  .legal h2,.legal h3{font-size:16px}

  .site-footer{height:auto;font-size:13px;padding-bottom:22px}
  .site-footer .wrap{flex-direction:column;gap:10px}
  .site-footer a{margin:0 16px 0 0}
}
@media (min-width:768px){ .split-img{display:none} }
@media (prefers-reduced-motion:reduce){ .slider .slide{transition:none} html{scroll-behavior:auto} }
