/* Round 7 refinement. Radius remains the fallback for browsers without bevel.
   Reader/TOC typography is deliberately kept at the approved values. */
:root,:root[data-theme=light],.portal-home{
 --line:#141a10;--line-soft:#d9ddd4;--panel2:#f3f4f0;--tile:#fff;--chip:#f3f4f0;
 --edge-frame:2px;--edge-card:1.5px;--edge-divider:1px;--bevel:12px}
/* Shared surfaces: includes late-loaded anbau.css and dynamically created popovers. */
.portal-page :is(.portal-hero,.portal-feature,.portal-widget,.portal-step,.portal-faq,
 .portal-next-card,.portal-duty-card,.duty-card,.anbau-card,.anbau-key>li,.portal-table,
 .portal-country-card,.csc-contact-card,.software-approaches,.kcang-popover){
 corner-shape:bevel;border-radius:var(--bevel);border:var(--edge-card) solid var(--line);background-color:#fff}
.portal-page :is(button,select,input,.portal-law-chip,.portal-category,.portal-readtime,
 .portal-step-badge,.portal-nav-number,.portal-next-number,.skip-link){
 corner-shape:bevel;border-radius:6px}
.portal-page :is(.portal-menu-button,.portal-widget select,.portal-law-chip,.portal-next-number,
 .kcang-popover-header button){border-width:var(--edge-card);border-style:solid}
.portal-page .csc-contact-card>img{corner-shape:bevel;border-radius:6px}
.portal-page .anbau-key>li{border-left-color:var(--accent)}
.portal-page .anbau-key>li::before{corner-shape:bevel;border-radius:3px}
.portal-page .portal-country-card{border-top-color:var(--accent)}
.portal-page .portal-faq>summary::after{corner-shape:bevel;border-radius:6px;background:var(--panel2);color:var(--text)}
.portal-page .portal-faq[open]>summary::after{background:var(--line);color:#fff}
/* Frame / cards / internal dividers: 2 / 1.5 / 1 px. */
.portal-page :is(.portal-hero,.portal-feature--top){border-width:var(--edge-frame)}
.portal-page .portal-header{border-bottom-width:var(--edge-frame)}
.portal-page :is(.portal-reader #quellen,.portal-next,.portal-footer .footer-bottom){border-top:var(--edge-frame) solid var(--line)}
.portal-page .portal-footer .footer-bottom{border-top-color:var(--ink-line)}
.portal-page .portal-reader .software-scene{border-top-width:var(--edge-frame)}
.portal-page :is(.portal-table th,.portal-table td,.portal-reader #quellen li,.portal-update-list>li){border-bottom:var(--edge-divider) solid var(--line-soft)}
.portal-page :is(.portal-update-list,.portal-popular li){border-top-color:var(--line-soft);border-top-width:var(--edge-divider)}
.portal-page .portal-table tr:last-child td{border-bottom:0}
.portal-page .portal-table th{background:var(--panel2)}
.portal-page :is(.portal-faq[open]>summary,.kcang-popover-header){border-bottom:var(--edge-divider) solid var(--line-soft)}
.portal-page .kcang-popover-footer{border-top:var(--edge-divider) solid var(--line-soft)}
/* Keep the contents navigation and active marker as approved. */
.portal-toc>nav>ol{border-left:2px solid var(--line)}
.portal-toc a{border-left-width:3px}
@media(max-width:1099px){.portal-toc{corner-shape:bevel;border-radius:var(--bevel);border:1.5px solid var(--line)}}
@media(min-width:1100px){.portal-toc{position:sticky;top:calc(var(--portal-head) + 24px);max-height:calc(100svh - var(--portal-head) - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-soft) transparent;padding-right:10px;padding-bottom:16px;mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent)}}
/* Reserved strip prevents the watermark from touching any hero text. */
.portal-leaf,.portal-card-leaf{display:none}
.portal-page :is(.portal-hero,.portal-feature--top){position:relative;isolation:isolate;background-image:none}
/* Headline rhythm, without changes to body copy or contents typography. */
.portal-page .portal-hero>.eyebrow,.portal-top-label,.anbau-card-label{letter-spacing:.18em;font-weight:900;line-height:1.4}
.portal-page .portal-hero>.eyebrow{margin:0 0 16px}
.portal-page .portal-hero h1{letter-spacing:-.035em;line-height:1.12;margin:0}
.portal-page .portal-hero-meta{margin-top:24px;gap:8px 10px;align-items:center;line-height:1.5}
.portal-page .portal-law-chip{line-height:1.5;color:var(--text);background:#fff}
.portal-page .portal-content-date{line-height:1.5}
.portal-feature h2{letter-spacing:-.035em}
.portal-top-label{margin-bottom:16px}
.portal-page .portal-card-badges{margin-bottom:20px}
.portal-nav-title,.portal-toc summary,.legal-reading-toc-title{letter-spacing:.2em;font-weight:900}
.portal-reader h2,.portal-duty-section>h2,.portal-updates>h2,.portal-widget h2,.portal-next h2{letter-spacing:-.025em}
.portal-reader .duty-grid{grid-auto-rows:1fr}
@media(min-width:1100px){.portal-duty-strip{grid-auto-rows:1fr}}
/* One visible lime keyboard focus. No clip-path that could cut the ring off. */
.portal-page :is(a,button,select,input,summary,[tabindex]):focus-visible{
 outline:2px solid var(--lime);outline-offset:4px;corner-shape:bevel}
.portal-page :is(.portal-feature,.portal-duty-card,.duty-card,.portal-next-card,.anbau-card,
 .portal-menu-button,select,.portal-law-chip,.kcang-popover-header button):hover{
 border-color:var(--accent);box-shadow:none}
.portal-page :is(.portal-law-chip,.kcang-popover-header button):hover{background:var(--line);color:#fff}
.portal-page :is(.portal-faq>summary,.portal-toc summary):hover{color:var(--accent-text)}
.portal-page a:not(.portal-feature,.portal-duty-card,.duty-card,.portal-next-card,.anbau-card,.portal-brand,.portal-area-chip,.portal-law-chip):hover{
 text-decoration-color:var(--accent);text-decoration-thickness:2px}
.portal-page .portal-area-chip:hover::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:0;background:var(--accent)}
.portal-page .portal-area-chip[aria-current]::after,.portal-page .portal-area-chip[aria-current]:hover::after{border-radius:0;height:4px;background:var(--lime)}
.portal-page .portal-faq:focus-within{border-color:var(--accent)}
.portal-page .portal-category,.portal-page .portal-step-badge{background:var(--line);color:#fff}
.portal-page .portal-readtime{background:var(--panel2);color:var(--muted)}
.portal-state-link,.portal-widget--software>a{font-weight:700}
@media(max-width:899px){
 /* On narrow screens reserve the eyebrow row, not a strip beside the H1. */
 .portal-page .portal-hero-meta{margin-top:20px}
 .portal-duty-digit{font-size:38px;height:38px}
 .portal-page .portal-header[data-menu=open] .portal-area-chip::after{left:-12px;right:auto;top:12px;bottom:12px;width:2px;height:auto}
}

/* Round 8: no watermark, plain numbers 01–10. */
.portal-hero,.portal-feature--top{background:#fff}
.portal-duty-digit{font:800 40px/1 "Inter Tight",Inter,sans-serif;letter-spacing:-.03em;color:var(--text);margin-bottom:18px}
.portal-reader .duty-card .card-number{font:800 26px/1 "Inter Tight",Inter,sans-serif;letter-spacing:-.02em;color:var(--text);margin-bottom:14px}

/* Round 9: area icons from the portal (Font Awesome Free, CC BY 4.0) in the ten tiles. */
.portal-duty-digit,.portal-reader .duty-card .card-number{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text)}
.duty-icon{display:block;height:40px;width:auto;max-width:56px}
.portal-reader .duty-card .duty-icon{height:32px}
.duty-no{font:800 15px/1 Inter,sans-serif;letter-spacing:.08em;color:var(--muted)}
.portal-duty-card:hover .duty-icon,.portal-reader .duty-card:hover .duty-icon{filter:invert(32%) sepia(60%) saturate(600%) hue-rotate(60deg) brightness(90%)}
.portal-duty-card{min-height:150px;justify-content:space-between}
@media(max-width:899px){.duty-icon{height:34px}}
.portal-update-list .portal-category{justify-self:start}

 /* Round 10b: letters only in the logo; the big 420+ gear turns complete beside the logo, its neighbours peek in. */
:root,:root[data-theme=light],.portal-home{--brand-left:max(var(--gutter),calc((100vw - var(--frame))/2 + var(--gutter)))}
.portal-header,.portal-home .portal-header{height:var(--portal-head);overflow:hidden}
.portal-brand,.portal-home .portal-brand{width:232px;gap:8px;position:relative;z-index:2}
.portal-area-nav,.portal-menu-button{position:relative;z-index:2}
.portal-gears{color:#fff;display:block;position:absolute;z-index:1;left:calc(var(--brand-left) + 198px);top:-110px;height:300px;width:auto;max-width:none;opacity:.5;pointer-events:none;mask-image:linear-gradient(90deg,#000 66%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 66%,transparent 100%)}
@media(max-width:1279px){.portal-gears{left:auto;right:-150px;opacity:.4;mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 80%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 80%)}}
@media(max-width:899px){.portal-gears{right:-40px;top:-88px;height:230px;opacity:.3;mask-image:linear-gradient(90deg,transparent 0,#000 25%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 25%,#000 100%)}.portal-menu-button{z-index:2;background:rgba(13,15,11,.85)}}
@media(max-width:1099px){.portal-brand,.portal-home .portal-brand{width:210px}}
@media(max-width:899px){.portal-brand,.portal-home .portal-brand{width:172px;gap:6px}}
.portal-gears{overflow:visible}

/* Shared gear phase and same-origin document transitions. */
.portal-gears > g:nth-of-type(1) .company-origin-gear{animation-delay:var(--gear-1-delay,0s)}
.portal-gears > g:nth-of-type(2) .company-origin-gear{animation-delay:var(--gear-2-delay,0s)}
.portal-gears > g:nth-of-type(3) .company-origin-gear{animation-delay:var(--gear-3-delay,0s)}
@view-transition{navigation:auto}
.portal-header{view-transition-name:portal-header}
.portal-gears{view-transition-name:portal-gears}
::view-transition-group(portal-header),::view-transition-group(portal-gears){animation:none}
::view-transition-old(portal-header),::view-transition-old(portal-gears){animation:none;opacity:0}
::view-transition-new(portal-header),::view-transition-new(portal-gears){animation:none;mix-blend-mode:normal}
::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:120ms}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 .portal-header,.portal-gears{view-transition-name:none}
 .portal-gears .company-origin-gear{animation:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}
}

/* Gründung: sub-steps numbered I–VI in contents and badges. */
.portal-step-badge{width:auto;min-width:30px;padding:0 7px;letter-spacing:.02em}
.portal-step>h3{padding-left:58px}
.portal-toc .gruendung-step-toc .legal-reading-number{min-width:26px;letter-spacing:.02em}
@media(min-width:1100px){.portal-toc>summary{position:sticky;top:0;z-index:1;background:#fff;padding-bottom:8px}}
/* Jump targets: one offset only (html scroll-padding); no second scroll-margin on top of it. */
html{scroll-padding-top:calc(var(--portal-head) + 24px)}
.portal-reader section,.portal-reader #quellen li,#pflichten,.portal-home-block [id],.cite-ref{scroll-margin-top:0}

/* Shared source cards across the portal. */

.portal-reader #quellen ol{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:none}
.portal-reader #quellen li.source-card{display:grid;gap:6px;margin:0;padding:18px 20px;border:1.5px solid var(--line);corner-shape:bevel;border-radius:10px;background:#fff;font-size:14px;line-height:1.55}
.portal-reader #quellen li.source-card::before{content:none}
.portal-reader #quellen li.source-card:focus-visible,.portal-reader #quellen li.source-card.source-flash{outline:2px solid var(--lime);outline-offset:3px;background:#fbfcf6}
.source-card-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.source-card-title{font-style:normal;font-weight:700;font-size:16px;line-height:1.4;color:var(--text)}
.source-card-meta,.source-card-ref{color:var(--muted)}
.source-card-actions{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:4px;font-weight:700}
.source-card-actions a{color:var(--accent-text)}
.source-card-back{margin-left:auto}
.cite-ref{scroll-margin-top:0}
.cite-ref:focus-visible,.cite-ref.source-flash{outline:2px solid var(--lime);outline-offset:2px}
@media(max-width:600px){.source-card-back{margin-left:0}}

.portal-reader #quellen li.source-card{min-width:0;overflow-wrap:anywhere}

/* Shared footer and full-width Clubpraxis grids. */
body.portal-page{min-height:100svh;display:flex;flex-direction:column;padding-bottom:0}
.portal-page>.portal-header{flex-shrink:0}
.portal-page>.portal-shell{flex:1;display:flex;flex-direction:column}
.portal-page>.portal-shell>.portal-main{width:100%;flex:1}
.portal-page .portal-footer{margin-top:auto;margin-bottom:0;padding:48px var(--gutter) 24px;background:var(--ink)}
.portal-page .portal-footer .footer-grid{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(0,1fr));gap:32px}
.footer-brand{min-width:0;max-width:310px}
.portal-footer .footer-brand-link{display:block;width:160px;color:#fff;text-decoration:none}
.footer-brand-link img{display:block;width:160px;height:auto}
.footer-brand-sub{display:block;width:160px;font:900 7px/1.4 Inter,sans-serif;letter-spacing:.1em;text-align-last:justify;white-space:nowrap;margin-top:7px}
.footer-brand p{margin:20px 0 16px}
.footer-brand address{font-style:normal}
.portal-footer nav>a,.footer-brand address>a{display:flex;align-items:center;min-height:40px;overflow-wrap:anywhere}
.portal-footer nav{min-width:0}
.portal-page .portal-footer .footer-bottom{margin-top:32px;padding-top:20px}
.portal-footer .footer-bottom p{margin:0}
@media(max-width:1099px){.portal-page .portal-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.footer-brand,.footer-legal{grid-column:1/-1}.footer-brand{max-width:440px}}
@media(max-width:767px){.portal-page .portal-footer{padding-top:36px}.portal-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
.portal-page .portal-reader .duty-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:20px;overflow:visible;padding:0;scroll-snap-type:none}
.portal-page .portal-reader .duty-card{display:flex;flex-direction:column;min-width:0;min-height:150px;height:100%;padding:24px;font-size:16px}
.portal-page .duty-card .card-arrow{margin-top:auto;padding-top:20px}
.portal-content-grid:has(#pflichten){display:block}
.portal-content-grid:has(#pflichten)>.portal-toc{position:relative;top:auto;max-height:none;margin-bottom:32px}
.portal-content-grid:has(#pflichten)>.portal-reader{max-width:none}
.portal-reader:has(#pflichten) .hub-intro,.portal-reader:has(#pflichten)> .container:not(:has(#pflichten)){max-width:760px}
@media(min-width:768px){
 .portal-page .portal-reader .duty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-page .duty-grid>a:nth-child(10){grid-column:1/-1;display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 28px;min-height:130px;align-content:start;position:relative}
 .portal-page .duty-grid>a:nth-child(10)>.card-number{grid-column:1;grid-row:1/4;margin:0;align-self:start}
 .portal-page .duty-grid>a:nth-child(10)>:not(.card-number){grid-column:2;padding-right:32px}
 .portal-page .duty-grid>a:nth-child(10)>h2{margin-top:0}
 .portal-page .duty-grid>a:nth-child(10) .duty-no{position:absolute;top:24px;right:24px}
}
@media(min-width:1100px){
 .portal-page .portal-reader .duty-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Partner: Header-Zahnräder mit C S C, Klick öffnet Ladefenster. */
.partner-csc-gears{display:block;width:100%;height:auto;color:#fff;overflow:visible}
.partner-csc-gears > g:nth-of-type(1) .company-origin-gear{animation-delay:var(--gear-1-delay,0s)}
.partner-csc-gears > g:nth-of-type(2) .company-origin-gear{animation-delay:var(--gear-2-delay,0s)}
.partner-csc-gears > g:nth-of-type(3) .company-origin-gear{animation-delay:var(--gear-3-delay,0s)}
.partner-strip{margin:40px 0 28px}
.partner-strip-title{margin:0 0 12px;font-weight:800;font-size:18px;color:var(--text)}
.partner-strip-button{display:block;width:100%;padding:28px 22px;background:#0d0f0b;border:var(--edge-card) solid #0d0f0b;corner-shape:bevel;border-radius:var(--bevel);cursor:pointer;transition:background .2s}
.partner-strip-button:hover{background:#1a2014}
.partner-emblem{display:block;color:#fff;max-width:100%;margin:0 auto}
.partner-strip-button .partner-emblem{width:min(100%,500px);height:auto}
.partner-emblem .partner-csc-gears{width:294px;height:256.7px;overflow:visible}

.partner-strip-button:focus-visible,.partner-dialog-close:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.partner-dialog{width:min(900px,calc(100vw - 32px));max-height:calc(100svh - 32px);margin:auto;padding:48px 40px 36px;border:0;corner-shape:bevel;border-radius:16px;background:#0d0f0b;color:#fff;text-align:center;overflow:auto}
.partner-dialog::backdrop{background:rgba(13,15,11,.62);backdrop-filter:blur(3px)}
.partner-dialog .partner-emblem{width:min(100%,600px);margin:0 auto 22px}
.partner-dialog-close{position:absolute;top:10px;right:12px;width:40px;height:40px;padding:0;font-size:26px;line-height:1;color:#fff;background:transparent;border:0;cursor:pointer}
.partner-loading{margin:0;font-size:20px;font-weight:700;letter-spacing:.04em;color:#fff}
.partner-dots i{font-style:normal;animation:partner-dot 1.4s infinite both}
.partner-dots i:nth-child(2){animation-delay:.2s}.partner-dots i:nth-child(3){animation-delay:.4s}
@keyframes partner-dot{0%,80%,100%{opacity:.15}40%{opacity:1}}
@media(prefers-reduced-motion:reduce){.partner-dots i{animation:none;opacity:1}}
@media(max-width:600px){.partner-dialog{padding:44px 18px 28px}}

/* Sparse fragments, never a full-sheet grid. */
.partner-strip-button,.partner-dialog{position:relative;isolation:isolate}
.partner-strip-button::before,.partner-dialog::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;opacity:.10;background-image:linear-gradient(90deg,transparent,#beb075,transparent),linear-gradient(90deg,transparent,#beb075,transparent),linear-gradient(transparent,#beb075,transparent),linear-gradient(90deg,transparent,#beb075,transparent),linear-gradient(transparent,#beb075,transparent);background-repeat:no-repeat;background-size:110px 1px,75px 1px,1px 90px,100px 1px,1px 65px;background-position:9% 24%,11% 30%,16% 23%,91% 79%,87% 80%}
.partner-emblem>.partner-csc-gears .company-origin-gear>path{stroke-width:18}

.partner-emblem .partner-frame{stroke-width:1.25px;opacity:.55;stroke-linecap:square}

/* RGB-Glitch beim Darüberfahren: deutlich sichtbar (2 s), danach wieder weiß. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .partner-strip-button:hover .partner-emblem,.partner-dialog .partner-emblem:hover{animation:partner-rgb-glitch 2s steps(1,end) 1}
}
@keyframes partner-rgb-glitch{
 0%{filter:none;transform:none}
 4%{filter:drop-shadow(-9px 0px rgba(255,40,80,1)) drop-shadow(9px 0px rgba(40,220,255,1));transform:translate(4px,0)}
 9%{filter:drop-shadow(7px -2px rgba(255,40,80,1)) drop-shadow(-7px 2px rgba(40,220,255,1)) contrast(1.4);transform:translate(-6px,2px) skewX(-4deg)}
 14%{filter:drop-shadow(-12px 0px rgba(255,40,80,1)) drop-shadow(12px 0px rgba(40,220,255,1));transform:translate(3px,-2px)}
 18%{filter:none;transform:none}
 24%{filter:drop-shadow(-10px -1px rgba(255,40,80,1)) drop-shadow(10px 1px rgba(40,220,255,1)) brightness(1.3);transform:translate(-5px,0) skewX(5deg)}
 29%{filter:drop-shadow(-6px 0 rgba(120,255,140,1)) drop-shadow(6px 0 rgba(190,90,255,1));transform:translate(6px,-1px)}
 34%{filter:drop-shadow(8px 0px rgba(255,40,80,1)) drop-shadow(-8px 0px rgba(40,220,255,1));transform:translate(-3px,3px) skewX(-3deg)}
 40%{filter:none;transform:none}
 50%{filter:drop-shadow(-11px 0px rgba(255,40,80,1)) drop-shadow(11px 0px rgba(40,220,255,1)) contrast(1.5);transform:translate(5px,0) skewX(4deg)}
 55%{filter:drop-shadow(6px -2px rgba(255,40,80,1)) drop-shadow(-6px 2px rgba(40,220,255,1));transform:translate(-4px,-2px)}
 60%{filter:drop-shadow(-8px 0px rgba(255,40,80,1)) drop-shadow(8px 0px rgba(40,220,255,1));transform:translate(2px,1px)}
 66%{filter:none;transform:none}
 76%{filter:drop-shadow(-6px 0px rgba(255,40,80,0.85)) drop-shadow(6px 0px rgba(40,220,255,0.85));transform:translate(-3px,0) skewX(-2deg)}
 82%{filter:drop-shadow(-3px 0px rgba(255,40,80,0.6)) drop-shadow(3px 0px rgba(40,220,255,0.6));transform:none}
 88%,100%{filter:none;transform:none}
}
/* Glimmen: alle drei Zahnräder samt Symbol leuchten gleichzeitig, aber phasenversetzt unterschiedlich stark. */
@media(prefers-reduced-motion:no-preference){
 .partner-csc-gears > g{animation:partner-glow 3.4s ease-in-out infinite}
 .partner-csc-gears > g:nth-of-type(2){animation-duration:2.7s;animation-delay:-1.1s}
 .partner-csc-gears > g:nth-of-type(3){animation-duration:4.1s;animation-delay:-2.3s}
 .partner-emblem .partner-frame{animation:partner-frame-glow 3.8s ease-in-out infinite}
}
@keyframes partner-glow{
 0%,100%{opacity:.78;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}
 30%{opacity:1;filter:drop-shadow(0 0 22px rgba(255,255,255,.75)) drop-shadow(0 0 60px rgba(190,235,255,.45))}
 55%{opacity:.88;filter:drop-shadow(0 0 8px rgba(255,255,255,.35))}
 75%{opacity:1;filter:drop-shadow(0 0 34px rgba(255,255,255,.9)) drop-shadow(0 0 90px rgba(190,235,255,.5))}
}
@keyframes partner-frame-glow{0%,100%{opacity:.4}50%{opacity:.8}}
@media(prefers-reduced-motion:reduce){.partner-csc-gears > g,.partner-emblem .partner-frame{animation:none!important;filter:none!important;opacity:1}}
@media(prefers-reduced-motion:reduce){.partner-emblem{animation:none!important;filter:none!important}}

/* Portal-Einblicke: echte Vorgänge aus dem Portal, schemenhaft im Hero und als Karte im Lesefluss */
.portal-schemen{position:absolute;right:-4%;bottom:-18%;width:38%;max-width:500px;z-index:-1;pointer-events:none;opacity:.7;mix-blend-mode:multiply;transform:perspective(1400px) rotateY(-18deg) rotateX(6deg) rotate(-3deg);transform-origin:right bottom;filter:saturate(.55) contrast(1.08);-webkit-mask-image:linear-gradient(105deg,transparent 0,#000 35%,#000 85%,rgba(0,0,0,.4) 100%),linear-gradient(#000 60%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(105deg,transparent 0,#000 35%,#000 85%,rgba(0,0,0,.4) 100%),linear-gradient(#000 60%,transparent);mask-composite:intersect}
.portal-schemen img{display:block;width:100%;height:auto;border-radius:10px}
.portal-peek{margin:34px 0;padding:0;font-size:inherit}
.portal-peek-frame{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);padding:8px;box-shadow:0 1px 0 rgba(0,0,0,.03),0 24px 48px -30px rgba(0,0,0,.35);transform:rotate(-.8deg);transition:transform .35s ease}
.portal-peek:nth-of-type(even) .portal-peek-frame{transform:rotate(.7deg)}
.portal-peek:hover .portal-peek-frame{transform:rotate(0)}
.portal-peek-frame img{display:block;width:100%;height:auto;border-radius:6px}
.portal-peek-bar{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px 6px 0 0;background:linear-gradient(#f6f8f7,#eef2f0);border-bottom:1px solid var(--line);font:600 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5b6660}
.portal-peek-bar i{width:8px;height:8px;border-radius:50%;background:#d8dedb}
.portal-peek-bar i:first-child{background:#b4d532}
.portal-peek-bar span{margin-left:auto;letter-spacing:.04em;text-transform:none;font-weight:500;color:#7a857f}
.portal-peek-frame.has-bar{padding-top:34px}
.portal-peek-frame.has-bar img{border-radius:0 0 6px 6px}
.portal-loupe{position:absolute;right:-22px;bottom:-26px;width:46%;min-width:220px;max-width:340px;border-radius:14px;overflow:hidden;border:3px solid #b4d532;background:#fff;box-shadow:0 18px 40px -16px rgba(0,0,0,.5),0 0 0 6px rgba(255,255,255,.85);transform:rotate(1.5deg)}
.portal-loupe img{display:block;width:100%;height:auto}
.portal-loupe::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,127,68,.08),transparent 50%);pointer-events:none}
.portal-peek--zoom .portal-peek-frame{margin-bottom:26px;margin-right:22px}
.portal-peek figcaption{margin:14px 4px 0;font-size:14px;line-height:1.5;color:#4d5752}
.portal-peek figcaption b{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:5px;background:var(--tile);color:#356b12;font:700 10px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle}
.portal-peek--wide{margin-left:-24px;margin-right:-24px}
@media(max-width:1279px){.portal-schemen{width:60%;opacity:.12}}
@media(max-width:899px){.portal-schemen{display:none}.portal-peek--wide{margin-left:0;margin-right:0}.portal-peek-frame,.portal-peek:nth-of-type(even) .portal-peek-frame{transform:none}.portal-loupe{position:static;width:100%;max-width:none;min-width:0;margin-top:8px;transform:none}.portal-peek--zoom .portal-peek-frame{margin:0}}
@media(prefers-reduced-motion:reduce){.portal-peek-frame{transition:none}}
.portal-peek-frame video.portal-clip{display:block;width:100%;height:auto;border-radius:0 0 6px 6px;background:#f2f4f3}
.portal-peek-frame img.portal-clip-still{display:none}
.portal-peek--clip .portal-peek-bar span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#b4d532;box-shadow:0 0 0 3px rgba(180,213,50,.25);vertical-align:1px}
@media(prefers-reduced-motion:reduce){.portal-peek-frame video.portal-clip{display:none}.portal-peek-frame img.portal-clip-still{display:block}}
.portal-peek--handy{max-width:280px;margin-left:auto;margin-right:auto}
.portal-peek--handy .portal-peek-bar span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(min-width:700px){.portal-peek--handy{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;max-width:none}.portal-peek--handy figcaption{margin:0 0 6px}}

.portal-peek--hero{margin-top:8px}.portal-peek--hero .portal-peek-frame{transform:none}
@media(min-width:1280px){.portal-peek--hero.portal-peek--wide{margin-left:-40px;margin-right:-40px}}

/* Clubbetrieb: Portal-Desktop schemenhaft hinter den zehn Bereichen */
.duty-stage{position:relative;isolation:isolate}
.duty-portal{display:none}
@media(min-width:900px){
 .duty-portal{display:block;position:absolute;z-index:-1;inset:-36px 0 -24px;pointer-events:none;opacity:.42;filter:saturate(.8) contrast(1.05);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 85%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 85%,transparent 100%);mask-composite:intersect}
 .duty-portal img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
 .duty-stage .duty-card{background:rgba(255,255,255,.74)!important;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}
}
@media(prefers-contrast:more){.duty-portal{display:none}.duty-stage .duty-card{background:#fff!important}}
.portal-peek--anbau{margin:30px 0 40px}
.portal-peek--anbau .portal-peek-frame{transform:none}
.portal-peek--anbau figcaption b{background:#eef1ee;color:#4d5752}

/* Clubbetrieb disclosure: readable links above a quiet portal texture. */
.club-menu-trigger{font-family:inherit;cursor:pointer;gap:6px}
.club-menu-trigger>span{font-size:15px;color:#b4d532}
.club-megamenu{position:fixed;z-index:45;right:max(24px,calc((100vw - 1200px)/2 + 24px));width:min(740px,calc(100vw - 48px));max-height:calc(100dvh - var(--portal-head) - 16px);overflow:auto;isolation:isolate;padding:24px;background:var(--menu-surface,#0d100b);color:var(--menu-text,#f5f7ee);border:1px solid var(--menu-border,#69705c);border-top:2px solid var(--menu-rule,#b4d532);border-radius:0 0 14px 14px;corner-shape:bevel;box-shadow:0 22px 50px #0005}
.club-megamenu[hidden]{display:none}
.club-menu-media{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.24;mask-image:linear-gradient(110deg,transparent,#000 35%,#000 75%,transparent),linear-gradient(180deg,transparent 0,#000 22%);mask-composite:intersect}
.club-menu-media img,.club-menu-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.65) grayscale(1)}
.club-menu-media video[hidden]{display:none}
.club-menu-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:10px;border-bottom:1px solid #ffffff26}
.club-menu-top>a{font:700 18px/1.3 'Inter Tight',Inter,sans-serif;color:#fff;text-decoration:none}
.club-menu-overview-arrow{display:inline-block;width:22px;height:22px;margin-left:8px;vertical-align:-3px;color:currentColor;opacity:.8}
.club-menu-close{background:transparent;color:var(--menu-muted,#dbe0d1);border:1px solid #ffffff35;padding:10px 12px;font:500 13px/1.3 Inter,sans-serif;cursor:pointer}
.club-menu-close span{font-size:20px;margin-left:8px}
.club-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
:is(.club-menu-grid>a,.anbau-menu-group-links>a){display:flex;gap:14px;align-items:center;min-height:64px;padding:12px 14px;color:var(--menu-text,#f5f7ee);text-decoration:none;border:1px solid transparent;background:var(--menu-tile,#0d100b50);font:600 16px/1.3 Inter,sans-serif;min-width:0}
:is(.club-menu-grid>a,.anbau-menu-group-links>a) img{width:26px;height:26px;object-fit:contain;filter:invert(1);flex:none}
:is(.club-menu-grid>a,.anbau-menu-group-links>a) small{margin-left:auto;font-size:11px;letter-spacing:.05em;color:var(--menu-muted,#b3bcaa)}
:is(.club-menu-grid>a,.anbau-menu-group-links>a):hover,:is(.club-menu-grid>a,.anbau-menu-group-links>a)[aria-current]{border-color:#b4d53280;background:#b4d53216;color:#fff}
.club-menu-top>a:hover{color:#b4d532}
.club-megamenu :focus-visible{outline:2px solid #b4d532;outline-offset:3px}
.club-menu-close:hover{border-color:#b4d532}
@media(max-width:899px){
 html[data-portal-ready] .portal-header[data-menu=open] .portal-area-nav{position:fixed;top:var(--portal-head);max-height:calc(100dvh - var(--portal-head));overflow:auto}
 html[data-portal-ready] .portal-header[data-club-open] .portal-area-nav{display:none}
 .club-megamenu{left:12px;right:12px;width:auto;padding:16px;max-height:calc(100dvh - var(--portal-head) - 12px)}
 .club-menu-top{gap:8px;padding-bottom:12px}
 .club-menu-top>a{font-size:17px}
 .club-menu-grid{gap:4px 8px}
 :is(.club-menu-grid>a,.anbau-menu-group-links>a){padding:12px 6px;gap:8px;min-height:70px;font-size:14px;overflow-wrap:break-word}
 :is(.club-menu-grid>a,.anbau-menu-group-links>a) img{width:22px;height:22px}
 :is(.club-menu-grid>a,.anbau-menu-group-links>a) small{display:none}
 .club-menu-media video{display:none}
 .club-menu-close{font-size:0;padding:8px 12px}
 .club-menu-close span{font-size:22px;margin:0}
}
@media(prefers-reduced-motion:reduce){.club-menu-media video{display:none}}

/* Neutral area menus: matching surfaces; teaser media stays grayscale. */
:is(#club-megamenu,#anbau-megamenu,#rechtsprechung-megamenu,#kcang-megamenu){--menu-surface:#0e0e0e;--menu-text:#f5f5f5;--menu-border:#686868;--menu-rule:#787878;--menu-tile:#0e0e0e50;--menu-muted:#bcbcbc;--menu-symbol:#d0d0d0;--menu-group:#dedede}
.club-menu-trigger:is([aria-controls="club-megamenu"],[aria-controls="anbau-megamenu"],[aria-controls="rechtsprechung-megamenu"],[aria-controls="kcang-megamenu"])>span{color:#bcbcbc}
.club-menu-trigger:is(:hover,:focus-visible,[aria-expanded="true"],[aria-current])>span{color:#b4d532}
.club-menu-top>a:hover span{color:inherit}
/* Original plant photograph: static edge texture behind the partner dialog. */
.partner-dialog::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(to bottom,rgba(13,15,11,.14),rgba(13,15,11,.4))}

/* Reserve disclosure arrows before JS replaces the links: no navigation shift. */
.portal-area-nav :is(a[href="/clubbetrieb"],a[href="/anbau"],a[href="/rechtsprechung"],a[href="/kcang"],.club-menu-trigger){padding-right:15px}
.portal-area-nav :is(a[href="/clubbetrieb"],a[href="/anbau"],a[href="/rechtsprechung"],a[href="/kcang"])::before{content:'⌄';position:absolute;right:0;width:9px;font-size:15px;color:#b4d532}
.club-menu-trigger>span{position:absolute;right:0;width:9px}
.club-menu-media video{pointer-events:none}

/* Anbau: same five topic groups as the overview, two articles per group. */
.anbau-menu-groups{display:flex;flex-direction:column;gap:0}
.anbau-menu-group{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff20;min-width:0}
.anbau-menu-group:last-child{border-bottom:0}
.anbau-menu-group h3{margin:0;color:var(--menu-group,#b4d532);font:700 15px/1.35 'Inter Tight',Inter,sans-serif;letter-spacing:.02em}
.anbau-menu-group-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.anbau-menu-group-links>a{padding:10px 8px;gap:10px;font-size:14px}
@media(max-width:899px){
 .anbau-menu-group{grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 0}
 .anbau-menu-group h3{font-size:14px}
 .anbau-menu-group-links>a{min-height:56px;padding:8px 6px;font-size:14px}
}

#kcang-megamenu small{white-space:nowrap;flex-shrink:0}

/* Fixed full-width background: only outer 40% exists, center fades to transparency. */
.partner-trace{position:absolute;left:2%;top:50%;transform:translateY(-50%);width:96%;height:auto;aspect-ratio:28/3;pointer-events:none;user-select:none;opacity:0;mix-blend-mode:normal;filter:none;z-index:-2;transition:opacity 2.4s ease}
.partner-trace.is-visible{opacity:.3}
.partner-dialog-close{z-index:3}
.partner-dialog .partner-demo,.partner-dialog .partner-demo-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:-3;filter:brightness(.65) saturate(.55);border-radius:inherit;transition:opacity 1.4s ease}
.partner-demo{opacity:0}
.partner-demo-poster,.partner-demo.is-playing{opacity:.24}
.partner-video-playing .partner-demo-poster{opacity:0}
@media(prefers-reduced-motion:reduce){.partner-demo{display:none}.partner-demo-poster{opacity:.24;transition:none}}
@media(prefers-reduced-motion:reduce){.partner-trace{transition:none}.partner-trace.is-visible{animation:none;opacity:.22}}


/* Small screens: compact contact header, stable menu surface and dialog. */
@media(max-width:600px){
 .portal-page .csc-contact-card{grid-template-columns:80px minmax(0,1fr);gap:8px 16px;padding:20px;align-items:start}
 .portal-page .csc-contact-card>img{grid-column:1;grid-row:1/3;width:80px;height:100px;object-fit:cover;object-position:center top}
 .csc-contact-content{display:contents}
 .portal-reader .csc-contact-card .eyebrow{grid-column:2;margin:0;align-self:end}
 .portal-reader .csc-contact-card h2{grid-column:2;font-size:23px;line-height:1.15;margin:0}
 .csc-contact-content>p:not(.eyebrow){grid-column:1/-1;margin:12px 0 0}
 .csc-contact-content a{display:inline-block;max-width:100%;overflow-wrap:anywhere}
 .partner-dialog{width:calc(100% - 32px);max-height:calc(100svh - 32px);padding:56px 20px 24px;overflow:auto}
 .partner-dialog .partner-emblem{width:min(100%,280px,48svh);margin:0 auto 12px}
 .partner-strip-button .partner-trace{opacity:.10}
 .partner-dialog .partner-trace{display:block}
 .partner-dialog .partner-trace.is-visible{opacity:.14}
 .partner-dialog .partner-demo,.partner-dialog .partner-demo-poster{object-fit:contain;opacity:.10}
 .partner-dialog-close{width:44px;height:44px;top:8px;right:8px;background:#161a13}
}
@media(max-width:899px){
 .club-megamenu{overscroll-behavior:contain;padding:0 16px 16px;max-height:calc(100svh - var(--portal-head) - 16px);background:#0e0e0e}
 .club-menu-media{display:none}
 .club-menu-top{position:sticky;top:0;z-index:2;margin:0;padding:12px 0;background:#0e0e0e}
 .anbau-menu-group-links>a{background:#191919;min-height:56px}
 .anbau-menu-group-links>a:last-child:nth-child(odd){grid-column:1/-1}
}

/* Compact transition from contact to partners. */
.portal-reader .partner-strip-directed{margin-top:24px;scroll-margin-top:160px}
@media(max-width:600px){.portal-reader .partner-strip-directed{scroll-margin-top:110px}}

/* Freigegebene Demo-Erklärung unmittelbar vor Zwei Bauweisen. */
.portal-reader .portal-instance-note{margin:0 0 32px;padding:18px 20px;border:0;border-radius:10px;background:#f3f4f3;color:#4f554f;font-size:14px;line-height:1.65}
.portal-reader .portal-instance-note p{margin:0;font-size:inherit;line-height:inherit}

.software-approaches{align-items:start}
.software-approach-extended{position:relative;background:#11150f;color:#f5f7f1;padding:28px!important;border:1px solid #30392a;border-radius:0;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.software-approach-extended:before{content:"";position:absolute;top:0;left:28px;width:44px;height:3px;background:#b4d532}
.portal-reader .software-approach-extended h3{color:#fff;margin:0 0 24px;font-size:24px;letter-spacing:-.03em}
.portal-reader .software-admin-base{color:#f5f7f1;font-size:16px;line-height:1.6;padding:0 0 22px;border-bottom:1px solid #ffffff26;margin:0 0 22px}
.portal-reader .software-addition{display:flex;align-items:center;gap:10px;color:#c5e54b;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px}
.software-addition:before{content:"+";display:grid;place-items:center;width:26px;height:26px;border:1px solid #b4d55b66;font-size:20px;font-weight:400;line-height:1}
.portal-reader .software-approach-extended ul{list-style:none;padding:0;margin:0;color:#e0e5da;font-size:15px;line-height:1.65}
.portal-reader .software-approach-extended li{position:relative;padding-left:18px;margin:0 0 16px}
.portal-reader .software-approach-extended li:last-child{margin-bottom:0}
.software-approach-extended li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;background:#b4d532}
.section-anchor-alias{display:block;scroll-margin-top:160px}
/* Software function map: clear labels and quiet row rhythm. */
#bereiche .portal-table{border-color:#cbd0c5}
#bereiche .csc-law-table{table-layout:fixed;min-width:560px;font-size:15px;line-height:1.65}
#bereiche .csc-law-table th,#bereiche .csc-law-table td{padding:19px 22px;text-align:left;vertical-align:top;border-bottom:1px solid #e1e5dc}
#bereiche .csc-law-table thead th{background:#11150f;color:#f5f7f1;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-top:18px;padding-bottom:18px;border-bottom:2px solid #b4d532}
#bereiche .csc-law-table th:first-child{width:30%}
#bereiche .csc-law-table tbody th{background:#fff;font-weight:650;word-break:normal;overflow-wrap:normal;hyphens:none}
#bereiche .csc-law-table tbody tr:nth-child(even)>*{background:#f7f8f5}
#bereiche .csc-law-table tbody tr:hover>*,#bereiche .csc-law-table tbody tr:focus-within>*{background:#eef2e6}
#bereiche .csc-law-table tbody a{color:#263a17;text-decoration-color:#91a37d;text-underline-offset:4px;text-decoration-thickness:1px;word-break:normal;overflow-wrap:normal;hyphens:none}
#bereiche .csc-law-table tbody a:hover{color:#456b19;text-decoration-thickness:2px}
#bereiche .csc-law-table tbody tr:last-child>*{border-bottom:0}
@media(max-width:650px){#bereiche .csc-law-table th,#bereiche .csc-law-table td{padding:16px}#bereiche .csc-law-table{font-size:14px}}
@media(max-width:650px){.software-approach-extended{padding:24px!important}.software-approach-extended:before{left:24px}}

.portal-clip-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.portal-clip-link:focus-visible{outline:2px solid #b4d532;outline-offset:-3px}
