/* Gemeinsame Qualitätsregeln für Befunde und Portfolio; Demodesigns bleiben eigenständig. */
:focus-visible{outline:3px solid #395bd6;outline-offset:4px}
a{text-underline-offset:.2em}
footer a,.foot a,.hinweis a{ text-decoration:underline!important }
.report-page{margin:24px auto;padding:0 20px;box-sizing:border-box}
.report-page .h,.report-page .foot,.report-page .sub,.report-page .badge,
.report-page td.b,.report-page .vkhead span,.report-page .no{color:#505a70}
.report-page .card{padding:24px;overflow-wrap:anywhere}
.report-page .sheet{box-sizing:border-box}
.report-page .report-back{display:inline-block;color:#3443b7;margin-bottom:14px;min-height:44px;padding:10px 0}
.portfolio-overview{--muted:#bac4e4;--a2:#89eee2}
.portfolio-overview .aurora i{opacity:.2}
.portfolio-overview .glass{background:rgba(9,15,36,.93)}
.portfolio-overview .grad{background:none;color:#c1c8ff}
.portfolio-overview .btn,.portfolio-overview .chips a.all{background:linear-gradient(120deg,#414fc4,#793a91);color:#fff}
.portfolio-overview .thumb .badge{background:#161b32;color:#fff}
.portfolio-overview .soon{opacity:1}
.portfolio-overview .hint a,.portfolio-overview .hinweis a{color:#a5f0e5;text-decoration:underline}
html[data-theme="light"] .portfolio-overview{--muted:#334364;--a2:#00625c}
html[data-theme="light"] .portfolio-overview .glass{background:rgba(255,255,255,.94);box-shadow:0 15px 35px rgba(44,60,118,.13)}
html[data-theme="light"] .portfolio-overview .grad{background:none;color:#3d47a9}
html[data-theme="light"] .portfolio-overview .hint a,html[data-theme="light"] .portfolio-overview .hinweis a{color:#00625c}
.lumen-demo{--a:#974a22;--muted:#6b5e50}
.lumen-demo footer a{color:#ffd29d}
.demo-badge{max-width:calc(100vw - 32px);box-sizing:border-box}
.nova-demo .lk a{color:#eef1ff}
.vk-icon{width:1.25em;height:1.25em;display:inline-block;vertical-align:-.2em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
/* Bildwelt v2: die Musterfotos ersetzen reine Verlaufs-/Emoji-Heros, ohne JS-Abhängigkeit. */
.industry-demo .hero:has(>.vk-photo-hero){isolation:isolate;min-height:500px}
.industry-demo .hero>.vk-photo-hero{position:absolute;inset:0;display:block;z-index:0;overflow:hidden}
.industry-demo .hero>.vk-photo-hero img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--vk-photo-focus,68% 50%);animation:vk-photo-arrive 1.4s ease-out both}
.industry-demo .hero:has(>.vk-photo-hero)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(12,16,19,.78),rgba(12,16,19,.45) 55%,rgba(12,16,19,.34))}
.industry-demo .hero:has(>.vk-photo-hero)>.hero-inner{position:relative;z-index:2}
.industry-demo .hero:has(>.vk-photo-hero) .lead{color:#f7f4ef}
.industry-demo .hero:has(>.vk-photo-hero) h1{color:#fff}
.industry-demo .hero:has(>.vk-photo-hero) .btn-outline{color:#fff;border-color:rgba(255,255,255,.85);background:rgba(0,0,0,.2)}
.industry-demo .hero:has(>.vk-photo-hero) .btn-outline:hover{background:rgba(255,255,255,.2)}
.industry-demo .vk-inline-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:70% 50%;animation:vk-photo-arrive 1.4s ease-out both}
@keyframes vk-photo-arrive{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.industry-demo .hero>.vk-photo-hero img,.industry-demo .vk-inline-photo{animation:none}}
@media(max-width:480px){
  .industry-demo .nav-inner,.industry-demo .nav-in,.industry-demo .nav-shell nav,.industry-demo nav[aria-label="Hauptnavigation"]>.in{flex-wrap:nowrap;gap:8px;padding-block:10px}
  .industry-demo .nav-cta,.industry-demo nav[aria-label="Hauptnavigation"]>.in>.btn,.industry-demo nav[aria-label="Hauptnavigation"]>.in>.act{flex:0 0 auto;width:auto;max-width:46%;justify-content:center;text-align:center;font-size:.78rem;padding:.55rem .7rem;white-space:normal;line-height:1.2}
  .industry-demo .brand{min-width:0;max-width:54%;font-size:.9rem;line-height:1.2}
  .industry-demo .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .industry-demo .hero-inner.wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .industry-demo .dz-panel,.industry-demo .mobile-cta{max-width:calc(100vw - 28px);box-sizing:border-box}
}
@media(max-width:600px){
  .report-page{margin:12px auto;padding:0 12px}
  .report-page .card{padding:18px 14px}
  .report-page .sheet{width:100%;padding:20px 14px;min-height:0}
  .report-page table{table-layout:fixed;overflow-wrap:anywhere}
  .report-page td{padding:8px 5px}
  .report-page td.b{width:76px}
  .report-page .foot{flex-direction:column}
  .report-page .funde td.th{width:74px}
  .report-page .funde td.th img{width:64px;max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.report-back{display:none!important}.report-page{margin:0;padding:0}}

/* Brief- und öffentliche Muster-Heros: drei echte Kompositionen, ohne Layoutsprung. */
.industry-demo .vk-brief-stage{position:relative;isolation:isolate;display:grid;min-height:660px;padding:0;overflow:hidden;box-sizing:border-box;color:#fff;background:#14221e;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.industry-demo .vk-brief-stage *{box-sizing:border-box}
.industry-demo .vk-brief-visual{position:absolute;inset:0;z-index:0;overflow:hidden}
.industry-demo .vk-brief-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:68% 50%;animation:vk-photo-arrive 1.4s ease-out both}
.industry-demo .vk-brief-visual .vk-brief-detail{display:none}
.industry-demo .vk-brief-content{width:min(100%,760px);padding:clamp(30px,4vw,56px) max(24px,calc((100vw - 1200px)/2));padding-right:24px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:2}
.industry-demo .vk-brief-marker{margin:0 0 26px;padding:8px 13px;border:1px solid currentColor;border-radius:99px;font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.2;opacity:.9}
.industry-demo .vk-brief-eyebrow{margin:0 0 12px;font-size:14px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.industry-demo .vk-brief-name{margin:0 0 8px;font-size:17px;font-weight:650;opacity:.9}
.industry-demo .vk-brief-stage h1{margin:0;max-width:15ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,4.7vw,72px);font-weight:600;line-height:1.04;letter-spacing:-.035em;color:inherit;text-shadow:none}
.industry-demo .vk-brief-lead{margin:24px 0 0;max-width:51ch;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:inherit;opacity:.95}
.industry-demo .vk-brief-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.industry-demo .vk-brief-actions a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border-radius:999px;padding:12px 22px;font-size:15px;line-height:1.2;font-weight:750;text-decoration:none!important;transition:transform .2s ease,background-color .2s ease}
.industry-demo .vk-brief-actions a:hover{transform:translateY(-2px)}
.industry-demo .vk-brief-primary{background:#f4d5a5;color:#13221c!important;border:2px solid #f4d5a5}
.industry-demo .vk-brief-secondary{background:rgba(0,0,0,.22);color:#fff!important;border:2px solid rgba(255,255,255,.85)}
.industry-demo .vk-brief-secondary:hover{background:rgba(255,255,255,.18)}
.industry-demo .vk-brief-facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.55);font-size:14px;font-weight:650;line-height:1.35}
.industry-demo .vk-brief-facts>span{display:inline-flex;align-items:center;gap:8px}
.industry-demo .vk-brief-facts svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.industry-demo .vk-brief-stage--a::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,22,20,.92),rgba(10,22,20,.64) 48%,rgba(10,22,20,.15));pointer-events:none}
.industry-demo .vk-brief-stage--b{grid-template-columns:52% 48%;background:#f5f0e8;color:#172425}
.industry-demo .vk-brief-stage--b .vk-brief-visual{position:relative;inset:auto;grid-column:2;grid-row:1;z-index:0;min-height:660px;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}
.industry-demo .vk-brief-stage--b .vk-brief-content{grid-column:1;grid-row:1;width:100%;padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:clamp(24px,3vw,54px);z-index:1}
.industry-demo .vk-brief-stage--b h1{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:760;letter-spacing:-.055em;font-size:clamp(44px,4.4vw,68px)}
.industry-demo .vk-brief-stage--b .vk-brief-marker{color:#275a54}
.industry-demo .vk-brief-stage--b .vk-brief-eyebrow{color:#24635a}
.industry-demo .vk-brief-stage--b .vk-brief-primary{background:#174d46;color:#fff!important;border-color:#174d46}
.industry-demo .vk-brief-stage--b .vk-brief-secondary{background:transparent;color:#174d46!important;border-color:#174d46}
.industry-demo .vk-brief-stage--b .vk-brief-secondary:hover{background:#dce9e4}
.industry-demo .vk-brief-stage--b .vk-brief-facts{border-color:#8ea6a0}
.industry-demo .vk-brief-stage--c{grid-template-columns:55% 45%;background:#111b27;color:#f7f4ef}
.industry-demo .vk-brief-stage--c .vk-brief-visual{position:relative;inset:auto;grid-column:2;grid-row:1;z-index:0;display:grid;grid-template-columns:3fr 1fr;gap:8px;padding:20px 20px 20px 0;min-height:660px}
.industry-demo .vk-brief-stage--c .vk-brief-visual img{border-radius:18px;object-position:72% 50%}
.industry-demo .vk-brief-stage--c .vk-brief-visual .vk-brief-detail{display:block;object-position:95% 50%;filter:saturate(.75)}
.industry-demo .vk-brief-stage--c .vk-brief-content{grid-column:1;grid-row:1;width:100%;padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:clamp(24px,4vw,72px)}
.industry-demo .vk-brief-stage--c h1{font-family:Baskerville,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(52px,5.6vw,88px)}
.industry-demo .vk-brief-stage--c .vk-brief-marker,.industry-demo .vk-brief-stage--c .vk-brief-eyebrow{color:#c5d6e4}
.industry-demo .vk-brief-stage--c .vk-brief-primary{background:#d7e5ef;border-color:#d7e5ef;color:#142536!important}
@media(max-width:800px){
  .industry-demo .vk-brief-stage{min-height:690px}
  .industry-demo .vk-brief-content{padding:42px 24px 35px;width:100%}
  .industry-demo .vk-brief-stage h1{font-size:clamp(42px,9vw,62px)}
  .industry-demo .vk-brief-stage--a::before{background:linear-gradient(90deg,rgba(10,22,20,.88),rgba(10,22,20,.7)),linear-gradient(0deg,rgba(10,22,20,.65),transparent)}
  .industry-demo .vk-brief-stage--b,.industry-demo .vk-brief-stage--c{display:flex;flex-direction:column}
  .industry-demo .vk-brief-stage--b .vk-brief-visual,.industry-demo .vk-brief-stage--c .vk-brief-visual{width:100%;height:250px;min-height:250px;flex:none;clip-path:none;padding:0}
  .industry-demo .vk-brief-stage--c .vk-brief-visual{grid-template-columns:4fr 1fr;gap:5px}
  .industry-demo .vk-brief-stage--c .vk-brief-visual img{border-radius:0}
  .industry-demo .vk-brief-stage--b .vk-brief-content,.industry-demo .vk-brief-stage--c .vk-brief-content{padding:34px 24px 35px;min-height:420px}
  .industry-demo .vk-brief-facts{margin-top:28px;font-size:13px}
}
@media(max-width:480px){
  .industry-demo .vk-brief-stage{min-height:650px}
  .industry-demo .vk-brief-marker{margin-bottom:19px}
  .industry-demo .vk-brief-stage h1,.industry-demo .vk-brief-stage--b h1,.industry-demo .vk-brief-stage--c h1{font-size:clamp(38px,10vw,50px)}
  .industry-demo .vk-brief-lead{font-size:16px;margin-top:17px}
  .industry-demo .vk-brief-actions{margin-top:22px}
  .industry-demo .vk-brief-actions a{min-height:44px;padding:10px 16px;font-size:14px}
  .industry-demo .vk-brief-facts{gap:8px 13px;margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.industry-demo .vk-brief-visual img{animation:none}.industry-demo .vk-brief-actions a{transition:none}}
.industry-demo .vk-mobile-nav{display:none}
@media(max-width:600px){
  .industry-demo:has(.vk-mobile-nav) .nav-links,.industry-demo:has(.vk-mobile-nav) nav[aria-label="Hauptnavigation"] .lk{display:none!important}
  .industry-demo:has(.vk-mobile-nav) .nav-cta,.industry-demo:has(.vk-mobile-nav) nav[aria-label="Hauptnavigation"]>.in>.btn.small{display:none!important}
  .industry-demo:has(.vk-mobile-nav) .brand small,.industry-demo:has(.vk-mobile-nav) .brand .sub{display:none!important}
  .industry-demo:has(.vk-mobile-nav) .nav-inner,.industry-demo:has(.vk-mobile-nav) nav[aria-label="Hauptnavigation"]>.in{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between;align-items:center;gap:12px}
  .industry-demo:has(.vk-mobile-nav) .brand{max-width:70%;min-width:0;overflow:hidden}
  .industry-demo:has(.vk-mobile-nav) .brand .vk-company-word{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .industry-demo .vk-mobile-nav{display:block;position:relative;flex:none;color:inherit;font:inherit;z-index:20}
  .industry-demo .vk-mobile-nav summary{list-style:none;display:flex;align-items:center;justify-content:center;min-width:66px;min-height:44px;padding:9px 12px;border:1px solid #45565b;border-radius:12px;cursor:pointer;font-weight:700;color:#172425!important;background:#fff!important}
  .industry-demo .vk-mobile-nav summary::-webkit-details-marker{display:none}
  .industry-demo .vk-mobile-nav-links{position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 36px));padding:10px;border-radius:14px;background:#fff;color:#172425;box-shadow:0 16px 36px rgba(0,0,0,.23);display:grid;gap:3px}
  .industry-demo .vk-mobile-nav-links a{display:block;min-height:44px;padding:11px 12px;color:#172425!important;font-weight:700;text-decoration:none!important;border-radius:8px}
  .industry-demo .vk-mobile-nav-links a:hover{background:#e9f2ef}
}

/* Briefvarianten behalten ihre Branchenfarben – Layout und Schrift bleiben variabel. */
.industry-demo .vk-brief-stage{background:var(--vk-brief-dark)}
.industry-demo .vk-brief-stage h1,.industry-demo .vk-brief-stage--b h1,.industry-demo .vk-brief-stage--c h1{font-family:var(--vk-brief-font,var(--font-head,Georgia,serif))}
.industry-demo .vk-brief-stage--a::before{background:linear-gradient(90deg,var(--vk-brief-dark) 0%,color-mix(in srgb,var(--vk-brief-dark) 76%,transparent) 52%,transparent 100%)}
.industry-demo .vk-brief-stage--a .vk-brief-primary,.industry-demo .vk-brief-stage--c .vk-brief-primary{background:var(--vk-brief-accent);border-color:var(--vk-brief-accent);color:var(--vk-brief-button-fg)!important}
.industry-demo .vk-brief-stage--b{background:var(--vk-brief-light);color:var(--vk-brief-light-fg,var(--vk-brief-dark))}
.industry-demo .vk-brief-stage--b .vk-brief-marker,.industry-demo .vk-brief-stage--b .vk-brief-eyebrow{color:var(--vk-brief-light-fg,var(--vk-brief-dark))}
.industry-demo .vk-brief-stage--b .vk-brief-primary{background:var(--vk-brief-accent);border-color:var(--vk-brief-accent);color:var(--vk-brief-button-fg)!important}
html[data-vk-brief-variant] .industry-demo .vk-brief-stage a.vk-brief-primary{background:var(--vk-brief-accent)!important;border-color:var(--vk-brief-accent)!important;color:var(--vk-brief-button-fg)!important}
.industry-demo .vk-brief-stage--b .vk-brief-secondary{color:var(--vk-brief-light-fg,var(--vk-brief-dark))!important;border-color:var(--vk-brief-light-fg,var(--vk-brief-dark))}
.industry-demo .vk-brief-stage--c{background:var(--vk-brief-dark);color:#fff}
.industry-demo .vk-brief-stage--c .vk-brief-marker,.industry-demo .vk-brief-stage--c .vk-brief-eyebrow{color:#fff}
html[data-vk-brief-variant] .industry-demo .vk-brief-nav{background:var(--vk-brief-dark)!important;color:#fff!important;--nav-bg:var(--vk-brief-dark);--nav-fg:#fff;--nav-link:#fff}
html[data-vk-brief-variant="b"] .industry-demo .vk-brief-nav{background:var(--vk-brief-light)!important;color:var(--vk-brief-light-fg,var(--vk-brief-dark))!important;--nav-bg:var(--vk-brief-light);--nav-fg:var(--vk-brief-light-fg,var(--vk-brief-dark));--nav-link:var(--vk-brief-light-fg,var(--vk-brief-dark))}
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .brand,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .brand *,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .nav-links a,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .links a,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .lk a,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav nav a:not(.btn){color:var(--nav-link)!important}
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .nav-cta,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .btn.small,
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .act .btn{background:var(--vk-brief-accent)!important;color:var(--vk-brief-button-fg)!important;border-color:var(--vk-brief-accent)!important}
html[data-vk-brief-variant] .industry-demo .vk-brief-nav a.nav-cta{background:var(--vk-brief-accent)!important;color:var(--vk-brief-button-fg)!important;border-color:var(--vk-brief-accent)!important}
html[data-vk-brief-variant] .industry-demo .vk-brief-nav .vk-brief-brand-sub{font-size:.64rem;font-weight:700;letter-spacing:.07em;line-height:1.15;max-width:13em;text-transform:uppercase;white-space:normal}
html[data-vk-brief-sparte="bestattung"] .industry-demo .vk-brief-stage--c h1{font-style:normal;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,4.7vw,72px)}
html[data-vk-brief-sparte="bestattung"] .industry-demo .vk-brief-stage img{animation:none!important}
html[data-vk-brief-sparte="bestattung"] .industry-demo .vk-brief-actions a{transition:none!important}
html[data-vk-brief-sparte="bestattung"] .industry-demo *{animation:none!important;transition:none!important}
html[data-vk-brief-sparte="bestattung"] .industry-demo .vk-brief-nav .brand-mark{display:none!important}
.industry-demo .vk-brief-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.industry-demo .vk-brief-offer-card{padding:25px;border-radius:18px;background:var(--card-bg,#fff);border:1px solid var(--line,#ddd)}
.industry-demo .vk-brief-offer-card h3{margin:0 0 12px}.industry-demo .vk-brief-offer-card p{margin:0}
@media(max-width:800px){.industry-demo .vk-brief-offers{grid-template-columns:1fr}}
