/* IhrPasst – nur Startseite (Kerzenschein). Alles unter .home, damit nichts mit site.css kollidiert. */
.home .wrap{max-width:1440px;padding:0 120px}
.home .top .wrap{height:96px;gap:48px}
.home .top .logo{font-size:32px}
.home .eyebrow{font-size:13px;letter-spacing:.3em;line-height:1.7}
.home h2{font-size:60px;line-height:1.05}

.home .link-line{display:inline-flex;align-items:center;min-height:60px;color:var(--text);font-size:16px}
.home .link-line span{border-bottom:1px solid var(--text);padding-bottom:2px}
.home .link-line:hover{color:var(--gold)}
.home .link-line:hover span{border-color:var(--gold)}

/* Hero */
.home .hero .wrap{min-height:calc(100vh - 96px);max-height:900px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding-top:40px;padding-bottom:40px}
.home .hero-text{display:flex;flex-direction:column;gap:30px}
.home .hero h1{font-size:clamp(54px,6.2vw,96px);line-height:1}
.home .hero .lead{max-width:520px;font-size:21px;line-height:1.6}
.home .actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:8px}
.home .actions .btn{min-height:60px;padding:0 40px;letter-spacing:.08em}
.home .scene{display:flex;justify-content:center}
.home .scene svg{width:100%;max-width:600px;height:auto}
.home .flame{transform-box:fill-box;transform-origin:50% 100%;animation:el-flicker 3.2s ease-in-out infinite}
.home .flame.b{animation-duration:2.7s;animation-delay:.4s}
.home .glow{animation:el-breathe 4s ease-in-out infinite}
.home .glow.b{animation-delay:1.2s}
.home .bouquet{transform-box:fill-box;transform-origin:50% 100%;animation:el-sway 7s ease-in-out infinite}
@keyframes el-flicker{0%,100%{transform:scale(1,1) rotate(0)}25%{transform:scale(.96,1.05) rotate(-1.5deg)}50%{transform:scale(1.03,.97) rotate(1deg)}75%{transform:scale(.98,1.03) rotate(-.5deg)}}
@keyframes el-breathe{0%,100%{opacity:1}50%{opacity:.82}}
@keyframes el-sway{0%,100%{transform:rotate(0)}50%{transform:rotate(1.4deg)}}
@media (prefers-reduced-motion:reduce){.home .flame,.home .glow,.home .bouquet{animation:none}}

/* So funktioniert es */
.home .how{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:96px}
.home .how .wrap{padding-top:110px;padding-bottom:110px;display:flex;flex-direction:column;gap:60px}
.home .how .grid4{gap:40px}
.home .step{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--gold)}
.home .num{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--gold);line-height:1.1}
.home .step h3{font-family:var(--sans);font-size:20px;font-weight:500;line-height:1.3}
.home .step p{font-size:16px;line-height:1.65;color:var(--muted)}

/* Diskretion */
.home .quote{scroll-margin-top:96px}
.home .quote .wrap{padding-top:130px;padding-bottom:130px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.home .quote p.big{max-width:900px;font-family:var(--serif);font-style:italic;font-size:52px;line-height:1.2}
.home .quote p.small{font-size:17px;color:var(--muted)}

/* Video-Date */
.home .video{border-top:1px solid var(--line);scroll-margin-top:96px}
.home .video .wrap{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:5fr 1fr 6fr;align-items:center}
.home .video-art{aspect-ratio:4/5;background:var(--bg2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.home .video-art svg{width:78%;height:auto}
.home .video-text{grid-column:3;display:flex;flex-direction:column;gap:26px}
.home .video-text p:not(.eyebrow){max-width:520px;font-size:18px;line-height:1.65;color:var(--text2)}

/* Abschluss */
.home .cta{background:var(--bg2);border-top:1px solid var(--line)}
.home .cta .wrap{padding-top:120px;padding-bottom:120px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.home .cta h2{font-size:76px;line-height:1}
.home .cta p{font-size:18px;color:var(--muted)}
.home .cta .btn{min-height:60px;padding:0 48px;letter-spacing:.08em}
.home .foot{margin-top:0}

@media (max-width:1100px){
  .home .wrap{padding:0 48px}
  .home .top .wrap{height:84px}
  .home .hero .wrap{min-height:0;max-height:none;padding-top:56px;padding-bottom:72px}
  .home h2{font-size:50px}
  .home .how .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .quote p.big{font-size:44px}
}
@media (max-width:960px) and (min-width:761px){.home .hero .wrap{grid-template-columns:minmax(0,1fr);gap:8px;padding-top:32px}.home .scene{order:-1}.home .scene svg{max-width:420px}.home .hero h1{font-size:72px}.home .hero .lead{max-width:600px}}
@media (max-width:760px){
  .home .wrap{padding:0 16px}
  .home .top .wrap{height:68px;gap:8px}
  .home .top .logo{font-size:23px}
  .home .hero .wrap{grid-template-columns:minmax(0,1fr);padding-top:24px;padding-bottom:64px;gap:8px}
  .home .scene{order:-1}
  .home .scene svg{max-width:340px}
  .home .hero-text{gap:22px}
  .home .eyebrow{font-size:12px;letter-spacing:.22em}
  .home .hero h1{font-size:54px}
  .home .hero .lead{font-size:18px}
  .home .actions{flex-direction:column;align-items:stretch;gap:6px}
  .home .actions .btn{min-height:56px}
  .home .link-line{justify-content:center;min-height:44px}
  .home h2{font-size:40px}
  .home .how .wrap{padding-top:64px;padding-bottom:64px;gap:36px}
  .home .how .grid4{grid-template-columns:minmax(0,1fr);gap:28px}
  .home .num{font-size:34px}
  .home .quote .wrap{padding-top:72px;padding-bottom:72px}
  .home .quote p.big{font-size:34px}
  .home .video .wrap{grid-template-columns:minmax(0,1fr);padding-top:64px;padding-bottom:64px;gap:28px}
  .home .video-text{grid-column:auto;gap:20px}
  .home .video-text p:not(.eyebrow){font-size:17px}
  .home .cta .wrap{padding-top:72px;padding-bottom:72px;gap:22px}
  .home .cta h2{font-size:50px}
  .home .cta .btn{align-self:stretch;min-height:56px}
  .home .how,.home .quote,.home .video{scroll-margin-top:68px}
}
@media (max-width:360px){
  .home .top .logo{font-size:21px}
  .home .hero h1{font-size:46px}
  .home h2{font-size:34px}
  .home .cta h2{font-size:42px}
}
@media (max-height:500px) and (orientation:landscape){.home .hero .wrap{min-height:0;padding-top:40px;padding-bottom:56px}}
@media (min-width:761px){.home .nw{white-space:nowrap}}
.hero-free{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;color:var(--text2);font-size:15px}
.hero-free .pill{font-size:15px;min-height:34px;padding:4px 16px}
