/* Self-hosted fonts (no requests to Google servers) */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-grotesk-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-latin-500-normal.woff2) format("woff2");}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-latin-700-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2");}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-mono-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-mono-latin-700-normal.woff2) format("woff2");}

:root{
  --bg:#08080b;
  --surface:rgba(14,13,17,.9);
  --fg:#efe9df;
  --muted:#efe9df;
  --line:rgba(239,233,223,.13);
  --line-soft:rgba(239,233,223,.07);
  --gold:#d8b878;
  --gold-bright:#eccf93;
  --wine:#7d2342;
  --display:"Space Grotesk", system-ui, sans-serif;
  --body:"Inter", system-ui, sans-serif;
  --mono:"Space Mono", ui-monospace, monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;cursor:none;}
@media (pointer:coarse){ body{cursor:auto;} }
::selection{background:var(--gold);color:#08080b;}

/* ---------- background ---------- */
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;}
.scrim{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(135% 120% at 70% 22%, transparent 42%, rgba(8,8,11,.55) 100%),
    linear-gradient(180deg, rgba(8,8,11,.24), rgba(8,8,11,.30));
}
.grain{
  position:fixed;inset:-50%;z-index:2;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,-3%)}100%{transform:translate(0,0)}}

.wrap{position:relative;z-index:3;}
.pad{padding-left:clamp(1.25rem,5vw,5rem);padding-right:clamp(1.25rem,5vw,5rem);}
.narrow{max-width:1080px;margin:0 auto;}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:70px;
  padding-left:clamp(1.25rem,5vw,5rem);padding-right:clamp(1.25rem,5vw,5rem);
  transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s var(--ease);border-bottom:1px solid transparent;
}
.nav.scrolled{background:rgba(8,8,11,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--fg);}
.brand .mark{width:12px;height:12px;background:var(--gold);transform:rotate(45deg);transition:transform .6s var(--ease), background .4s var(--ease);}
.brand:hover .mark{transform:rotate(225deg);background:var(--gold-bright);}
.brand .word{font-family:var(--display);font-weight:700;letter-spacing:.2em;font-size:1rem;}
.nav-links{display:flex;gap:2rem;align-items:center;}
.nav-links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.nav-links a:hover{color:var(--gold);}
.menu-btn{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);background:none;border:none;cursor:none;display:none;align-items:center;gap:.6rem;}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:4px;}
.menu-btn .bars span{display:block;width:20px;height:1.5px;background:var(--fg);}
@media (pointer:coarse){ .menu-btn{cursor:pointer;} }
@media (max-width:860px){ .nav-links{display:none;} .menu-btn{display:flex;} }

/* ---------- overlay menu ---------- */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(8,8,11,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;padding-left:clamp(1.25rem,5vw,5rem);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s;}
.overlay.open{opacity:1;visibility:visible;}
.overlay a{font-family:var(--display);font-weight:700;text-decoration:none;color:var(--fg);font-size:clamp(2.2rem,9vw,4.5rem);line-height:1.18;letter-spacing:-.02em;opacity:.55;transition:opacity .35s var(--ease), transform .35s var(--ease), color .35s var(--ease);width:fit-content;}
.overlay a:hover{opacity:1;color:var(--gold);transform:translateX(16px);}
.overlay .close{position:absolute;top:34px;right:clamp(1.25rem,5vw,5rem);font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:none;color:var(--fg);cursor:none;}
@media (pointer:coarse){ .overlay .close{cursor:pointer;} }

/* ---------- buttons (compact) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.8rem 1.4rem;border:1px solid var(--gold);background:var(--gold);color:#08080b;text-decoration:none;cursor:none;transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);}
.btn:hover{background:var(--gold-bright);border-color:var(--gold-bright);}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line);}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent;}
@media (pointer:coarse){ .btn{cursor:pointer;} }

/* ---------- shared headings ---------- */
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.8rem;}
.eyebrow.line-before::before{content:"";width:32px;height:1px;background:var(--gold);display:inline-block;}
.h-sec{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.02em;}
.accent{color:var(--gold);font-style:italic;}
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(2rem,5vh,3.2rem);padding-top:clamp(7rem,16vh,10rem);padding-bottom:clamp(3rem,7vh,5rem);}
.hero .eyebrow{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease) .2s, transform .9s var(--ease) .2s;}
body.is-loaded .hero .eyebrow{opacity:1;transform:translateY(0);}
.hero-title{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,7.8vw,6.6rem);line-height:.98;letter-spacing:-.03em;max-width:18ch;}
.line{display:block;overflow:hidden;padding-bottom:.05em;}
.line-inner{display:block;transform:translateY(110%);transition:transform 1s var(--ease);}
body.is-loaded .line:nth-child(1) .line-inner{transition-delay:.30s;}
body.is-loaded .line:nth-child(2) .line-inner{transition-delay:.40s;}
body.is-loaded .line:nth-child(3) .line-inner{transition-delay:.50s;}
body.is-loaded .line-inner{transform:translateY(0);}
.hero-title .gold{color:var(--gold);font-style:italic;}
.hero-block{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease) .65s, transform .9s var(--ease) .65s;}
body.is-loaded .hero-block{opacity:1;transform:translateY(0);}
.hero-sub{max-width:46ch;color:var(--fg);font-size:clamp(1rem,1.4vw,1.12rem);line-height:1.55;margin-bottom:1.8rem;}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;}
.hero-stats{display:flex;gap:clamp(1.5rem,5vw,3.5rem);flex-wrap:wrap;padding-top:clamp(1.6rem,4vh,2.4rem);border-top:1px solid var(--line);}
.stat{display:flex;flex-direction:column;gap:.3rem;}
.stat .v{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;color:var(--gold);letter-spacing:-.02em;}
.stat .l{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);}
.audience{display:flex;flex-direction:column;gap:1rem;}
.audience .cap{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.audience .tags{display:flex;gap:1.5rem;flex-wrap:wrap;}
.audience .tags span{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);}

/* ---------- generic section ---------- */
.section{padding-top:clamp(6rem,14vh,11rem);padding-bottom:clamp(1rem,3vh,2rem);}
.sec-head{margin-bottom:clamp(2.5rem,6vh,4rem);}
.sec-head .eyebrow{margin-bottom:1.2rem;}
.sec-head .sub{color:var(--fg);max-width:48ch;margin-top:1.2rem;font-size:1rem;line-height:1.55;}

/* ---------- prozess ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.step{background:var(--surface);border:1px solid var(--line-soft);border-top:1px solid var(--gold);border-radius:4px;padding:clamp(1.4rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.9rem;position:relative;}
.step .n{font-family:var(--display);font-weight:500;font-size:2.4rem;line-height:1;color:var(--gold);letter-spacing:-.02em;}
.step .t{font-family:var(--display);font-weight:500;font-size:1.25rem;}
.step .d{font-size:.92rem;color:var(--fg);line-height:1.5;}
@media (max-width:860px){ .steps{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .steps{grid-template-columns:1fr;} }

/* ---------- kriterien (weighted categories) ---------- */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.cat-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(1.3rem,2.2vw,1.7rem);display:flex;flex-direction:column;gap:1rem;}
.cat-card .row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.cat-card .name{font-family:var(--display);font-weight:500;font-size:clamp(1.1rem,2vw,1.45rem);letter-spacing:-.01em;}
.cat-card .pct{font-family:var(--mono);font-size:.9rem;color:var(--gold);}
.bar{position:relative;height:2px;background:var(--line);border-radius:2px;overflow:hidden;}
.bar .fill{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width 1.3s var(--ease) .15s;}
.cat-card.in-view .bar .fill{width:var(--w);}
@media (max-width:860px){ .cats{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .cats{grid-template-columns:1fr;} }

/* ---------- score tiers ---------- */
.tiers{margin-top:clamp(2.5rem,6vh,4rem);background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(1.4rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.tiers .lab{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.tiers .chips{display:flex;gap:.7rem;flex-wrap:wrap;}
.chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;padding:.5rem .85rem;border:1px solid var(--line);border-radius:2px;color:var(--fg);display:inline-flex;gap:.5rem;align-items:center;}
.chip .dot{width:5px;height:5px;border-radius:50%;background:#6a655c;}
.chip.top{border-color:var(--gold);color:var(--gold-bright);}
.chip.top .dot{background:var(--gold);}

/* ---------- testimonial ---------- */
.quote-sec{padding-top:clamp(6rem,13vh,10rem);padding-bottom:clamp(2rem,5vh,3rem);}
.quote{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,3rem);text-align:center;}
.quote p{font-family:var(--display);font-weight:400;font-style:italic;font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.3;max-width:24ch;margin:0 auto 1.4rem;color:var(--fg);}
.quote .who{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--muted);}

/* ---------- pakete ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:start;}
.plan{background:var(--surface);border:1px solid var(--line-soft);border-radius:5px;padding:clamp(1.6rem,2.5vw,2.2rem);display:flex;flex-direction:column;gap:1.3rem;}
.plan.featured{border-color:var(--gold);}
.plan .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.4rem;}
.plan .name{font-family:var(--display);font-weight:500;font-size:1.7rem;letter-spacing:-.01em;}
.plan .desc{font-size:.9rem;color:var(--fg);margin-top:-.6rem;}
.plan .price{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,3rem);letter-spacing:-.02em;color:var(--gold);display:flex;align-items:baseline;gap:.35rem;}
.plan .price .ab{font-family:var(--mono);font-size:.8rem;font-weight:400;color:var(--muted);letter-spacing:.02em;}
.plan .sep{height:1px;background:var(--line-soft);}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;}
.plan li{font-size:.92rem;color:var(--fg);display:flex;gap:.6rem;align-items:flex-start;line-height:1.4;}
.plan li::before{content:"";flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:.5rem;}
.plan .btn{margin-top:auto;width:100%;}
.plan.featured .btn{background:var(--gold);}
.plans-note{text-align:center;font-family:var(--mono);font-size:.74rem;color:var(--muted);letter-spacing:.04em;margin-top:clamp(2rem,4vh,3rem);}
@media (max-width:860px){ .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto;} }

/* ---------- faq ---------- */
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line-soft);}
.faq-q{width:100%;background:none;border:none;color:var(--fg);cursor:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.2rem,2.6vh,1.7rem) 0;text-align:left;font-family:var(--display);font-weight:500;font-size:clamp(1.1rem,2.4vw,1.5rem);letter-spacing:-.01em;}
@media (pointer:coarse){ .faq-q{cursor:pointer;} }
.faq-q .pm{font-family:var(--mono);font-size:1.3rem;color:var(--gold);transition:transform .4s var(--ease);flex:0 0 auto;}
.faq-item.open .faq-q .pm{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.faq-a p{padding-bottom:clamp(1.2rem,2.6vh,1.7rem);color:var(--fg);max-width:60ch;line-height:1.6;font-size:.96rem;}
.faq-item.open .faq-a{max-height:320px;}

/* ---------- kontakt ---------- */
.contact{padding-top:clamp(6rem,14vh,11rem);padding-bottom:clamp(5rem,11vh,8rem);text-align:center;}
.contact .eyebrow{justify-content:center;margin-bottom:1.4rem;}
.contact h2{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,5.5vw,3.6rem);letter-spacing:-.02em;line-height:1.1;margin-bottom:1.3rem;}
.contact .sub{color:var(--fg);max-width:42ch;margin:0 auto 2.4rem;line-height:1.55;}
.contact-form{display:flex;gap:.6rem;justify-content:center;max-width:520px;margin:0 auto;flex-wrap:wrap;}
.contact-form input{flex:1;min-width:220px;background:rgba(20,18,22,.85);border:1px solid var(--line);color:var(--fg);font-family:var(--body);font-size:.95rem;padding:.85rem 1rem;border-radius:2px;}
.contact-form input::placeholder{color:rgba(239,233,223,.55);}
.contact-form input:focus{outline:none;border-color:var(--gold);}
.contact .direct{margin-top:1.6rem;font-family:var(--mono);font-size:.78rem;color:var(--muted);}
.contact .direct a{color:var(--gold);text-decoration:none;}
.contact .direct a:hover{color:var(--gold-bright);}

/* ---------- footer ---------- */
.foot{padding-top:clamp(3rem,7vh,5rem);padding-bottom:clamp(2.5rem,6vh,4rem);border-top:1px solid var(--line-soft);}
.foot-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:flex-start;}
.foot-brand{display:flex;align-items:center;gap:.6rem;}
.foot-brand .mark{width:11px;height:11px;background:var(--gold);transform:rotate(45deg);}
.foot-brand .word{font-family:var(--display);font-weight:700;letter-spacing:.2em;font-size:.95rem;}
.foot-links{display:flex;gap:1.6rem;flex-wrap:wrap;}
.foot-links a{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.foot-links a:hover{color:var(--gold);}
.copyright{margin-top:2.5rem;font-family:var(--mono);font-size:.72rem;color:var(--fg);letter-spacing:.04em;}

/* ---------- cursor ---------- */
.cur-dot,.cur-ring{position:fixed;top:0;left:0;z-index:90;pointer-events:none;border-radius:50%;mix-blend-mode:difference;}
.cur-dot{width:6px;height:6px;background:#fff;transform:translate(-50%,-50%);}
.cur-ring{width:36px;height:36px;border:1px solid rgba(255,255,255,.6);transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s var(--ease);}
.cur-ring.hover{width:60px;height:60px;border-color:var(--gold);}
@media (pointer:coarse){ .cur-dot,.cur-ring{display:none;} }

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .line-inner,.eyebrow,.hero-block,.reveal{opacity:1!important;transform:none!important;}
  .cat-card .bar .fill{width:var(--w)!important;}
  body{cursor:auto!important;}
  .cur-dot,.cur-ring,.grain{display:none!important;}
}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:2px;}

/* ---------- footer: legal row ---------- */
.foot-legal{margin-top:2.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;}
.foot-legal .copyright{margin-top:0;}
.foot-legal .legal-links{display:flex;gap:1.4rem;}
.foot-legal .legal-links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--fg);text-decoration:none;transition:color .3s;}
.foot-legal .legal-links a:hover{color:var(--gold);}
.nav-links a.active{color:var(--gold);}

/* ---------- subpage hero ---------- */
.page-hero{padding-top:clamp(9rem,22vh,13rem);padding-bottom:clamp(1rem,3vh,2rem);display:flex;flex-direction:column;gap:clamp(1.6rem,4vh,2.4rem);}
.page-title{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,6.2vw,5rem);line-height:1;letter-spacing:-.03em;max-width:20ch;}
.page-title .gold{color:var(--gold);font-style:italic;}

/* ---------- über uns ---------- */
.story{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.story .text{display:flex;flex-direction:column;gap:1.1rem;color:var(--fg);line-height:1.65;font-size:1.02rem;}
.story .quote{text-align:left;padding:clamp(2rem,4vw,3rem);border-left:2px solid var(--gold);}
.story .quote p{margin:0 0 1.2rem;max-width:none;}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.person{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(1.4rem,2.5vw,2rem);display:flex;gap:1.5rem;align-items:flex-start;}
.person .avatar{flex:0 0 auto;width:88px;height:88px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1.8rem;color:var(--gold);letter-spacing:-.02em;background:rgba(8,8,11,.6);}
.person .avatar img{width:100%;height:100%;object-fit:cover;}
.person .name{font-family:var(--display);font-weight:500;font-size:1.45rem;letter-spacing:-.01em;}
.person .role{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:.35rem 0 .9rem;}
.person .bio{font-size:.92rem;color:var(--fg);line-height:1.55;}
@media (max-width:860px){ .story,.team{grid-template-columns:1fr;} .values{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .values{grid-template-columns:1fr;} .person{flex-direction:column;} }

/* ---------- legal pages ---------- */
.legal{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(1.6rem,4vw,3rem);max-width:820px;}
.legal .block{margin-bottom:2.2rem;}
.legal .block:last-child{margin-bottom:0;}
.legal .label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;}
.legal h2{font-family:var(--display);font-weight:500;font-size:clamp(1.15rem,2.2vw,1.4rem);letter-spacing:-.01em;margin-bottom:.8rem;}
.legal p{color:var(--fg);line-height:1.75;font-size:.96rem;}
.legal p + p{margin-top:.8rem;}
.legal strong{color:var(--fg);font-weight:500;}
.legal a{color:var(--gold);text-decoration:none;}
.legal a:hover{color:var(--gold-bright);}
.legal .stand{font-family:var(--mono);font-size:.74rem;color:var(--muted);letter-spacing:.04em;}

/* ---------- readability over the moving background ---------- */
.hero-sub,.sec-head .sub,.faq-a p,.contact .sub,.story .text,.eyebrow,.stat .l,.audience,.nav-links a,.foot-links a,.copyright,.foot-legal .legal-links a,.plans-note,.contact .direct{text-shadow:0 1px 14px rgba(8,8,11,.7),0 0 2px rgba(8,8,11,.5);}
.hero-title,.page-title,.h-sec,.contact h2,.accent,.gold,.stat .v{text-shadow:0 2px 18px rgba(8,8,11,.75),0 0 3px rgba(8,8,11,.55);}
/* Mobile: selected accents in silver */
@media (max-width:860px){ .hero-title .gold,.stat .v,#prozess .accent,#kriterien .accent,#pakete .accent{color:#d9dde3;} }
/* Primary buttons: gold with white label */
.btn:not(.ghost){color:#fff;text-shadow:0 1px 2px rgba(8,8,11,.45);font-weight:700;}
.btn:not(.ghost):hover{color:#fff;}

/* ---------- breadcrumb ---------- */
.breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--fg);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.8rem;text-shadow:0 1px 14px rgba(8,8,11,.7);}
.breadcrumb a{color:var(--fg);text-decoration:none;opacity:.75;transition:opacity .3s,color .3s;}
.breadcrumb a:hover{opacity:1;color:var(--gold);}
.breadcrumb .sep{opacity:.45;}
.breadcrumb [aria-current]{color:var(--gold);}

/* ---------- cards (Leistungen, Ratgeber) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.card{background:var(--surface);border:1px solid var(--line-soft);border-top:1px solid var(--gold);border-radius:4px;padding:clamp(1.4rem,2.5vw,2rem);display:flex;flex-direction:column;gap:.9rem;text-decoration:none;color:var(--fg);cursor:none;transition:border-color .3s var(--ease),transform .4s var(--ease);}
.card:hover{border-color:var(--gold);transform:translateY(-4px);}
.card-meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.card-title{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;}
.card-text{font-size:.92rem;line-height:1.55;color:var(--fg);}
.card-more{margin-top:auto;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
@media (pointer:coarse){ .card{cursor:pointer;} }
@media (max-width:860px){ .cards{grid-template-columns:1fr;} }

/* ---------- prose (Leistungsseiten, Artikel) ---------- */
.prose{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:clamp(1.6rem,4.5vw,3.4rem);max-width:820px;}
.prose > *:first-child{margin-top:0;}
.prose h2{font-family:var(--display);font-weight:500;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.2;letter-spacing:-.015em;margin:2.6rem 0 1rem;}
.prose h3{font-family:var(--display);font-weight:500;font-size:clamp(1.1rem,2vw,1.3rem);margin:1.8rem 0 .6rem;color:var(--gold);}
.prose p{line-height:1.75;font-size:1rem;color:var(--fg);}
.prose p + p{margin-top:1rem;}
.prose .lead{font-size:clamp(1.05rem,1.6vw,1.18rem);line-height:1.65;padding-bottom:.4rem;}
.prose strong{font-weight:500;color:var(--fg);}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;}
.prose a:hover{color:var(--gold-bright);}
.prose ul,.prose ol{margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.prose ul{list-style:none;}
.prose ul li{position:relative;padding-left:1.2rem;line-height:1.6;}
.prose ul li::before{content:"";position:absolute;left:0;top:.62rem;width:5px;height:5px;border-radius:50%;background:var(--gold);}
.prose ol{padding-left:1.3rem;}
.prose ol li{line-height:1.6;padding-left:.3rem;}
.prose ol li::marker{color:var(--gold);font-family:var(--mono);}
.table-wrap{overflow-x:auto;margin:1.2rem 0;}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px;}
.prose th,.prose td{text-align:left;padding:.75rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45;}
.prose th{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:400;}
.prose td:first-child{font-family:var(--mono);font-size:.78rem;color:var(--gold);white-space:nowrap;}
.related{margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem;}
.related .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.related a{font-family:var(--display);font-weight:500;font-size:1.3rem;text-decoration:none;color:var(--fg);}
.related a:hover{color:var(--gold);}

/* ---------- article header ---------- */
.article-title{font-size:clamp(2rem,5vw,3.8rem);max-width:22ch;}
.article-meta{margin-top:1.4rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--fg);text-shadow:0 1px 14px rgba(8,8,11,.7);}

/* ---------- footer columns ---------- */
.foot-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line-soft);}
.foot-col-title{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;}
.foot-col-links{display:flex;flex-direction:column;gap:.55rem;}
.foot-col-links a{font-size:.88rem;color:var(--fg);text-decoration:none;transition:color .3s;text-shadow:0 1px 14px rgba(8,8,11,.7);}
.foot-col-links a:hover{color:var(--gold);}
@media (max-width:620px){ .foot-cols{grid-template-columns:1fr;} }
