/*
Theme Name: Rising Star
Theme URI: https://risingstar-invest.com
Author: Rising Star International GmbH & Co. KG
Description: Maßgeschneidertes Theme für den Rising-Star-Auftritt: Endkunden-Startseite und Vermittler-Landingpage (Haftungsdach). Ohne Pagebuilder, ohne externe Fonts.
Version: 1.6
Requires PHP: 7.4
License: proprietary
Text Domain: risingstar
*/

:root{
  --ink:#15222E;
  --ink-deep:#0E1720;
  --night:#0A121A;
  --paper:#F1EFE9;
  --paper-soft:#E9E6DD;
  --brass:#A07E3B;
  --brass-soft:#C2A363;
  --steel:#5C6B77;
  --line:rgba(21,34,46,.16);
  --line-light:rgba(241,239,233,.18);
  --serif:'Palatino Linotype','Book Antiqua',Palatino,'Times New Roman',Georgia,serif;
  --sans:'Helvetica Neue',Helvetica,Arial,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
body::after{
  content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400;line-height:1.1}
a{color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
mark.ph{background:rgba(160,126,59,.18);color:inherit;padding:0 3px;border-radius:2px}
.fpo{position:absolute;right:12px;bottom:10px;z-index:4;font-size:10px;letter-spacing:.08em;color:rgba(241,239,233,.9);background:rgba(10,18,26,.55);border:1px solid rgba(241,239,233,.25);padding:4px 9px;pointer-events:none}

/* ---------- Header ---------- */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(rgba(10,18,26,.6),rgba(10,18,26,0));color:var(--paper);transition:background .3s}
header.site.scrolled{background:rgba(14,23,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-light)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-name{font-family:var(--serif);font-size:17px;letter-spacing:.02em}
.brand-sub{display:block;font-family:var(--sans);font-size:10.5px;color:var(--brass-soft);letter-spacing:.04em}
nav.menu{display:flex;gap:30px;font-size:14px}
nav.menu a{text-decoration:none;opacity:.85;transition:opacity .2s;text-shadow:0 1px 12px rgba(10,18,26,.5)}
nav.menu a:hover{opacity:1}
.nav-cta{border:1px solid var(--brass);color:var(--paper);padding:9px 18px;text-decoration:none;font-size:13.5px;transition:background .2s}
.nav-cta:hover{background:var(--brass)}
.menu-btn{display:none;background:none;border:1px solid var(--line-light);color:var(--paper);padding:8px 12px;font-size:13px;cursor:pointer}
@media(max-width:880px){
  nav.menu,.nav-cta{display:none}
  .menu-btn{display:block}
  nav.menu.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink-deep);border-bottom:1px solid var(--line-light)}
  nav.menu.open a{padding:15px clamp(20px,4vw,56px);border-top:1px solid var(--line-light);text-shadow:none}
}

/* ---------- Hero (Basis + Varianten) ---------- */
.hero{min-height:100svh;position:relative;overflow:hidden;color:var(--paper);display:grid;align-content:center;padding:120px 0 90px;background:var(--night)}
.scene{position:absolute;inset:0}
.scene img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(92deg,rgba(8,14,20,.85) 0%,rgba(8,14,20,.55) 40%,rgba(8,14,20,.15) 72%),linear-gradient(rgba(8,14,20,.25),rgba(8,14,20,.45));z-index:1}
.hero-inner{position:relative;z-index:2}
.hero .kicker{font-size:14px;letter-spacing:.06em;color:var(--brass-soft);margin-bottom:30px;opacity:0;animation:rise .8s .1s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1{font-size:clamp(56px,10vw,140px);letter-spacing:-0.02em;line-height:.98;margin-bottom:34px}
.hero h1 span{display:block;opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1 span:nth-child(1){animation-delay:.2s}
.hero h1 span:nth-child(2){animation-delay:.34s;color:var(--brass-soft)}
.hero h1 span:nth-child(3){animation-delay:.48s}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero p.lead{font-size:clamp(17px,1.7vw,21px);max-width:46ch;color:rgba(241,239,233,.92);opacity:0;animation:rise .9s .68s cubic-bezier(.2,.7,.2,1) forwards;text-shadow:0 1px 18px rgba(8,14,20,.7)}
.hero .cta-row{margin-top:44px;opacity:0;animation:rise .9s .84s cubic-bezier(.2,.7,.2,1) forwards}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 30px;font-size:14.5px;text-decoration:none;letter-spacing:.01em}
.btn-solid{background:var(--brass);color:var(--ink-deep);transition:background .2s}
.btn-solid:hover{background:var(--brass-soft)}
.btn-ghost{border:1px solid rgba(241,239,233,.5);color:var(--paper);transition:border-color .2s;background:rgba(8,14,20,.3)}
.btn-ghost:hover{border-color:var(--paper)}
.hero .status{position:absolute;left:clamp(20px,4vw,56px);right:clamp(20px,4vw,56px);bottom:26px;z-index:2;font-size:12px;color:rgba(241,239,233,.6);display:flex;justify-content:space-between;gap:30px;align-items:flex-end;opacity:0;animation:fade 1.2s 1.15s forwards}
@keyframes fade{to{opacity:1}}
.hero .status .sline{max-width:76ch;text-shadow:0 1px 12px rgba(8,14,20,.8)}
.hero .status .scroll{flex:none;display:flex;align-items:center;gap:10px;letter-spacing:.08em;font-size:11px}
.hero .status .scroll::after{content:"";width:1px;height:42px;background:linear-gradient(var(--brass-soft),transparent)}
@media(max-width:880px){.hero .status{position:static;flex-direction:column;align-items:flex-start;margin-top:44px;opacity:1;animation:none;padding:0 clamp(20px,4vw,56px)}.hero{padding-bottom:44px}}

/* Vermittler-Hero (S/W, kompakter, Fußnoten-Status im Fluss) */
.hero--bw{min-height:88svh;padding:130px 0 70px}
.hero--bw .scene img{object-position:center;filter:grayscale(1) contrast(1.05)}
.hero--bw .hero-inner{max-width:860px;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero--bw .kicker,.hero--bw p.lead,.hero--bw .cta-row{opacity:1;animation:none}
.hero--bw .kicker{margin-bottom:24px}
.hero--bw h1{font-size:clamp(44px,7.2vw,96px);margin-bottom:24px;max-width:16ch;line-height:1}
.hero--bw h1 span{opacity:1;animation:none}
.hero--bw p.lead{max-width:44ch;font-size:clamp(16.5px,1.6vw,20px)}
.hero--bw .cta-row{margin-top:38px}
.hero--bw .status{position:static;display:block;margin-top:34px;font-size:12px;color:rgba(241,239,233,.55);max-width:76ch;opacity:1;animation:none;padding:0;text-shadow:0 1px 12px rgba(8,14,20,.8)}

/* ---------- Statband ---------- */
.stats{background:var(--ink);color:var(--paper);border-top:1px solid rgba(194,163,99,.35);padding:clamp(40px,5vw,64px) 0}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px)}
.stat{border-left:1px solid var(--line-light);padding-left:clamp(16px,2vw,28px)}
.stat .big{font-family:var(--serif);font-size:clamp(38px,4.2vw,64px);line-height:1;letter-spacing:-0.02em}
.stat .lbl{font-size:12.5px;color:rgba(241,239,233,.6);margin-top:12px;max-width:24ch}
.stat .lbl b{display:block;color:var(--brass-soft);font-weight:400;font-size:12px;letter-spacing:.05em;margin-bottom:4px}
@media(max-width:880px){.stats-row{grid-template-columns:1fr 1fr;row-gap:34px}}
@media(max-width:460px){.stats-row{grid-template-columns:1fr}}
.stats-cta{margin-top:30px;padding-top:22px;border-top:1px solid var(--line-light);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:14.5px;color:rgba(241,239,233,.82)}
.stats-cta .act{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.stats-cta a.tel{font-family:var(--serif);font-size:clamp(24px,2.8vw,38px);color:var(--brass-soft);text-decoration:none;letter-spacing:.01em}
.stats-cta a.tel:hover{color:var(--paper)}
.stats-cta a.req{color:rgba(241,239,233,.85);text-decoration:none;border-bottom:1px solid rgba(194,163,99,.5);padding-bottom:2px;font-size:14px}
.stats-cta a.req:hover{color:var(--paper);border-color:var(--paper)}
.stats-fn{margin-top:14px;font-size:11.5px;color:rgba(241,239,233,.45)}

/* ---------- Diptychon ---------- */
.dip{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;padding:14px;background:var(--ink)}
.dip figure{position:relative;overflow:hidden;min-height:52vh}
.dip img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.dip figcaption{position:absolute;left:20px;bottom:16px;z-index:3;font-size:12px;letter-spacing:.06em;color:rgba(241,239,233,.85);text-shadow:0 1px 12px rgba(8,14,20,.8)}
.dip figure::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,18,26,.05),rgba(10,18,26,.35));z-index:1}
@media(max-width:720px){.dip{grid-template-columns:1fr}.dip figure{min-height:44vh}}

/* ---------- Kapitel ---------- */
section{padding:clamp(84px,10vw,155px) 0}
.chapter{display:flex;align-items:baseline;gap:18px;margin-bottom:22px}
.chapter .folio{font-family:var(--serif);font-size:15px;color:var(--brass)}
.chapter .rule{flex:1;height:1px;background:var(--line);max-width:120px}
.chapter .label{font-size:13.5px;color:var(--steel)}
section h2{font-size:clamp(33px,4.4vw,58px);letter-spacing:-0.015em;max-width:20ch;margin-bottom:24px}
.lead-in{max-width:56ch;color:#37454F;font-size:16px;margin-bottom:48px}

/* ---------- Manifest ---------- */
.manifest{color:var(--paper);position:relative;overflow:hidden;padding:clamp(110px,14vw,200px) 0}
.manifest .m-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.manifest::before{content:"";position:absolute;inset:0;background:rgba(10,18,26,.72);z-index:1}
.manifest .m-inner{max-width:960px;margin:0 auto;text-align:center;position:relative;z-index:2}
.manifest blockquote{font-family:var(--serif);font-size:clamp(32px,5.4vw,70px);line-height:1.12;letter-spacing:-0.015em;max-width:24ch;margin:0 auto}
.manifest blockquote em{font-style:italic;color:var(--brass-soft)}
.manifest .attr{margin-top:36px;font-size:13px;letter-spacing:.08em;color:rgba(241,239,233,.6)}

/* ---------- Leistungen Index ---------- */
.idx{border-top:1px solid var(--line)}
.idx-row{display:grid;grid-template-columns:90px 1fr;gap:26px;align-items:baseline;padding:36px 4px;border-bottom:1px solid var(--line);transition:background .2s}
.idx-row:hover{background:rgba(160,126,59,.05)}
.idx-row .folio{font-family:var(--serif);color:var(--brass);font-size:16px}
.idx-row h3{font-size:clamp(26px,3.2vw,44px);letter-spacing:-0.01em}
.idx-row p{font-size:14.5px;color:var(--steel);margin-top:8px;max-width:62ch}
@media(max-width:640px){.idx-row{grid-template-columns:52px 1fr;padding:26px 2px}}

/* ---------- Struktur ---------- */
.structure{background:var(--ink);color:var(--paper)}
.structure h2{color:var(--paper)}
.structure .chapter .label{color:rgba(241,239,233,.55)}
.structure .chapter .rule{background:var(--line-light)}
.struct-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.diagram{border:1px solid var(--line-light);padding:clamp(24px,3.4vw,44px);background:rgba(241,239,233,.03)}
.d-node{border:1px solid var(--line-light);padding:22px 24px;background:rgba(14,23,32,.5)}
.d-node .t{font-family:var(--serif);font-size:clamp(19px,1.9vw,24px)}
.d-node .u{font-size:12.5px;color:rgba(241,239,233,.6);margin-top:5px}
.d-node.gold{border-color:var(--brass);background:rgba(160,126,59,.1)}
.d-link{display:flex;align-items:center;gap:16px;padding:16px 6px 16px 24px}
.d-link .bar{width:1px;height:48px;background:var(--brass)}
.d-link .txt{font-size:12.5px;color:var(--brass-soft);max-width:36ch}
.assure{list-style:none}
.assure li{border-top:1px solid var(--line-light);padding:24px 0}
.assure li:last-child{border-bottom:1px solid var(--line-light)}
.assure h3{font-size:21px;margin-bottom:6px}
.assure p{font-size:14px;color:rgba(241,239,233,.68);max-width:48ch}
@media(max-width:880px){.struct-grid{grid-template-columns:1fr}}

/* ---------- Zwei Türen ---------- */
.doors{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.door{padding:clamp(44px,6vw,80px) clamp(28px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.door .aud{font-size:13px;letter-spacing:.06em;margin-bottom:26px}
.door h3{font-size:clamp(30px,3.8vw,52px);letter-spacing:-0.015em;max-width:14ch;margin-bottom:20px}
.door p{font-size:15.5px;max-width:44ch;margin-bottom:40px}
.door.light{background:var(--paper-soft);color:var(--ink)}
.door.light .aud{color:var(--brass)}
.door.light p{color:#37454F}
.door.light .btn-ghost{border-color:var(--line);color:var(--ink);background:none}
.door.light .btn-ghost:hover{border-color:var(--ink)}
.door.dark{background:linear-gradient(160deg,#182735,var(--ink-deep));color:var(--paper)}
.door.dark .aud{color:var(--brass-soft)}
.door.dark p{color:rgba(241,239,233,.78)}
.door.dark svg{position:absolute;right:-70px;top:-70px;width:300px;height:300px;opacity:.12;pointer-events:none}
.door.dark .btn-ghost{background:none}
@media(max-width:880px){.doors{grid-template-columns:1fr}}

/* ---------- Prozess-Strip ---------- */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:34px 0}
.strip-row{display:flex;align-items:baseline;flex-wrap:wrap}
.strip-item{display:flex;align-items:baseline;gap:14px;padding:10px 34px 10px 0;margin-right:34px;border-right:1px solid var(--line)}
.strip-item:last-child{border-right:none;margin-right:0;padding-right:0}
.strip-item .n{font-family:var(--serif);color:var(--brass);font-size:15px}
.strip-item .t{font-family:var(--serif);font-size:clamp(17px,1.7vw,21px)}
.strip .fine{font-size:12.5px;color:var(--steel);margin-top:16px}
@media(max-width:720px){.strip-item{border-right:none;padding:8px 0;margin-right:0;width:100%}}

/* ---------- Werte-Band ---------- */
.band{position:relative;min-height:72vh;display:grid;place-items:center;color:var(--paper);overflow:hidden;text-align:center;padding:clamp(80px,10vw,140px) 0}
.band .b-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,18,26,.55),rgba(10,18,26,.65));z-index:1}
.band .b-inner{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.band h2{color:var(--paper);max-width:none;font-size:clamp(34px,5vw,64px);margin-bottom:18px}
.band p{color:rgba(241,239,233,.85);font-size:16.5px;max-width:52ch;margin:0 auto}

/* ---------- Themen (Aufklapp-Statements) ---------- */
.topics details{border-top:1px solid var(--line)}
.topics details:last-child{border-bottom:1px solid var(--line)}
.topics summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:170px 1fr 30px;gap:26px;align-items:baseline;padding:32px 4px}
.topics summary::-webkit-details-marker{display:none}
.topics summary .lab{font-size:12.5px;letter-spacing:.05em;color:var(--steel)}
.topics summary .st{font-family:var(--serif);font-size:clamp(21px,2.7vw,34px);letter-spacing:-0.01em;line-height:1.2}
.topics summary .tg{font-family:var(--sans);color:var(--brass);font-size:22px;text-align:right}
.topics details[open] summary .tg::before{content:"–"}
.topics details:not([open]) summary .tg::before{content:"+"}
.topics .body{padding:0 4px 38px;max-width:76ch;margin-left:196px;font-size:14.5px;color:#37454F}
.topics .body p{margin-bottom:12px}
.topics .mini{list-style:none;margin:6px 0 12px}
.topics .mini li{padding:9px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:20px 1fr;gap:10px}
.topics .mini .m{color:var(--brass);font-size:13px}
.topics .fine{font-size:12.5px;color:var(--steel)}
@media(max-width:820px){
  .topics summary{grid-template-columns:1fr 26px;gap:14px}
  .topics summary .lab{grid-column:1 / -1;margin-bottom:-18px}
  .topics .body{margin-left:0}
}

/* ---------- Vergleichstabelle ---------- */
.cmp{overflow-x:auto;border:1px solid var(--line);background:#fff;margin:8px 0 12px}
.cmp table{border-collapse:collapse;width:100%;min-width:680px;font-size:13.5px}
.cmp th,.cmp td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{font-family:var(--serif);font-weight:400;font-size:16px;border-bottom:1px solid var(--ink)}
.cmp tbody th{font-weight:600;font-size:12.5px;color:var(--steel);width:140px}
.cmp td{color:#37454F}
.cmp col.hl{background:rgba(160,126,59,.06)}

/* ---------- FAQ ---------- */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:19px 4px;font-family:var(--serif);font-size:18.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);color:var(--brass);font-size:20px;flex:none}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 4px 20px;font-size:14px;color:#37454F;max-width:74ch}

/* ---------- Risiko ---------- */
.risk{background:var(--paper-soft);padding:clamp(44px,5vw,60px) 0}
.risk .tag{display:inline-block;font-size:12px;border:1px solid var(--line);padding:4px 10px;color:var(--steel);margin-bottom:16px}
.risk h2{font-size:20px;margin-bottom:12px;max-width:none}
.risk p{font-size:13px;color:#37454F;max-width:82ch;margin-bottom:9px}

/* ---------- CTA-Band ---------- */
.cta-band{background:var(--ink);color:var(--paper);padding:clamp(48px,6vw,72px) 0}
.cta-band h2{color:var(--paper);margin-bottom:12px}
.cta-band p{color:rgba(241,239,233,.75);max-width:56ch;margin-bottom:26px;font-size:15px}
.cta-band .fine{font-size:12.5px;color:rgba(241,239,233,.5);margin-top:22px;margin-bottom:0}

/* ---------- Kontakt ---------- */
.contact{background:#fff;border-top:1px solid var(--line)}
.contact h2{max-width:18ch}
.contact-links{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,70px);margin:48px 0 34px}
.contact-links a{font-family:var(--serif);font-size:clamp(24px,3vw,40px);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:8px;transition:border-color .2s,color .2s}
.contact-links a:hover{color:var(--brass);border-color:var(--brass)}
.contact .meta{font-size:13.5px;color:var(--steel)}

/* ---------- Footer ---------- */
footer.site{background:var(--ink-deep);color:rgba(241,239,233,.75);padding:56px 0 34px;font-size:13.5px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;margin-bottom:40px}
.foot-grid h4{font-family:var(--serif);font-weight:400;color:var(--paper);font-size:16px;margin-bottom:14px}
.foot-grid p{margin-bottom:10px;max-width:44ch}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:8px}
.foot-grid a{text-decoration:none;opacity:.8}
.foot-grid a:hover{opacity:1;color:var(--brass-soft)}
.foot-legal{border-top:1px solid var(--line-light);padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:rgba(241,239,233,.5)}
.foot-legal nav{display:flex;gap:20px}
.foot-legal a{text-decoration:none}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr}}

/* ---------- Standard-Seiten (Impressum etc.) ---------- */
.page-prose{padding-top:74px}
.page-prose section{padding:clamp(56px,7vw,90px) 0}
.page-prose h1{font-size:clamp(32px,4vw,52px);letter-spacing:-0.015em;margin-bottom:28px}
.page-prose .content{max-width:76ch;font-size:15px;color:#2A3641}
.page-prose .content h2{font-size:24px;margin:32px 0 12px;max-width:none}
.page-prose .content h3{font-size:19px;margin:24px 0 8px}
.page-prose .content p{margin-bottom:14px}
.page-prose .content ul,.page-prose .content ol{margin:0 0 14px 20px}
.page-prose .content a{color:var(--brass);text-decoration:none;border-bottom:1px solid rgba(160,126,59,.4)}
