/* Benz Media – Ergänzungen zum Basis-Stil (Marke, neue Bausteine) */

:root{
  --plum:#702963;
  --orchid:#cf7dbf;
  --rose:#eac7e5;
  --lm-a:#a24592;
  --lm-b:#cf7dbf;
  --lm-c:#eac7e5;
}
.muted{color:var(--dim)}
.h2{font-size:clamp(2.1rem,5vw,4rem)}

/* Atmosphäre in Markenfarben */
.orb.a{background:radial-gradient(closest-side,rgba(112,41,99,.30),transparent 70%)}
.orb.b{background:radial-gradient(closest-side,rgba(207,125,191,.12),transparent 70%)}
.orb.c{background:radial-gradient(closest-side,rgba(124,108,255,.08),transparent 70%)}

/* ---------- Marke ---------- */
.logo-mark .lm-a{fill:var(--lm-a)}
.logo-mark .lm-b{fill:var(--lm-b)}
.logo-mark .lm-c{fill:var(--lm-c)}
.brand{gap:12px}
.brand-logo{flex:none;filter:drop-shadow(0 0 10px rgba(207,125,191,.35))}
.brand-word{font-size:20px;font-weight:600;letter-spacing:-.04em}
.brand-word .serif{margin-left:.12em;color:var(--accent-hi);font-size:1.12em;letter-spacing:-.01em}
.nav ul a[aria-current="page"]{color:var(--ink);background:rgba(207,125,191,.12)}
.drawer-services{display:flex;flex-wrap:wrap;gap:8px}
.drawer-services a{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;color:var(--muted);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}

/* ---------- Hero ---------- */
.hero h1 .sub-line{display:block;color:var(--muted)}
.hero .btns .btn-draft{white-space:nowrap}
.hero-calc{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(18px,2.6svh,28px);min-height:44px;font-size:15px;color:var(--muted);text-decoration:none;transition:color .3s}
.hero-calc svg{width:20px;height:20px;flex:none;color:var(--accent)}
.hero-calc u{text-decoration-color:rgba(217,143,203,.5);text-underline-offset:4px}
.hero-calc:hover{color:var(--ink)}

.mark-stage{position:relative;justify-self:end;width:100%;max-width:560px;aspect-ratio:1/1.02;display:grid;place-items:center;isolation:isolate}
.ms-halo{position:absolute;inset:-6%;z-index:-2;border-radius:50%;background:radial-gradient(closest-side,rgba(207,125,191,.30),rgba(112,41,99,.22) 45%,rgba(124,108,255,.08) 70%,transparent 100%);animation:halo 7s ease-in-out infinite}
.ms-grid{position:absolute;inset:4%;z-index:-1;border-radius:50%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(closest-side,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(closest-side,#000 30%,transparent 100%);transform:perspective(900px) rotateX(58deg) translateY(28%);opacity:.7}
.ms-mark{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(207,125,191,.28))}
.ms-bars path{transform-box:fill-box;transform-origin:center;animation:barIn 1.2s var(--ease) both;animation-delay:calc(.3s + var(--k) * 90ms)}
@keyframes barIn{from{opacity:0;transform:translate(-60px,40px) skewX(-8deg)}to{opacity:1;transform:none}}
.ms-sweep{animation:sweep 5.5s var(--ease) 1.6s infinite}
@keyframes sweep{0%{transform:skewX(-20deg) translateX(0)}55%,100%{transform:skewX(-20deg) translateX(3400px)}}
.chip-lead{top:6%;left:-6%}
.chip-search{bottom:16%;right:-6%;animation:float 7s ease-in-out infinite -2s,fadeUp 1s var(--ease) 1.8s both}
.chip-search .badge{background:rgba(207,125,191,.14);color:var(--accent)}
.chip-since{bottom:-2%;left:4%;animation:float 8s ease-in-out infinite -4s,fadeUp 1s var(--ease) 2.1s both}
.chip-since .badge{background:rgba(124,108,255,.14);color:#a99fff}

/* ---------- Leistungen ---------- */
.svc-link{margin-top:auto;padding-top:26px;display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--accent-hi);text-decoration:none;align-self:flex-start;min-height:44px}
.svc-link svg{width:16px;height:16px;transition:transform .4s var(--ease-spring)}
.svc-link:hover svg{transform:translateX(4px)}
.service ul{margin-bottom:0}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.extra{grid-column:auto;text-decoration:none;color:inherit;display:block}
.extra .card-core{display:flex;align-items:center;gap:20px;padding:clamp(22px,2.4vw,30px)}
.extra h3{margin-top:0;font-size:1.25rem}
.extra p{margin-top:6px;font-size:15.5px}
.extra-ico{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:rgba(207,125,191,.1);border:1px solid rgba(207,125,191,.28);color:var(--accent-hi)}
.extra-ico svg{width:24px;height:24px}
.extra-arrow{width:20px;height:20px;flex:none;margin-left:auto;color:var(--muted);transition:transform .5s var(--ease-spring),color .3s}
.extra:hover .extra-arrow{transform:translate(3px,-3px);color:var(--accent-hi)}
.extra:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- Kostenrechner-Teaser ---------- */
.calc-teaser-core{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(28px,5vw,64px);background:radial-gradient(70% 90% at 100% 0%,rgba(112,41,99,.45),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(207,125,191,.14),transparent 60%),#110c15}
.calc-teaser h2{font-size:clamp(2rem,4.2vw,3.4rem);margin-top:22px}
.calc-teaser .lead{margin-top:20px;color:var(--muted);font-size:clamp(1.02rem,1.4vw,1.15rem);max-width:540px}
.calc-preview{display:grid;gap:18px;padding:clamp(20px,2.6vw,30px);border-radius:24px;background:rgba(9,7,12,.6);border:1px solid var(--line-2);box-shadow:0 30px 70px -30px rgba(0,0,0,.9),inset 0 1px 1px rgba(255,255,255,.06)}
.cp-step small,.cp-range small{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.cp-step b{display:block;margin-top:8px;font-size:1.15rem;letter-spacing:-.02em;line-height:1.25}
.cp-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-opts span{padding:12px 14px;border-radius:14px;border:1px solid var(--line-2);font-size:14.5px;color:var(--muted);background:rgba(255,255,255,.02)}
.cp-opts span.on{border-color:rgba(217,143,203,.7);color:var(--accent-hi);background:rgba(207,125,191,.1);box-shadow:0 0 24px -8px rgba(207,125,191,.6)}
.cp-range{padding-top:16px;border-top:1px dashed var(--line-2)}
.cp-range-top b{display:block;margin-top:6px;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--accent-hi)}
.cp-bar{position:relative;height:8px;margin-top:14px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}
.cp-bar span{position:absolute;inset:0 30% 0 8%;border-radius:8px;background:linear-gradient(90deg,var(--accent-hi),var(--accent),var(--plum-glow));box-shadow:0 0 18px rgba(217,143,203,.6);animation:barPulse 3.2s ease-in-out infinite}
@keyframes barPulse{50%{inset:0 18% 0 14%}}

/* ---------- Referenzen ---------- */
.center-btns{justify-content:center;margin-top:36px}

/* ---------- Kundenstimmen ---------- */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.voice{grid-column:auto;margin:0}
.voice .card-core{display:flex;flex-direction:column;gap:20px}
.voice-q{width:34px;height:34px;color:var(--accent);opacity:.8}
.voice blockquote{margin:0;flex:1}
.voice blockquote p{font-size:16px;line-height:1.65;color:var(--ink)}
.voice figcaption{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.voice figcaption b{display:block;font-weight:600;font-size:15px}
.voice figcaption small{display:block;font-size:13.5px;color:var(--dim);line-height:1.4}
.voice-av{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:linear-gradient(140deg,rgba(207,125,191,.35),rgba(112,41,99,.4));border:1px solid rgba(207,125,191,.35);font-size:14px;font-weight:600;color:var(--accent-hi)}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px)}
.person{display:grid;gap:26px;align-content:start}
.person-photo{aspect-ratio:5/4}
.person-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.person-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(9,7,12,.55)),radial-gradient(90% 60% at 0% 100%,rgba(112,41,99,.3),transparent 60%);pointer-events:none}
.person-photo-ph{display:grid;place-items:center;background:repeating-linear-gradient(-62deg,rgba(207,125,191,.05) 0 26px,transparent 26px 52px),#140f18}
.ph-portrait{display:grid;justify-items:center;gap:12px;color:var(--dim);font-size:14px}
.ph-portrait svg{width:64px;height:64px;color:rgba(207,125,191,.5)}
.ph-portrait span{background:#fde68a;color:#3a2a00;padding:2px 8px;border-radius:4px}
.person-role{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.person h3{margin-top:10px;font-size:clamp(1.7rem,3vw,2.3rem)}
.person-body>p:not(.person-role){margin-top:14px;color:var(--muted)}
.person .pills{margin-top:22px}

/* ---------- Seitenkopf Unterseiten ---------- */
.page-hero{position:relative;padding-top:clamp(130px,18svh,180px);padding-bottom:clamp(40px,6vw,72px)}
.page-hero h1{font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:1.02;margin-top:22px;max-width:980px}
.page-hero .lead{margin-top:22px;font-size:clamp(1.04rem,1.5vw,1.22rem);color:var(--muted);max-width:680px}
.page-hero .btns{margin-top:30px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--dim);list-style:none;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line-2)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent-hi)}

@media (max-width:960px){
  .mark-stage{justify-self:center;max-width:420px}
  .extras,.voices,.team{grid-template-columns:1fr}
  .calc-teaser-core{grid-template-columns:minmax(0,1fr)}
  .team{max-width:640px}
}
@media (max-width:700px){
  .brand-word{font-size:18px}
  .brand-logo{width:32px;height:15px}
  .hero .btns .btn-ghost.btn-draft{display:inline-flex}
  .hero-calc{font-size:14px;margin-top:14px}
  .mark-stage{max-width:340px;margin-top:8px}
  .chip-lead{left:-4px;top:2%}
  .chip-search{right:-4px;bottom:20%}
  .chip-since{display:none}
  .extra .card-core{padding:22px 20px;gap:16px}
  .extra-arrow{display:none}
  .mobile-cta .btn{gap:8px;font-size:15px;padding:0 16px}
}
@media (max-width:440px){
  .cp-opts{grid-template-columns:1fr}
}
@media (max-height:500px) and (orientation:landscape){
  .mark-stage{max-width:calc(70svh)}
  .hero-calc{display:none}
}
@media (min-width:701px) and (max-height:820px){.hero-calc{margin-top:14px}}
@media (prefers-reduced-motion:reduce){
  .ms-bars path,.ms-sweep,.cp-bar span{animation:none}
}

/* ---------- Kostenrechner ---------- */
.calc-hero{padding-bottom:clamp(24px,4vw,40px)}
.calc-section{padding-top:0}
.calc-core{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);padding:clamp(22px,4vw,52px);background:radial-gradient(70% 90% at 100% 0%,rgba(112,41,99,.4),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(207,125,191,.1),transparent 60%),#110c15}
.calc{position:relative;min-width:0}
.calc [hidden]{display:none!important}
.calc-top{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.calc-count{font-size:13px;letter-spacing:.12em;color:var(--dim);white-space:nowrap}
.calc-count b{color:var(--accent-hi);font-weight:600}
.calc-progress{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.calc-progress span{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--accent-hi),var(--accent));box-shadow:0 0 14px rgba(217,143,203,.6);transition:width .6s var(--ease)}
.calc-step{border:0;margin:0;padding:0;min-width:0}
.calc-step.enter{animation:stepIn .5s var(--ease) both}
.calc-q{padding:0;font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;color:var(--ink);outline:none}
.calc-q small{display:block;margin-bottom:10px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.calc-sub{margin-top:12px;color:var(--muted)}
.calc-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt-box{display:flex;align-items:flex-start;gap:14px;height:100%;min-height:64px;padding:16px 18px;border-radius:18px;border:1px solid var(--line-2);background:rgba(255,255,255,.025);transition:border-color .3s,background .3s,box-shadow .4s,transform .4s var(--ease-spring)}
.opt:hover .opt-box{border-color:rgba(217,143,203,.45);background:rgba(207,125,191,.05)}
.opt input:checked+.opt-box{border-color:rgba(217,143,203,.85);background:rgba(207,125,191,.12);box-shadow:0 0 30px -10px rgba(207,125,191,.7)}
.opt input:focus-visible+.opt-box{outline:2px solid var(--accent);outline-offset:3px}
.opt:active .opt-box{transform:scale(.985)}
.opt-mark{position:relative;flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;border:1.5px solid var(--line-2);transition:border-color .3s,background .3s}
.opt input[type="checkbox"]+.opt-box .opt-mark{border-radius:7px}
.opt input:checked+.opt-box .opt-mark{border-color:var(--accent);background:var(--accent)}
.opt input:checked+.opt-box .opt-mark::after{content:"";position:absolute;left:6.5px;top:3px;width:5px;height:10px;border:solid #1d0b1a;border-width:0 2px 2px 0;transform:rotate(45deg)}
.opt-text b{display:block;font-weight:600;font-size:16px;letter-spacing:-.01em}
.opt-text small{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--muted)}
.calc-url{margin-top:18px}
.calc-step .err{display:block;margin-top:12px}
.calc-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:28px}
.calc-nav .btn{margin-left:auto}
.calc-gate-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.calc-gate>.field{margin-top:14px}
.calc-gate .check{margin-top:16px}
.calc-gate .form-msg{margin-top:12px}
.calc-gate .form-msg:empty{display:none}
.calc-result{outline:none;animation:stepIn .6s var(--ease) both}
.calc-range{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.calc-range span{font-family:var(--serif);font-style:italic;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1;letter-spacing:-.01em;background:linear-gradient(100deg,var(--accent-hi),var(--accent) 50%,var(--plum-glow));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(217,143,203,.35));padding-right:.06em}
.calc-range small{font-size:14px;color:var(--dim)}
.calc-monthly{margin-top:8px;color:var(--ink);font-weight:500}
.calc-bar{position:relative;height:10px;margin-top:22px;border-radius:10px;background:rgba(255,255,255,.06)}
.calc-bar span{position:absolute;top:0;bottom:0;border-radius:10px;background:linear-gradient(90deg,var(--accent-hi),var(--accent),var(--plum-glow));box-shadow:0 0 18px rgba(217,143,203,.6);transition:left .8s var(--ease),width .8s var(--ease)}
.calc-note{margin-top:20px;color:var(--muted);max-width:640px}
.calc-summary{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.calc-summary li{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.calc-summary span{color:var(--dim)}
.calc-summary b{font-weight:500}
.calc-sent{margin-top:18px;color:var(--accent-hi);font-size:15px}
.calc-sent:empty{display:none}
.calc-result .btns{margin-top:26px}
.calc-aside{padding-left:clamp(0px,3vw,40px);border-left:1px solid var(--line);align-self:start}
.calc-aside .draft-points{margin-top:22px}
.calc-aside-cta{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.calc-aside-cta p{color:var(--dim);font-size:14px}
.calc-aside-cta a{display:inline-block;margin-top:6px;font-size:1.3rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.calc-aside-cta a:hover{color:var(--accent-hi)}
.has-cursor .opt,.has-cursor .opt input{cursor:none}
@media (max-width:960px){
  .calc-core{grid-template-columns:minmax(0,1fr)}
  .calc-aside{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:28px}
}
@media (max-width:640px){
  .calc-opts,.calc-gate-grid{grid-template-columns:1fr}
  .calc-summary li{grid-template-columns:1fr;gap:2px}
  .calc-nav .btn{width:100%;justify-content:space-between;margin-left:0;order:-1}
  .calc-core{padding:22px 16px}
}

/* ---------- Leistungsseiten ---------- */
.price-note{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:8px 16px;border-radius:999px;border:1px solid rgba(217,143,203,.35);background:rgba(207,125,191,.08);font-size:14.5px;color:var(--accent-hi)}
.price-note svg{width:16px;height:16px}
.svc-pains{margin-top:0}
.quote-band{margin:0}
.quote-band-core{padding:clamp(28px,5vw,64px);background:radial-gradient(70% 100% at 0% 0%,rgba(112,41,99,.35),transparent 60%),#110c15}
.quote-band blockquote{margin:18px 0 0}
.quote-band blockquote p{font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.4;letter-spacing:-.02em;font-weight:500;max-width:980px}
.quote-band figcaption{margin-top:22px;color:var(--muted);font-size:15px}
.quote-band figcaption b{color:var(--ink);font-weight:600}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-grid .service{grid-column:auto}
.svc-grid .service.wide{grid-column:span 1}
@media (max-width:960px){.svc-grid{grid-template-columns:1fr}}

/* ---------- Über uns / Seiten mit Fließtext ---------- */
.prose{max-width:760px}
.prose p{color:var(--muted);font-size:clamp(1.02rem,1.3vw,1.12rem)}
.prose p+p{margin-top:16px}
.prose strong{color:var(--ink);font-weight:500}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,6vw,64px)}
.fact{grid-column:auto}
.fact .card-core{padding:26px}
.fact b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(2.2rem,4vw,3rem);line-height:1;color:var(--accent-hi)}
.fact span{display:block;margin-top:10px;color:var(--muted);font-size:15px}
@media (max-width:700px){.facts{grid-template-columns:1fr}}

/* ---------- Cookie-Banner: Einzelauswahl ---------- */
.consent{max-height:calc(100dvh - 40px);overflow-y:auto;background:#140e18;backdrop-filter:none;-webkit-backdrop-filter:none}
.consent-detail{display:none;margin-top:16px;border-top:1px solid var(--line)}
.consent.detail .consent-detail{display:block}
.consent-group{margin-top:14px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.consent-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}
.consent-row b{display:block;font-size:14.5px;font-weight:600;color:var(--ink)}
.consent-row small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.consent-fixed{flex:none;font-size:12.5px;color:var(--dim)}
.consent-switch{position:relative;flex:none;width:46px;height:28px}
.consent-switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.consent-switch i{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid var(--line-2);transition:background .3s,border-color .3s;pointer-events:none}
.consent-switch i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#cfc8d3;transition:transform .35s var(--ease-spring),background .3s}
.consent-switch input:checked+i{background:var(--accent);border-color:var(--accent)}
.consent-switch input:checked+i::after{transform:translateX(18px);background:#1d0b1a}
.consent-switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:3px}
.consent .consent-btns{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.consent .consent-btn{padding:0 10px;font-size:14px}
@media (max-width:420px){.consent .consent-btns{grid-template-columns:1fr}}
.consent .consent-save{display:none}
.consent.detail .consent-more{display:none}
.consent.detail .consent-save{display:block}
.has-cursor .consent-row,.has-cursor .consent-switch input{cursor:none}
