/* Recht & Heim: neutral glass surfaces, independent from legacy product cards. */
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body.rh-page { margin:0; background:#f5f5f7; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; -webkit-font-smoothing:antialiased; }
.rh-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rh-page>a.sr-only:focus { position:fixed; top:8px; left:8px; width:auto; height:auto; padding:12px; margin:0; clip:auto; z-index:1100; background:#fff; color:#222; }
html[data-theme="dark"] body.rh-page { background:#242424!important; }
.rh { --ink:#202022; --muted:#616166; --line:rgba(30,30,32,.13); --surface:rgba(255,255,255,.68); --accent:#3860b2; width:min(1280px,calc(100% - 64px)); margin:auto; padding:118px 0 80px; color:var(--ink); }
html[data-theme="dark"] .rh { --ink:#f5f5f7; --muted:#b6b6bc; --line:rgba(255,255,255,.16); --surface:rgba(32,32,34,.76); --accent:#a9c5ff; }
.rh * { box-sizing:border-box; }
.rh [hidden] { display:none!important; }
.rh h1,.rh h2,.rh h3,.rh p { margin:0; }
.rh h1 { font-size:clamp(42px,4.6vw,64px); line-height:1.03; letter-spacing:-.055em; font-weight:650; text-wrap:balance; }
.rh h2 { font-size:clamp(30px,3.7vw,48px); line-height:1.1; letter-spacing:-.04em; font-weight:600; text-wrap:balance; }
.rh h3 { font-size:clamp(23px,2.1vw,29px); line-height:1.16; letter-spacing:-.03em; font-weight:600; text-wrap:balance; }
.rh p { font-size:17px; line-height:1.65; color:var(--muted); }
.rh .rh-small { font-size:13px; line-height:1.55; }
.rh .rh-eyebrow { font-size:11px; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--accent); }
.rh a { color:var(--accent); text-underline-offset:4px; }
.rh button,.rh input { font:inherit; }
.rh button,.rh summary { cursor:pointer; }
.rh :is(a,button,input,summary):focus-visible { outline:3px solid #6297f5; outline-offset:5px; }
.rh-section { margin-top:100px; scroll-margin-top:110px; }
.rh-section-head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.rh-section-head>div { max-width:710px; }
.rh-section-head .rh-eyebrow { margin-bottom:13px; }
.rh-section-head>p { max-width:330px; }
.rh-card { position:relative; border:1px solid var(--line); border-radius:30px; padding:34px; background:var(--surface); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 45px rgba(0,0,0,.04); backdrop-filter:blur(20px); }
.rh .rh-dark { --ink:#f5f5f7; --muted:#bdbdc3; --accent:#afc9ff; --line:rgba(255,255,255,.15); color:var(--ink); background:linear-gradient(145deg,#303033,#19191b); }
.rh .rh-white { --ink:#202022; --muted:#606068; --accent:#3b60aa; --line:rgba(30,30,32,.14); color:var(--ink); background:linear-gradient(135deg,#fff,#e9eaee); }
.rh-lift { transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
@media(hover:hover) { .rh-lift:hover { transform:translateY(-5px); border-color:rgba(124,150,198,.65); box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 24px 50px rgba(0,0,0,.13); } }
.rh-hero { display:grid; grid-template-columns:1.06fr 1fr; gap:20px; }
.rh-hero-copy { padding:clamp(28px,4vw,52px); display:flex; flex-direction:column; gap:26px; justify-content:center; }
.rh-hero-copy h1 span { color:#b8cfff; }
.rh-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.rh .rh-btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:12px; padding:12px 22px; border:1px solid var(--line); border-radius:99px; background:transparent; color:var(--ink); text-decoration:none; font-size:14px; line-height:1.4; font-weight:600; transition:background .2s,transform .2s; }
.rh .rh-btn:hover { background:rgba(128,128,128,.13); transform:translateY(-2px); }
.rh .rh-primary { background:#456cc3; border-color:#456cc3; color:white; }
.rh .rh-primary:hover { background:#365bad; }
.rh-house-card { padding:30px; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-height:560px; }
.rh-house-card:before { content:""; position:absolute; width:320px; height:320px; background:radial-gradient(circle,rgba(111,146,208,.18),transparent 68%); top:25%; left:20%; pointer-events:none; }
.rh-house { width:100%; max-height:330px; overflow:visible; filter:drop-shadow(0 22px 18px rgba(30,35,45,.13)); }
.rh-house .rh-house-roof { transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.rh-house-card:hover .rh-house-roof { transform:translateY(-9px); }
.rh-house .rh-house-shield { transform-origin:390px 240px; animation:rh-float 5s ease-in-out infinite; }
.rh-house [data-house-part] { transition:opacity .3s; }
.rh-house-card[data-part="inhalt"] [data-house-part="dach"],.rh-house-card[data-part="inhalt"] [data-house-part="schild"],.rh-house-card[data-part="recht"] [data-house-part="sofa"] { opacity:.3; }
.rh-house-choice { display:flex; gap:6px; padding:5px; background:rgba(255,255,255,.5); border:1px solid rgba(255,255,255,.8); border-radius:99px; }
.rh-house-choice button { flex:1; min-height:42px; padding:8px; border:0; border-radius:99px; font-size:13px; font-weight:600; color:#58585f; background:none; }
.rh-house-choice button[aria-pressed="true"] { background:#242426; color:#fff; box-shadow:0 4px 14px #0002; }
.rh-house-explain { min-height:116px; margin-top:18px; }
.rh-anchors { display:flex; gap:8px; flex-wrap:wrap; padding:17px 0; border-bottom:1px solid var(--line); }
.rh-anchors a { text-decoration:none; padding:10px 15px; font-size:13px; border-radius:99px; }
.rh-anchors a:hover { background:var(--surface); }
.rh-highlights { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:20px; }
.rh-highlight { display:flex; flex-direction:column; gap:20px; overflow:hidden; }
.rh-highlight h3 { max-width:260px; }
.rh-highlight .rh-small { margin-top:auto; }
.rh-ticket { border-radius:70px 30px 30px 30px; }
.rh-ticket:after { content:""; position:absolute; top:20px; right:24px; width:15px; height:15px; border-radius:50%; background:#d4d5da; box-shadow:inset 1px 2px 3px #0003; }
.rh-discount { display:flex; align-items:baseline; letter-spacing:-.075em; font-size:86px; font-weight:600; line-height:1.05; }
.rh-discount small { font-size:30px; margin-left:8px; }
.rh-discount-prefix { font-size:12px; letter-spacing:.02em; margin-bottom:4px; }
.rh-discount-steps { display:flex; gap:5px; }
.rh-discount-steps button { border:1px solid #c4c6cc; border-radius:10px; background:#fff7; color:#45454b; padding:10px 0; flex:1; font-size:13px; min-height:42px; }
.rh-discount-steps button[aria-pressed="true"] { background:#242426; color:#fff; border-color:#242426; }
.rh-discount-note { min-height:42px; }
.rh-timeline { height:160px; display:flex; flex-direction:column; justify-content:center; gap:18px; }
.rh-timeline-row { display:grid; grid-template-columns:64px 1fr; gap:10px; align-items:center; font-size:11px; }
.rh-timeline-line { height:36px; border-radius:12px; border:1px solid #ffffff40; background:#ffffff0d; position:relative; }
.rh-timeline-line.old { width:66%; background:linear-gradient(90deg,#ffffff15,#ffffff35); }
.rh-timeline-line.new { background:linear-gradient(90deg,#a5c4ff25 0 66%,#a5c4ff75 66%); }
.rh-timeline-line.new:after { content:""; position:absolute; height:84px; top:-49px; left:66%; border-left:1px dashed #bdd2fa; }
.rh-timeline-key { display:flex; justify-content:space-between; color:#c4c4c9; font-size:10px; padding-left:74px; }
.rh-update-art { height:160px; display:grid; place-items:center; }
.rh-update-ring { width:135px; height:135px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; box-shadow:inset 0 2px 4px #fff2,0 12px 28px #0001; position:relative; background:linear-gradient(145deg,#ffffff1c,#ffffff02); }
.rh-update-ring:before { content:""; position:absolute; inset:-13px; border:1px dashed var(--line); border-radius:50%; }
.rh-update-ring svg { width:57px; color:var(--accent); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.rh-highlight:hover .rh-update-ring svg { transform:rotate(180deg); }
.rh-update-ring span { position:absolute; bottom:1px; right:1px; width:29px; height:29px; display:grid; place-items:center; background:#456cc3; color:white; border:3px solid #ddd; border-radius:50%; }
.rh-case-shell { overflow:hidden; border-radius:36px; }
.rh-tabs { display:flex; gap:7px; border-bottom:1px solid var(--line); padding:14px; }
.rh-tabs button { flex:1; border:0; background:none; border-radius:99px; padding:14px; color:var(--muted); font-size:14px; font-weight:600; min-height:48px; }
.rh-tabs button[aria-selected="true"] { background:var(--ink); color:var(--surface); }
.rh-case { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:45px; padding:40px; }
.rh-case-visual { background:linear-gradient(150deg,#fafbfc,#dde0e6); color:#424955; border:1px solid #fff9; border-radius:28px 95px 28px 28px; min-height:290px; display:grid; place-items:center; }
.rh-case-visual svg { width:85%; height:235px; overflow:visible; }
.rh-case-copy { display:grid; gap:20px; }
.rh-case-copy .rh-case-tag { font-size:12px; color:var(--accent); font-weight:600; }
.rh-case-result { border-top:1px solid var(--line); padding-top:18px; }
.rh-case-result strong { color:var(--ink); }
.rh-water { animation:rh-water 3s ease-in-out infinite; }
.rh-wind { animation:rh-wind 3s ease-in-out infinite; }
.rh-case[hidden] * { animation-play-state:paused; }
.rh-table-tools { display:flex; gap:10px; margin:24px 0; }
.rh-compare-group { border-top:1px solid var(--line); }
.rh-compare-group:last-of-type { border-bottom:1px solid var(--line); }
.rh details>summary { list-style:none; display:flex; align-items:center; gap:14px; justify-content:space-between; padding:23px 0; font-size:19px; font-weight:600; }
.rh details>summary::-webkit-details-marker { display:none; }
.rh details>summary:after { content:"+"; font-size:25px; font-weight:400; color:var(--accent); flex-shrink:0; }
.rh details[open]>summary:after { content:"−"; }
.rh-summary-count { font-size:12px; color:var(--muted); font-weight:400; margin-left:auto; }
.rh table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.55; table-layout:fixed; margin-bottom:24px; }
.rh th,.rh td { padding:17px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); overflow-wrap:break-word; }
.rh thead th { background:var(--surface); font-size:13px; }
.rh thead th:first-child { width:42%; }
.rh tbody th { font-weight:500; }
.rh tbody td { color:var(--muted); }
.rh tbody tr:hover { background:var(--surface); }
.rh td strong { color:var(--ink); font-weight:600; }
.rh .rh-price { color:var(--ink); }
.rh-price-note { margin-top:20px; }
.rh-extra-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.rh-extra-grid details { padding:0 26px; }
.rh-extra-grid details>summary { font-size:20px; }
.rh-extra-grid ul { padding:0 0 0 18px; margin:0 0 24px; color:var(--muted); line-height:1.7; font-size:15px; }
.rh-extra-grid li+li { margin-top:12px; }
.rh-service-strip { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; margin-top:35px; }
.rh-service-strip>div { border-left:1px solid var(--line); padding-left:22px; }
.rh-service-strip h3 { font-size:20px; margin-bottom:10px; }
.rh-advice { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; }
.rh-advice .rh-card { display:flex; flex-direction:column; gap:20px; }
.rh-doc-link { border:1px solid var(--line); border-radius:18px; padding:20px; display:flex; justify-content:space-between; align-items:center; gap:20px; text-decoration:none; }
.rh-doc-link strong { display:block; color:var(--ink); }
.rh-doc-link small { display:block; color:var(--muted); margin-top:5px; font-size:12px; }
.rh-doc-link:hover { background:#8881; }
.rh .rh-faq.fc-faq { padding:0; --faq-ink:var(--ink); --faq-muted:var(--muted); --faq-surface:var(--surface); --faq-line:var(--line); --faq-soft:rgba(128,128,128,.1); --faq-accent:var(--accent); --faq-open:var(--surface); }
.rh-faq .fc-faq-layout { max-width:none; }
.rh-faq .fc-faq-item { backdrop-filter:blur(20px); box-shadow:inset 0 1px 0 #ffffff18; }
.rh-faq .fc-faq-item>summary:after { content:none; }
.rh-faq .fc-faq-answer p { font-size:15px; line-height:1.75; }
.rh-disclosure-inner { display:flow-root; }
.rh details[data-animating] { overflow-anchor:none; }
.rh details[data-animated]>summary:after { content:none; }
.rh-disclosure-icon { width:28px; height:28px; position:relative; flex:0 0 28px; border-radius:50%; color:var(--accent); background:rgba(128,128,128,.1); transition:background .2s,transform .2s; }
.rh-disclosure-icon:before,.rh-disclosure-icon:after { content:""; position:absolute; width:12px; height:1.5px; top:13px; left:8px; border-radius:1px; background:currentColor; }
.rh-disclosure-icon:after { transform:rotate(90deg); transition:transform .28s cubic-bezier(.23,1,.32,1); }
.rh details[data-expanded="true"] .rh-disclosure-icon:after { transform:rotate(0); }
@media(hover:hover) { .rh summary:hover .rh-disclosure-icon { background:rgba(128,128,128,.19); transform:scale(1.08); } }
.rh-source { margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
@keyframes rh-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes rh-water { 0%,100% { transform:translateY(0); opacity:.7; } 50% { transform:translateY(4px); opacity:1; } }
@keyframes rh-wind { 0%,100% { transform:translateX(-6px); opacity:.5; } 50% { transform:translateX(6px); opacity:1; } }
.rh-inview { animation:rh-enter .55s ease both; }
@keyframes rh-enter { from { opacity:.35; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) { .rh { width:calc(100% - 40px); } .rh-hero { grid-template-columns:1fr 1fr; } .rh-hero-copy { padding:30px; } .rh-house-card { min-height:520px; } .rh-highlights { gap:14px; } .rh-highlight { padding:26px; } .rh-section-head { align-items:start; } }
@media(max-width:760px) { .rh { width:calc(100% - 32px); padding-top:104px; } .rh-hero,.rh-highlights,.rh-case,.rh-advice { grid-template-columns:1fr; } .rh h1 { font-size:46px; } .rh-hero-copy { padding:32px 26px; } .rh-house-card { min-height:460px; } .rh-section { margin-top:65px; } .rh-section-head { display:block; } .rh-section-head>p { margin-top:18px; max-width:none; } .rh-highlight { padding:30px; } .rh-highlight h3 { max-width:none; } .rh-highlights { gap:18px; } .rh-ticket { border-radius:65px 28px 28px 28px; } .rh-case { padding:22px; gap:26px; } .rh-case-visual { min-height:240px; } .rh-tabs { gap:0; padding:9px; } .rh-tabs button { font-size:12px; padding:12px 8px; } .rh-extra-grid,.rh-service-strip { grid-template-columns:1fr; } .rh th,.rh td { padding:14px 10px; font-size:12px; } .rh thead th:first-child { width:38%; } .rh details>summary { font-size:17px; } .rh-summary-count { display:none; } .rh-card { border-radius:25px; } .rh-advice .rh-card { padding:27px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .rh *, .rh *:before, .rh *:after { animation:none!important; transition:none!important; } }
@media(max-width:520px) {
  .rh table,.rh thead,.rh tbody { display:block; }
  .rh tr { display:grid; grid-template-columns:1fr 1fr; }
  .rh thead th:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .rh tbody th { grid-column:1/-1; border-bottom:0; padding:16px 12px 4px; font-size:14px; font-weight:600; }
  .rh td { font-size:14px; padding:8px 12px 16px; }
  .rh thead th { font-size:13px; padding:12px; }
  .rh-house-explain { min-height:130px; }
}
