/* Template-Titel und dessen Leerraum ausblenden, volle Breite */
body.page-id-892 { overflow-x: hidden; }
body.page-id-892 main > .wp-block-group.alignfull.has-tertiary-background-color,
body.page-id-892 .wp-block-post-title { display: none !important; }

.raf {
  --lime:#A2F5B2; --dark:#0f0f0f; --dark-2:#161616; --dark-3:#1e1e1e; --gray:#a8a8a8; --light:#f0f0f0; --white:#fff;
  --serif:'Instrument Serif',serif; --sans:'DM Sans',sans-serif; --mono:'JetBrains Mono',monospace;
  background:var(--dark); color:var(--light); font-family:var(--sans); font-size:17px; line-height:1.6;
}
/* Full-Bleed: schlägt die Layout-Regeln des Block-Themes (max-width + margin:auto !important) */
body div.raf.raf {
  width:100vw !important; max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important; margin-right:0 !important;
  position:relative; left:0; right:auto; box-sizing:border-box;
}
.raf *, .raf *::before, .raf *::after { box-sizing:border-box; }
.raf p, .raf ul, .raf h1, .raf h2, .raf h3 { margin:0; padding:0; }
.raf :focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.raf a { color:var(--lime); }

/* Tag-Zeile */
.raf .tag { font-family:var(--mono); font-size:.72rem; color:var(--lime); letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:24px; display:flex; align-items:center; gap:10px; }
.raf .tag::before { content:''; display:block; width:32px; height:1px; background:var(--lime); }
.raf .center .tag { justify-content:center; }

/* Typo */
.raf h1 { font-family:var(--serif); font-size:clamp(2.6rem,4.4vw,4rem); line-height:1.08; font-weight:400; color:var(--white); margin-bottom:24px; }
.raf h2 { font-family:var(--serif); font-size:clamp(2rem,3vw,2.8rem); line-height:1.15; font-weight:400; color:var(--white); margin-bottom:28px; }
.raf h3 { font-family:var(--serif); font-size:1.25rem; line-height:1.3; font-weight:400; color:var(--white); margin-bottom:12px; }
.raf h1 em, .raf h2 em { font-style:italic; color:var(--lime); }
.raf .lead { font-size:1.05rem; color:rgba(240,240,240,.7); line-height:1.75; margin-bottom:20px; max-width:520px; }
.raf strong { color:var(--white); font-weight:700; }

/* Buttons */
.raf .btn-primary { background:var(--lime); color:var(--dark) !important; padding:14px 28px; border-radius:2px; text-decoration:none;
  font-weight:700; font-size:.9rem; display:inline-block; transition:opacity .2s, transform .2s; text-align:center; }
.raf .btn-primary:hover { opacity:.88; transform:translateY(-1px); }
.raf .btn-ghost { border:1px solid rgba(255,255,255,.25); color:var(--light) !important; padding:14px 28px; border-radius:2px;
  text-decoration:none; font-size:.9rem; display:inline-block; margin-left:16px; transition:border-color .2s; }
.raf .btn-ghost:hover { border-color:rgba(255,255,255,.6); }

/* Hero */
.raf .hero { min-height:80vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px;
  padding:100px 48px 80px; max-width:1200px; margin:0 auto; position:relative; }
.raf .hero-photo { width:100%; max-width:460px; aspect-ratio:3/4; border-radius:4px; overflow:hidden;
  border:1px solid rgba(255,255,255,.08); margin:0 auto; }
.raf .hero-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }

/* Sektionen */
.raf .band { padding:100px 48px; }
.raf .band.alt { background:var(--dark-2); border-top:1px solid rgba(255,255,255,.06); }
.raf .inner { max-width:1100px; margin:0 auto; }
.raf .narrow { max-width:760px; margin:0 auto; }
.raf .center { text-align:center; }
.raf .center .lead { margin-left:auto; margin-right:auto; max-width:640px; }
.raf .two { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }

/* Cards */
.raf .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:48px; text-align:left; }
.raf .card { background:var(--dark-3); padding:36px 32px; border-top:2px solid transparent; transition:background .2s, border-color .2s; }
.raf .card:hover { background:#222; border-top-color:var(--lime); }
.raf .num { font-family:var(--mono); font-size:.68rem; color:var(--lime); letter-spacing:.1em; margin-bottom:16px; display:block; }
.raf .card p { font-size:.92rem; color:var(--gray); line-height:1.7; }
.raf .cost { margin-top:40px; font-size:1.05rem; }

/* Lieferumfang */
.raf ul.list { list-style:none; margin-top:8px; }
.raf ul.list li { padding:20px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:.98rem; color:rgba(240,240,240,.8); line-height:1.6; }
.raf ul.list li:first-child { border-top:1px solid rgba(255,255,255,.08); }
.raf ul.list li strong { display:block; font-family:var(--serif); font-weight:400; font-size:1.15rem; margin-bottom:4px; }
.raf .photo-wide { width:100%; aspect-ratio:4/5; border-radius:4px; overflow:hidden; border:1px solid rgba(255,255,255,.08); }
.raf .photo-wide img { width:100%; height:100%; object-fit:cover; display:block; }

/* Angebot */
.raf .offer { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:48px; }
.raf .offer > div { background:var(--dark-3); padding:40px 36px; }
.raf .checks { list-style:none; }
.raf .checks li { position:relative; padding:14px 0 14px 32px; border-bottom:1px solid rgba(255,255,255,.08); color:var(--white); }
.raf .checks li::before { content:'\2713'; position:absolute; left:0; top:14px; color:var(--lime); font-weight:700; }
.raf .price-row { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:20px; }
.raf .price-label { font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--lime); }
.raf .price { font-family:var(--serif); font-size:3rem; color:var(--lime); line-height:1; text-align:right; }
.raf .price small { display:block; font-family:var(--sans); font-size:.8rem; color:var(--gray); margin-top:6px; }
.raf .offer .note { font-size:.85rem; color:var(--gray); margin-bottom:24px; }
.raf .offer .btn-primary { display:block; }

/* FAQ */
.raf details { border-bottom:1px solid rgba(255,255,255,.08); }
.raf details:first-of-type { border-top:1px solid rgba(255,255,255,.08); }
.raf summary { cursor:pointer; list-style:none; padding:24px 40px 24px 0; font-family:var(--serif); font-size:1.2rem; color:var(--white); position:relative; }
.raf summary::-webkit-details-marker { display:none; }
.raf summary::after { content:'+'; position:absolute; right:4px; top:20px; font-family:var(--mono); font-size:1.4rem; color:var(--lime); }
.raf details[open] summary::after { content:'\2212'; }
.raf .ans { padding:0 0 28px; color:rgba(240,240,240,.75); font-size:.97rem; line-height:1.75; }
.raf .ans p { margin-bottom:12px; }
.raf .ans ul { padding-left:20px; margin-bottom:12px; }
.raf .ans li { margin-bottom:6px; }

/* Abschluss */
.raf .cta-final { padding:120px 48px; text-align:center; background:var(--dark); border-top:1px solid rgba(255,255,255,.06); }

@media (max-width:900px) {
  .raf .hero { grid-template-columns:1fr; padding:80px 24px 60px; gap:40px; min-height:0; }
  .raf .hero-photo { order:2; max-width:320px; }
  .raf .band { padding:64px 24px; }
  .raf .two, .raf .offer { grid-template-columns:1fr; gap:40px; }
  .raf .offer { gap:2px; }
  .raf .cards { grid-template-columns:1fr; }
  .raf .btn-ghost { margin-left:0; margin-top:12px; }
  .raf .price-row { flex-direction:column; align-items:flex-start; }
  .raf .price { text-align:left; }
  .raf .cta-final { padding:80px 24px; }
}
@media (prefers-reduced-motion:reduce) { .raf * { transition:none !important; } }
