
:root{--red:#c81724;--red-dark:#9f1019;--green:#087d3d;--green-light:#e9f5ee;--navy:#071d33;--ink:#20262c;--muted:#69727b;--soft:#f5f7f8;--line:#e1e6e9;--white:#fff;--shadow:0 18px 44px rgba(7,29,51,.10);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.62}img{display:block;max-width:100%}a{color:inherit}.page-width{width:min(1180px,calc(100% - 40px));margin:auto}.kicker{margin:0 0 8px;color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:.86rem;font-weight:900}.kicker.light{color:#fff}.skip-link{position:fixed;top:8px;left:8px;z-index:999;padding:10px 14px;color:#fff;background:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.topbar{position:sticky;top:0;z-index:100;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:20px;min-height:88px;padding:8px max(18px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.97);border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:blur(14px);transition:box-shadow .25s ease}.topbar.scrolled{box-shadow:0 8px 28px rgba(7,29,51,.12)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:70px;height:70px;object-fit:contain}.brand strong,.brand small{display:block}.brand small{color:var(--muted)}.navigation{display:flex;justify-content:center;flex-wrap:wrap;gap:18px}.navigation a{text-decoration:none;font-size:.88rem;font-weight:800;position:relative}.navigation a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s}.navigation a:hover::after,.navigation a.active::after{transform:scaleX(1)}.navigation a.active{color:var(--red)}.donation-pill{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;padding:10px 16px;color:#fff;background:var(--red);border-radius:18px;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s}.donation-pill:hover{transform:translateY(-2px)}.donation-pill>span{grid-row:1/span 2;font-size:1.5rem}.donation-pill small{font-size:.72rem}.menu-button{display:none}
.hero{position:relative;min-height:730px;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:-3%;background:url("hero.jpg") 61% center/cover no-repeat;animation:heroZoom 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,26,.92) 0%,rgba(2,15,26,.78) 35%,rgba(2,15,26,.22) 70%,rgba(2,15,26,.04) 100%),linear-gradient(to top,rgba(2,15,26,.35),transparent 50%)}.hero-content{position:relative;z-index:1;padding:76px 0;color:#fff;animation:heroIn 1s ease both}.hero-logo{width:176px;margin-bottom:22px;padding:8px;background:rgba(255,255,255,.93);border-radius:18px;box-shadow:var(--shadow)}.hero h1{max-width:760px;margin:0;font-size:clamp(3.4rem,7vw,6.6rem);line-height:.96;letter-spacing:-.05em}.hero-slogan{max-width:720px;margin:24px 0 12px;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:850}.hero-copy{max-width:660px;font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:0 25px;border-radius:14px;text-decoration:none;font-weight:900;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.18)}.button.primary{color:#fff;background:var(--red)}.button.primary:hover{background:var(--red-dark)}.button.secondary{color:#fff;border:2px solid rgba(255,255,255,.85);background:rgba(0,0,0,.2)}
.heartbeat{width:min(560px,90%);height:34px;position:relative;margin:10px 0 18px;overflow:hidden}.heartbeat::before{content:"";position:absolute;left:0;right:0;top:16px;height:3px;background:rgba(255,255,255,.22)}.heartbeat span{position:absolute;top:0;left:-18%;width:18%;height:34px;background:linear-gradient(90deg,transparent,var(--red),transparent);clip-path:polygon(0 47%,30% 47%,38% 10%,49% 90%,58% 47%,100% 47%,100% 55%,62% 55%,50% 100%,37% 22%,33% 55%,0 55%);animation:heartbeatMove 2.7s linear infinite}
.emergency-strip{background:#fff;border-bottom:1px solid var(--line)}.emergency-grid{display:grid;grid-template-columns:2fr repeat(4,1fr)}.emergency-grid article{min-height:144px;display:flex;flex-direction:column;justify-content:center;padding:26px 20px;text-align:center;border-right:1px solid var(--line)}.emergency-main{flex-direction:row!important;align-items:center;gap:18px;text-align:left!important}.heart-icon{color:var(--red);font-size:4rem;animation:pulse 1.8s ease-in-out infinite}.emergency-main h2{margin:0;color:var(--red);text-transform:uppercase}.emergency-main p{margin:3px 0 0}.emergency-grid strong{color:var(--red);font-size:1.3rem}
.section{padding:88px 0}.soft-section{background:var(--soft)}.about-section{background:#fff7f7}.journey-section{background:var(--navy);color:#fff}.section-heading{max-width:820px;margin-bottom:38px}.section-heading h2,.about-content h2,.support-section h2,.card h2{margin:0 0 14px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.025em}.section-heading>p:last-child{color:var(--muted)}.journey-section .section-heading>p:last-child{color:rgba(255,255,255,.72)}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px}.four-column{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .28s ease,box-shadow .28s ease}.card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(7,29,51,.14)}.card h3{margin-top:0}.amount-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px}.amount-row strong{color:var(--green);font-size:2.9rem}.progress-track{height:22px;overflow:hidden;background:#e9edef;border-radius:999px}.progress-value{width:0;height:100%;background:linear-gradient(90deg,var(--green),#20b762);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.muted{color:var(--muted);font-size:.92rem}.location-visual{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;text-align:center;background:linear-gradient(rgba(255,255,255,.77),rgba(255,255,255,.77)),repeating-linear-gradient(45deg,#e7eee9 0 16px,#f8faf9 16px 32px);border-radius:16px}.location-visual>span{font-size:3.2rem;animation:float 2.8s ease-in-out infinite}.location-visual small{max-width:460px;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:330px 1fr;gap:56px;align-items:center}.portrait-placeholder{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,var(--navy),#284b64);border-radius:30px;box-shadow:var(--shadow)}.portrait-placeholder span{width:166px;height:166px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:50%;font-size:2.6rem;font-weight:900}.portrait-placeholder small{margin-top:18px}.about-content p{font-size:1.06rem}.about-content blockquote{margin:26px 0;padding:18px 0 18px 24px;color:var(--red-dark);border-left:5px solid var(--red);font-size:1.35rem;font-weight:850}.promise-box{padding:25px;background:#fff;border-radius:0 18px 18px 0;border-left:6px solid var(--red);box-shadow:var(--shadow)}.promise-box h3{margin-top:0}.icon-card{min-height:225px}.icon{display:block;margin-bottom:12px;font-size:2.8rem}.icon.red{color:var(--red)}.icon.green{color:var(--green)}.icon-card p{color:var(--muted)}
.cost-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.cost-row.total{margin-top:9px;padding:15px;background:var(--green-light);border:0;border-radius:12px}.check-list{margin:0;padding:0;list-style:none}.check-list li{position:relative;padding:10px 0 10px 34px}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.timeline{position:relative;max-width:940px;margin:auto}.timeline::before{content:"";position:absolute;top:0;bottom:0;left:164px;width:3px;background:rgba(255,255,255,.18);transform-origin:top;animation:timelineGrow 1.6s ease both}.timeline-item{position:relative;display:grid;grid-template-columns:135px 1fr;gap:58px;padding:0 0 38px}.timeline-item::before{content:"";position:absolute;top:7px;left:155px;width:16px;height:16px;background:var(--navy);border:4px solid rgba(255,255,255,.45);border-radius:50%;transition:transform .3s}.timeline-item:hover::before{transform:scale(1.25)}.timeline-item.complete::before{background:var(--green);border-color:#85d2a7}.timeline-item.active::before{background:var(--red);border-color:#f4a7ad}.timeline-item time{padding-top:3px;color:rgba(255,255,255,.7);text-align:right;font-weight:800}.timeline-item h3{margin:0 0 5px}.timeline-item p{margin:0;color:rgba(255,255,255,.72)}
.faq-list{display:grid;gap:13px}details{padding:0 22px;background:#fff;border:1px solid var(--line);border-radius:15px;transition:box-shadow .25s}details[open]{box-shadow:var(--shadow)}summary{cursor:pointer;padding:19px 0;font-weight:850}details p{margin-top:0;padding-bottom:18px;color:var(--muted)}
.support-section{background:#fff2f2}.support-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.support-card{padding:30px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.support-card h3{margin-top:0}.support-card dl{margin:0}.support-card dl div{display:grid;grid-template-columns:155px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.support-card dt{color:var(--muted)}.support-card dd{margin:0;font-weight:800;overflow-wrap:anywhere}.legal-note{color:var(--muted);font-size:.84rem}
.footer{padding-top:52px;color:#fff;background:var(--navy)}.footer-grid{display:grid;grid-template-columns:155px 1fr 1.2fr;gap:36px;align-items:center}.footer-grid img{width:145px;padding:10px;background:#fff;border-radius:18px}.footer-grid blockquote{margin:0;font-size:1.25rem;font-weight:850}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:42px;padding:18px 0;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.14);font-size:.84rem}.footer-bottom nav{display:flex;gap:16px}.footer-bottom a{color:#fff}.back-to-top{position:fixed;right:22px;bottom:22px;z-index:90;width:48px;height:48px;border:0;border-radius:50%;color:#fff;background:var(--red);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.06)}}@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes heartbeatMove{to{left:100%}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes timelineGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(max-width:1080px){.topbar{grid-template-columns:225px 1fr auto}.navigation{gap:11px}.navigation a{font-size:.8rem}.emergency-grid{grid-template-columns:2fr repeat(2,1fr)}.emergency-main{grid-row:span 2}.four-column{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{grid-template-columns:1fr auto}.menu-button{display:block;padding:10px 15px;color:#fff;background:var(--navy);border:0;border-radius:10px;font-weight:850}.navigation{display:none;position:absolute;top:88px;right:0;left:0;flex-direction:column;align-items:center;padding:22px;background:#fff;box-shadow:var(--shadow)}.navigation.open{display:flex;animation:menuIn .25s ease both}.donation-pill{display:none}.hero{min-height:760px}.hero-bg{background-position:67% center}.hero-overlay{background:linear-gradient(90deg,rgba(2,15,26,.92),rgba(2,15,26,.52))}.two-column,.about-grid,.support-grid,.footer-grid{grid-template-columns:1fr}.portrait-placeholder{min-height:330px}.emergency-grid{grid-template-columns:1fr 1fr}.emergency-main{grid-column:1/-1;grid-row:auto}.footer-grid{text-align:center}.footer-grid img{margin:auto}.timeline::before{left:24px}.timeline-item{grid-template-columns:1fr;gap:4px;padding-left:62px}.timeline-item::before{left:16px}.timeline-item time{text-align:left}}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.page-width{width:min(100% - 24px,1180px)}.brand>span{display:none}.brand img{width:58px;height:58px}.topbar{min-height:72px}.navigation{top:72px}.hero{min-height:710px}.hero h1{font-size:3.45rem}.hero-logo{width:145px}.hero-actions{flex-direction:column}.button{width:100%}.emergency-grid,.four-column{grid-template-columns:1fr}.emergency-main{grid-column:auto}.section{padding:60px 0}.card{padding:23px}.amount-row,.cost-row{flex-direction:column;align-items:flex-start}.support-card dl div{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:center;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Herzsicheres Taxa – konsolidierte Ergänzungen */
.portrait-card{margin:0;overflow:hidden;background:#fff;border-radius:30px;box-shadow:var(--shadow)}
.portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 34%}
.portrait-card figcaption{display:flex;flex-direction:column;gap:2px;padding:16px 18px 18px}
.portrait-card figcaption strong{font-size:1.05rem}
.portrait-card figcaption span{color:var(--muted);font-size:.9rem}

.payment-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:30px;align-items:start}
.support-card dl{margin:0;min-width:0}
.support-card dl div{display:block;padding:13px 0 15px;border-bottom:1px solid var(--line)}
.support-card dl div:first-child{padding-top:4px}
.support-card dt{margin:0 0 5px;color:var(--muted);font-size:.88rem;font-weight:500}
.support-card dd{margin:0;color:var(--ink);font-size:1.02rem;font-weight:800;line-height:1.35;word-break:normal;overflow-wrap:normal;hyphens:none}
.support-card dd[data-holder],.support-card dd[data-iban],.support-card dd[data-purpose]{white-space:nowrap}
.support-card dd[data-iban]{font-size:.98rem;font-variant-numeric:tabular-nums;letter-spacing:.015em}
.sepa-qr{display:flex;flex-direction:column;align-items:center;align-self:start;gap:7px;padding-top:5px;text-align:center}
.sepa-qr img{width:170px;max-width:100%;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px}
.sepa-qr small{color:var(--muted)}
.legal-note{margin-top:22px;color:var(--muted);font-size:.84rem;line-height:1.55}

.company-support{grid-column:1/-1;display:grid;grid-template-columns:64px 1fr;gap:20px;margin-top:4px;padding:28px 30px;background:rgba(255,255,255,.72);border:1px solid rgba(145,23,31,.12);border-radius:var(--radius)}
.company-support-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--red);font-size:1.5rem;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.company-support .kicker{margin-top:0}
.company-support h3{margin:2px 0 10px;font-size:clamp(1.35rem,2.4vw,1.8rem)}
.company-support p{max-width:900px}
.company-support-note{margin-bottom:0;padding-top:8px;font-weight:700}
.company-support-contact{margin:18px 0 0}
.company-support .button.secondary{color:var(--red);border-color:var(--red);background:#fff}
.company-support .button.secondary:hover{color:#fff;background:var(--red)}

.cost-row>span{min-width:0}
.cost-row>span strong{display:block;font-weight:800}
.cost-row>span small{display:block;margin-top:3px;color:var(--muted);font-size:.82rem;line-height:1.4}
.cost-row>strong{white-space:nowrap;align-self:center}
.cost-note{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:1.55}

.footer a,.legal-page a,.legal-footer a{color:inherit}
.footer-email{font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px}
.legal-topbar{grid-template-columns:1fr;min-height:88px}
.legal-page{padding-top:clamp(60px,8vw,90px);max-width:920px}
.legal-page>h1{margin-top:4px;margin-bottom:26px}
.legal-card{margin:0 0 18px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 34px rgba(0,0,0,.045)}
.legal-card h2{margin-top:0;font-size:1.25rem}
.legal-card p:last-child{margin-bottom:0}
.legal-footer{display:flex;justify-content:space-between;gap:18px;padding-top:10px;padding-bottom:42px}

@media(max-width:840px){
  .payment-grid{grid-template-columns:1fr;gap:24px}
  .sepa-qr{width:100%;padding-top:0}
  .sepa-qr img{width:205px}
}
@media(max-width:560px){
  .company-support{grid-template-columns:1fr;padding:24px}
  .legal-card{padding:20px}
  .legal-footer{flex-direction:column}
  .support-card dd[data-holder],.support-card dd[data-iban],.support-card dd[data-purpose]{white-space:normal}
}
@media(max-width:520px){
  .cost-row{align-items:flex-start;gap:14px}
  .cost-row>strong{font-size:.95rem}
}
@media(max-width:430px){
  .support-card{padding:24px 20px}
  .support-card dd[data-iban]{font-size:.94rem}
  .sepa-qr img{width:min(210px,75vw)}
}


/* v2.5 – Zeitfaktor, Rettungsdienst und Zusammenspiel von CPR + AED */
.time-bridge{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:34px;
  align-items:stretch;
  margin-top:34px;
  padding:clamp(26px,4vw,42px);
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.time-bridge-copy h3{
  margin:.15rem 0 .85rem;
  font-size:clamp(1.45rem,2.8vw,2rem);
}

.time-bridge-copy p{
  line-height:1.7;
}

.time-facts{
  display:grid;
  gap:12px;
}

.time-facts article{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-radius:18px;
  background:var(--soft);
}

.time-facts strong{
  color:var(--red);
  font-size:1.2rem;
  line-height:1.1;
}

.time-facts span{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.45;
}

.cpr-aed-box{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:24px;
  align-items:start;
  margin-top:24px;
  padding:clamp(26px,4vw,38px);
  border-radius:28px;
  background:rgba(145,23,31,.055);
  border:1px solid rgba(145,23,31,.14);
}

.cpr-aed-mark{
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:#fff;
  color:var(--red);
  font-weight:900;
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}

.cpr-aed-box h3{
  margin:.15rem 0 .7rem;
  font-size:clamp(1.4rem,2.7vw,1.9rem);
}

.cpr-aed-box p{
  line-height:1.7;
}

.resus-flow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
}

.resus-flow span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  font-weight:800;
  font-size:.9rem;
}

.resus-flow span strong{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:.75rem;
}

.resus-flow i{
  color:var(--muted);
  font-style:normal;
}

.source-note{
  margin:18px auto 0;
  max-width:900px;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
  text-align:center;
}

@media(max-width:820px){
  .time-bridge{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .time-bridge,
  .cpr-aed-box{
    padding:24px 20px;
    border-radius:22px;
  }

  .time-facts article{
    grid-template-columns:1fr;
    gap:5px;
  }

  .cpr-aed-box{
    grid-template-columns:1fr;
  }

  .cpr-aed-mark{
    width:66px;
    height:66px;
  }

  .resus-flow{
    gap:7px;
  }

  .resus-flow i{
    display:none;
  }
}


/* v2.6 – Veröffentlichungsfassung */
.aed-definition{
  margin-top:18px;
  padding:18px 20px;
  border-left:4px solid var(--red);
  background:#fff;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}
.aed-definition > strong{
  display:block;
  margin-bottom:5px;
  color:var(--red);
  font-size:1.05rem;
}
.aed-definition p{
  margin:0;
  line-height:1.65;
}

/* Navigation bewusst kompakter halten */
.main-nav{
  gap:18px;
}
.main-nav a{
  white-space:nowrap;
  font-size:.9rem;
}
