body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
/*!
 * Font Awesome Free 5.14.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid 0.08em #eee;border-radius:.1em;padding:.2em.25em.15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}
@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}
100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}
100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root.fa-rotate-90,:root.fa-rotate-180,:root.fa-rotate-270,:root.fa-flip-horizontal,:root.fa-flip-vertical,:root.fa-flip-both{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}
@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;font-display:block;src:url("../../files/k4/fonts/fa-brands-400.eot");src:url("../../files/k4/fonts/fa-brands-400.eot?#iefix")format("embedded-opentype"),url("../../files/k4/fonts/fa-brands-400.woff2")format("woff2"),url("../../files/k4/fonts/fa-brands-400.woff")format("woff"),url("../../files/k4/fonts/fa-brands-400.ttf")format("truetype"),url("../../files/k4/fonts/fa-brands-400.svg#fontawesome")format("svg")}.fab{font-family:'Font Awesome 5 Brands';font-weight:400}
@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:400;font-display:block;src:url("../../files/k4/fonts/fa-regular-400.eot");src:url("../../files/k4/fonts/fa-regular-400.eot?#iefix")format("embedded-opentype"),url("../../files/k4/fonts/fa-regular-400.woff2")format("woff2"),url("../../files/k4/fonts/fa-regular-400.woff")format("woff"),url("../../files/k4/fonts/fa-regular-400.ttf")format("truetype"),url("../../files/k4/fonts/fa-regular-400.svg#fontawesome")format("svg")}.far{font-family:'Font Awesome 5 Free';font-weight:400}
@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:block;src:url("../../files/k4/fonts/fa-solid-900.eot");src:url("../../files/k4/fonts/fa-solid-900.eot?#iefix")format("embedded-opentype"),url("../../files/k4/fonts/fa-solid-900.woff2")format("woff2"),url("../../files/k4/fonts/fa-solid-900.woff")format("woff"),url("../../files/k4/fonts/fa-solid-900.ttf")format("truetype"),url("../../files/k4/fonts/fa-solid-900.svg#fontawesome")format("svg")}.fa,.fas{font-family:'Font Awesome 5 Free';font-weight:900}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: Lato, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.col-span-10 {
  grid-column: span 10 / span 10;
}
.col-span-12 {
  grid-column: span 12 / span 12;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-5 {
  grid-column: span 5 / span 5;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.col-span-7 {
  grid-column: span 7 / span 7;
}
.col-span-8 {
  grid-column: span 8 / span 8;
}
.col-span-9 {
  grid-column: span 9 / span 9;
}
.col-start-10 {
  grid-column-start: 10;
}
.col-start-11 {
  grid-column-start: 11;
}
.col-start-12 {
  grid-column-start: 12;
}
.col-start-2 {
  grid-column-start: 2;
}
.col-start-3 {
  grid-column-start: 3;
}
.col-start-4 {
  grid-column-start: 4;
}
.col-start-5 {
  grid-column-start: 5;
}
.col-start-6 {
  grid-column-start: 6;
}
.col-start-7 {
  grid-column-start: 7;
}
.col-start-8 {
  grid-column-start: 8;
}
.col-start-9 {
  grid-column-start: 9;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.min-h-\[80vh\] {
  min-height: 80vh;
}
.shrink {
  flex-shrink: 1;
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.gap-0 {
  gap: 0px;
}
.gap-12 {
  gap: 3rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.text-wrap {
  text-wrap: wrap;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.underline {
  text-decoration-line: underline;
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.focus\:not-sr-only:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
@media (min-width: 768px) {

  .md\:col-span-10 {
    grid-column: span 10 / span 10;
  }

  .md\:col-span-12 {
    grid-column: span 12 / span 12;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .md\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .md\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .md\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .md\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .md\:col-span-9 {
    grid-column: span 9 / span 9;
  }

  .md\:col-start-10 {
    grid-column-start: 10;
  }

  .md\:col-start-11 {
    grid-column-start: 11;
  }

  .md\:col-start-12 {
    grid-column-start: 12;
  }

  .md\:col-start-2 {
    grid-column-start: 2;
  }

  .md\:col-start-3 {
    grid-column-start: 3;
  }

  .md\:col-start-4 {
    grid-column-start: 4;
  }

  .md\:col-start-5 {
    grid-column-start: 5;
  }

  .md\:col-start-6 {
    grid-column-start: 6;
  }

  .md\:col-start-7 {
    grid-column-start: 7;
  }

  .md\:col-start-8 {
    grid-column-start: 8;
  }

  .md\:col-start-9 {
    grid-column-start: 9;
  }
}

/* ===============================================================
   K4 Custom-Formatierungen (reines CSS, handgepflegt)
   Analog zu metpro/custom.css – unabhängig von Tailwind.
   Tailwind-Utilities (v. a. das 12er-Grid) liegen in tailwind.min.css.
   Direkt editierbar, kein Build-Schritt nötig.
   =============================================================== */

/* ===============================================================
   Font-Definitionen (lokal, DSGVO-konform)
   =============================================================== */

/* Lato */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-300.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-300italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-900.woff2') format('woff2');
}

@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url('/files/k4/fonts/lato-v25-latin-900italic.woff2') format('woff2');
}

/* Playfair Display */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-500.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-600.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-800.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/files/k4/fonts/playfair-display-v40-latin-900.woff2') format('woff2');
}

/* Instrument Serif */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/files/k4/fonts/instrument-serif-v5-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/files/k4/fonts/instrument-serif-v5-latin-italic.woff2') format('woff2');
}

:root {
  /* Farben (aus __Original) */
  --k4-coral: #e95f47;
  --k4-coral-dark: #c94c37;
  --k4-dark: #1f2937;
  --k4-navy: #0b1f38;
  --k4-cream: #f5efe6;
  --k4-tan: #dccbbb;
  --k4-tan-dark: #c7b2a0;

  /* Layout / Abstände */
  --k4-maxw: 96rem;
  /* Container-Breite (mod_article) */
  --k4-section-py: clamp(4rem, 6vw, 8rem);
  --k4-section-px: clamp(1.5rem, 4vw, 2rem);

  /* Radien & Schatten */
  --k4-radius-xl: 0.75rem;
  --k4-radius-2xl: 1.5rem;
  --k4-radius-3xl: 3rem;
  --k4-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --k4-shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.12);
  --k4-shadow-xl: 0 25px 50px rgba(0, 0, 0, 0.18);

  /* Spacing-Grundabstand für Utility-Klassen */
  --k4-spacing-unit: 1rem;

  /* Schriftgrößen – einheitliche Typo-Skala (proportional zur Base) */
  --k4-text-base: 1.3rem;
  /* 16px – Standard für p, span, Fließtext */
  --k4-text-sm: calc(var(--k4-text-base) * 0.875);
  /* 87.5% der Base – kleinere Texte, Labels */
  --k4-text-xs: calc(var(--k4-text-base) * 0.75);
  /* 75% der Base – sehr kleine Texte, Badges */

  --base-border: 1px solid var(--k4-tan);
  --base-spacing-unit: 1rem;
  --base-spacing-unit--xs: calc(var(--base-spacing-unit) / 4);
  --base-spacing-unit--sm: calc(var(--base-spacing-unit) / 2);
  --base-spacing-unit--lg: calc(var(--base-spacing-unit) * 2);
  --base-spacing-unit--xl: calc(var(--base-spacing-unit) * 4);
  --accordion-padding: var(--base-spacing-unit);
  --accordion-background: var(--color-page-background);
  --accordion-border-radius: var(--k4-radius-xl);
  --accordion-border: var(--base-border);

  --toggler-font-size: var(--base-font-size);
  --toggler-background: transparent;
  --toggler-color: inherit;
  --toggler-border: var(--base-border);
  --toggler-padding: var(--base-spacing-unit--sm) var(--base-spacing-unit--sm);
  --toggler-icon-size: 1;

  --toggler-font-weight: 700;
}

/* Responsive Overrides für größere Bildschirme */
@media (min-width: 1024px) {
  :root {
    --k4-section-px: 3rem;
    /* 48px für Laptop/Desktop - mehr Padding */
  }
}

@media (min-width: 1440px) {
  :root {
    --k4-section-px: 4rem;
    /* 64px für große Bildschirme */
  }
}

/* -------- Utility-Klassen -------- */
/* Auf mobilen Geräten ausblenden, ab Tablet (768px) anzeigen */
.hide-on-mobile {
  display: none;
}

@media (min-width: 768px) {
  .hide-on-mobile {
    display: block;
  }
}

/* Vertikale Zentrierung in Grid/Flex-Layouts (z. B. in .k4-row) */
.v-center {
  align-items: center;
}

/* Alternative: vertikale Zentrierung für einzelne Grid-Items */
.v-center-self {
  align-self: center;
}

/* ---------- Basis (Fonts aus __Original: Lato + Playfair Display) ---------- */
html {
  scroll-behavior: smooth;
}

/* #main-content: padding-bottom entfernt, da es die Footer-Wave verdeckte (Wave ist absolut mit top: -100px positioniert) */

/* Respektiere Nutzer-Präferenz für reduzierte Bewegungen */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  font-family: "Lato", sans-serif;
  font-size: var(--k4-text-base);
  color: var(--k4-dark);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.k4_cluster .k4-nav__actions {
  visibility: hidden;
}

p,
ul {
  font-size: var(--k4-text-base);
  margin-bottom: 1rem !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Playfair Display", serif;
}

h2,
h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 2rem 0;
}

h3 {
  font-size: 1.1em;
}

a {
  color: var(--k4-coral);
  text-decoration: inherit;
}

/* ===============================================================
   Layout-Hilfsklassen
   =============================================================== */
.k4-container {
  max-width: var(--k4-maxw);
  margin-inline: auto;
  padding-inline: var(--k4-section-px);
}
@media (max-width: 767px) {
.blog .k4-container {
  padding-inline: 0.5em;
}
}
/* Vertikaler Rhythmus für Top-Level-Elemente */
.k4-section {
  padding-block: var(--k4-section-py);
}

/* Reihe (12er-Grid kommt aus Tailwind: grid grid-cols-12 gap-*) */
.k4-row {
  margin-block: 2.5rem;
}

/* Responsive Grid-Gap: Überschreibt gap-12 auf mobil, um Overflow zu vermeiden */
.k4-row.grid[class*="gap-"] {
  gap: 1.5rem !important;
  /* 24px auf mobil */
}

@media (min-width: 768px) {
  .k4-row.grid.gap-12 {
    gap: 3rem !important;
    /* 48px auf md+ Screens */
  }
}

/* Verhindert horizontalen Overflow bei Grid-Spalten */
.k4-row.grid>[class*="col-span"] {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Reihe mit Hintergrundfarbe (Feld k4_bg) */
.k4-row[class*="k4-bg--"] {
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: var(--k4-radius-2xl);
}

.k4-row.k4-bg--coral {
  background: var(--k4-coral);
  color: var(--k4-cream);
}

.k4-row.k4-bg--navy {
  background: var(--k4-navy);
  color: var(--k4-cream);
}

.k4-row.k4-bg--dark {
  background: var(--k4-dark);
  color: var(--k4-cream);
}

.k4-row.k4-bg--cream {
  background: var(--k4-cream);
}

.k4-row.k4-bg--tan {
  background: var(--k4-tan);
}

.k4-row.k4-bg--white {
  background: #ffffff;
}

/* ===============================================================
   Buttons (Hero-Stil aus __Original)
   =============================================================== */
.k4-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  border-radius: var(--k4-radius-xl);
  font-weight: 700;
  font-size: var(--k4-text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
  max-width: 100%;
  text-align: center;
  word-wrap: break-word;
  white-space: normal;
}

/* Mobile: Reduziertes letter-spacing für besseren Umbruch */
@media (max-width: 767px) {
  .k4-btn {
    letter-spacing: 0.02em !important;
    white-space: normal !important;
    word-break: break-word !important;
    hyphens: auto !important;
    line-height: 1.4 !important;
    padding: 0.75rem 1rem !important;
  }
}

@media (min-width: 768px) {
  .k4-btn {
    font-size: var(--k4-text-sm);
  }
}

.k4-btn--primary {
  background-color: var(--k4-coral);
  color: var(--k4-cream);
  box-shadow: var(--k4-shadow-md);
}

.k4-btn--primary:hover {
  background-color: var(--k4-coral-dark);
  transform: scale(1.05);
}

.k4-btn--outline {
  border: 2px solid var(--k4-dark);
  color: var(--k4-dark);
}

.k4-btn--outline:hover {
  background-color: var(--k4-coral);
  border-color: var(--k4-coral);
  color: var(--k4-cream);
}

/* Button-Wrapper für Ausrichtung (k4_button Content-Element) */
.k4-button-wrapper {
  display: flex;
  width: 100%;
}

.k4-button-wrapper--left {
  justify-content: flex-start;
}

.k4-button-wrapper--center {
  justify-content: center;
}

.k4-button-wrapper--right {
  justify-content: flex-end;
}

/* Im Button-Element-Kontext soll der Startseite-Container nicht die volle Breite einnehmen */
.k4-button-wrapper .k4-hero__buttons-startseite {
  width: auto;
}

/* ===============================================================
   Badge
   =============================================================== */
.k4-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: var(--k4-radius-xl);
  font-size: var(--k4-text-xs);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background-color: rgba(233, 95, 71, 0.15);
  color: var(--k4-coral);
}

/* Badge zweizeilig (Text mit „|" getrennt) */
.k4-badge--multiline {
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1.25;
  text-align: center;
}

/* ===============================================================
   Überschrift (k4_headline)
   =============================================================== */
.k4-headline {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.05em;
  line-height: 1.05;
  margin-left: 0;
  color: var(--k4-navy);
  /* font-size: clamp(3rem, 5vw, 4.5rem) !important; */
}

/* Farbauswahl der Überschrift (überschreibt Default/Größen-Farbe) */
.k4-headline.k4-color--coral {
  color: var(--k4-coral);
}

.k4-headline.k4-color--navy {
  color: var(--k4-navy);
}

.k4-headline.k4-color--dark {
  color: var(--k4-dark);
}

.k4-headline.k4-color--cream {
  color: var(--k4-cream);
}

.k4-headline.k4-color--tan {
  color: var(--k4-tan);
}

.k4-headline.k4-color--white {
  color: #ffffff;
}

/* Zentrieren (unabhängig von der Größe – schlägt die linksbündigen Varianten) */
.k4-headline.k4-headline--center {
  text-align: center;
  margin-left: 0;
}

.k4-headline.k4-headline--center .k4-headline__line2 {
  left: 0;
}

/* Zweite Zeile – transparent-weiß (gut auf dunklen/farbigen Hintergründen) */
.k4-headline__line2 {
  display: block;
  opacity: .75;
  left: 8rem;
  position: relative;
}

/* Highlightwort in Überschrift – Coral-Akzent */
.k4-headline__highlight {
  color: var(--k4-coral);
}

/* Versalien deaktivieren (Checkbox „Keine Versalien") */
.k4-headline--no-uppercase {
  text-transform: none;
}

/* Groß – linksbündig (Farbe über Default/Farbauswahl) */
.k4-headline--gross {
  text-align: left;
  line-height: 1;
  font-size: clamp(2.57rem, 6vw, 7rem) !important;
}

/* Größer – sehr groß, leicht transparent, eingerückt */
.k4-headline--groesser {
  text-align: left;
  line-height: 1;
  opacity: 0.9;
  /* margin-left: 4vw; */
  font-size: clamp(3rem, 12vw, 13rem) !important;
}

/* Riesig – Display-Format, nicht markierbar */
.k4-headline--riesig {
  text-align: left;
  line-height: 1;
  user-select: none;
  font-size: 14vw !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.12));

  /* Am linken Viewport-Rand positionieren (Fullwidth Breakout) */
  width: 100vw;
  margin-left: calc(50% - 45vw);
}

@media (min-width: 1280px) {
  .k4-headline--riesig {
    font-size: 14vw !important;
  }
}

/* ===============================================================
   Scroll-Animationen (Intersection Observer in main.js)
   =============================================================== */
.k4-animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.k4-animate-on-scroll[data-direction="left"] {
  transform: translateX(-40px);
}

.k4-animate-on-scroll[data-direction="right"] {
  transform: translateX(40px);
}

.k4-animate-on-scroll.k4-animate-in {
  opacity: 1;
  transform: translate(0, 0);
}

/* ===============================================================
   Section Header (zentrierte Überschrift mit Tagline)
   =============================================================== */
.k4-section-header {
  text-align: center;
  max-width: 42rem;
  /* ~672px = max-w-2xl */
  margin: 0 auto 2.5rem;
  /* mb-10 */
}

@media (min-width: 768px) {
  .k4-section-header {
    margin-bottom: 3.5rem;
    /* md:mb-14 */
  }
}

.k4-section-header h2 {
  font-size: 1.5rem;
  /* text-2xl */
  font-weight: 900;
  /* font-black */
  text-transform: uppercase;
  letter-spacing: -0.025em;
  /* tracking-tight */
  color: #1F2937;
  margin-bottom: 0.75rem;
  font-family: "Playfair Display", serif;
}

@media (min-width: 768px) {
  .k4-section-header h2 {
    font-size: 1.875rem;
    /* md:text-3xl */
  }
}

.k4-section-header__tagline {
  font-size: 1.125rem;
  /* text-lg */
  font-weight: 700;
  /* font-bold */
  color: #E95F47;
}

/* ===============================================================
   Hero
   =============================================================== */
.k4-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: clamp(0rem, 8vw, 7rem);
  color: var(--k4-dark);
}

.k4-hero--dark {
  background-color: var(--k4-navy);
  color: var(--k4-cream);
}

.k4-hero--60vh {
  min-height: 60vh;
}

.k4-hero--70vh {
  min-height: 70vh;
}

.k4-hero--80vh {
  min-height: 80vh;
}

.k4-hero--90vh {
  min-height: 90vh;
}

.k4-hero--100vh {
  min-height: 100vh;
}


.k4-hero__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0.6;
}

.k4-hero--dark .k4-hero__bg {
  opacity: 0.3;
}

.k4-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.k4-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, var(--k4-cream), rgba(245, 239, 230, 0.7), transparent);
}

.k4-hero--dark .k4-hero__overlay {
  background: rgba(11, 31, 56, 0.6);
}

/* SVG-Grafik statt Bild: mobil oben, ab md links */
.k4-hero__svg {
  position: relative;
  z-index: 0;
  margin-bottom: 2.5rem;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.k4-hero__svg>svg {
  width: 100%;
  height: auto;
  max-height: 55vh;
}

.k4-hero__svg>img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .k4-hero__svg {
    position: absolute;
    inset-block: 0;
    left: 0;
    width: 50%;
    margin-bottom: 0;
    padding-inline: var(--k4-section-px);
  }
}

/* Begrenzender Wrapper – die Inhaltsbreite wird HIER gesetzt (nicht im Artikel-Template),
   damit der Hero-Hintergrund randlos bleibt. Analog zu metpro .mp-hero__content. */
.k4-hero__content {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 100rem;
  margin-inline: auto;
  padding-inline: var(--k4-section-px);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.k4-hero__content img {
  border-radius: var(--k4-radius-2xl);
}

/* Mobil: Headline vor dem Bild (per order) */
@media (max-width: 767px) {
  .k4-hero__headline {
    order: -2;
    margin-bottom: 2rem;
  }

  .k4-hero__svg {
    order: -1;
  }
}

/* Rechtsbündiger Textblock (Look aus __Original) */
.k4-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(2.5rem, 4vw, 3.5rem);
  width: 100%;
  /* Mobil: volle Breite */
  max-width: 50rem;
  margin-left: auto;
  text-align: right;
}

@media (min-width: 768px) {
  .k4-hero__inner {
    width: 49%;
    /* Desktop: 49% Breite */
  }
}

.k4-hero__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1rem;
}

.k4-hero__eyebrow {
  font-size: var(--k4-text-sm);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.8;
}

.k4-hero__eyebrow p {
  margin: 0;
}

.k4-hero__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: flex-end;
}

@media (min-width: 640px) {
  .k4-hero__buttons {
    flex-direction: row;
    gap: 1rem;
    align-items: center;
  }
}

.k4-hero__headline {
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.9;
  letter-spacing: -0.02em;
  font-size: clamp(2rem, 5vw, 6rem);
  hyphens: auto;
}

/* Desktop: rechtsbündig, analog zu inner */
@media (min-width: 768px) {
  .k4-hero__headline {
    width: 49%;
    margin-left: auto;
    text-align: right;
  }
}

.k4-hero__subheadline {
  max-width: 28rem;
  font-size: var(--k4-text-base);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.6;
  opacity: 0.8;
}

/* --- Hero Startseite-Layout (HeroV2 aus __Original/Startseite) --- */
.k4-hero--startseite {
  position: relative;
  width: 100%;
  min-height: 80vh;
  background: rgba(245, 239, 230, 0.4);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 6rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px) {
  .k4-hero--startseite {
    min-height: 900px;
    padding-bottom: 8rem;
  }
}

/* LAYER 1: Background Typography (KONTOR4) */
.k4-hero__bg-text {
  position: absolute;
  top: 50%;
  width: 100%;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  transform: translateY(-50%);
  overflow: visible;
}

@media (min-width: 768px) {
  .k4-hero__bg-text {
    top: 26%;
  }
}

.k4-hero__bg-text-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.025em;
  white-space: nowrap;
  font-size: clamp(14vw, 15vw, 21vw);
  transform: scaleX(0.9);
  transform-origin: left;
}

@media (min-width: 768px) {
  .k4-hero__bg-text-inner {
    justify-content: flex-start;
  }
}

@media (min-width: 1536px) {
  .k4-hero__bg-text-inner {
    font-size: 320px;
  }
}

.k4-hero__bg-text-kontor {
  color: rgba(31, 41, 55, 0.03);
  margin-right: 2vw;
}

.k4-hero__bg-text-number {
  color: rgba(235, 108, 86, 0.05);
  font-family: "Playfair Display", serif;
  font-weight: 700;
}

/* LAYER 2: Central Cutout Image (Desktop) */
.k4-hero__cutout-desktop {
  display: none;
  position: absolute;
  top: 54%;
  left: 65%;
  transform: translate(-50%, -50%);
  z-index: 20;
  pointer-events: none;
  width: 550px;
  max-width: 45vw;
  height: auto;
}

@media (min-width: 768px) {
  .k4-hero__cutout-desktop {
    display: block;
  }
}

@media (min-width: 1024px) {
  .k4-hero__cutout-desktop {
    left: 68%;
  }
}

.k4-hero__cutout-desktop svg,
.k4-hero__cutout-desktop img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* LAYER 2: Mobile Cutout Image */
.k4-hero__cutout-mobile {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  margin-top: -2rem;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 20;
  pointer-events: none;
}

@media (min-width: 768px) {
  .k4-hero__cutout-mobile {
    display: none;
  }
}

.k4-hero__cutout-mobile svg,
.k4-hero__cutout-mobile img {
  width: 220px;
  height: auto;
  object-fit: contain;
}

@media (min-width: 640px) {

  .k4-hero__cutout-mobile svg,
  .k4-hero__cutout-mobile img {
    width: 280px;
  }
}

/* LAYER 3: Content Blocks */
.k4-hero__content-startseite {
  position: relative;
  z-index: 30;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 3rem;
}

@media (min-width: 640px) {
  .k4-hero__content-startseite {
    padding: 0 1.5rem;
    /* Tablet: 1.5rem */
    margin-top: 3rem;
  }
}

@media (min-width: 768px) {
  .k4-hero__content-startseite {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 320px;
    padding: 0 2rem;
  }
}

/* Left Column */
.k4-hero__content-left {
  max-width: 650px;
  padding-bottom: 1rem;
  position: relative;
  z-index: 30;
}

.k4-hero__headline-startseite,
h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-family: "Playfair Display", serif;
  font-weight: 900;
  line-height: 1.05;
  margin: 0 0 1.5rem 0;
  color: var(--k4-dark);
  letter-spacing: -0.025em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

@media (min-width: 768px) {

  .k4-hero__headline-startseite,
  h1 {
    font-size: clamp(3.2rem, 4vw, 4rem);
    margin-bottom: 2rem;
  }
}

@media (min-width: 1024px) {

  .k4-hero__headline-startseite,
  h1 {
    font-size: 4rem;
  }
}

/* Koralle-Klasse für <span> im Headline */
.k4-hero__headline-startseite .k4-coral-text {
  color: var(--k4-coral);
}

.k4-hero__subheadline-startseite {
  color: #6b7280;
  font-size: var(--k4-text-base);
  margin: 0 0 1rem 0;
  line-height: 1.6;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  max-width: 550px;
}

.k4-hero__text-startseite {
  color: #6b7280;
  font-size: var(--k4-text-base);
  margin-bottom: 1rem;
  line-height: 1.6;
  font-family: "Lato", sans-serif;
  max-width: 550px;
}

/* Right Column */
.k4-hero__content-right {
  width: 100%;
  max-width: 100%;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: 2rem;
  position: relative;
  z-index: 30;
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .k4-hero__content-right {
    max-width: 300px;
    text-align: right;
    align-items: flex-end;
    margin-top: 0;
  }
}

.k4-hero__location {
  color: var(--k4-dark);
  font-size: var(--k4-text-base);
  font-weight: 700;
  line-height: 1.6;
  font-family: "Lato", sans-serif;
  text-align: left;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .k4-hero__location {
    text-align: right;
    margin-bottom: 2rem;
  }
}

.k4-hero__location-main {
  color: var(--k4-coral);
  font-size: 1.875rem;
  font-weight: 900;
  display: block;
  margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  .k4-hero__location-main {
    font-size: 2.25rem;
  }
}

.k4-hero__location-sub {
  display: block;
}

.k4-hero__buttons-startseite {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  width: 100%;
}

/* Startseite Buttons – spezielles Styling mit Pfeil */
.k4-hero__buttons-startseite .k4-btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-radius: 2rem;
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  font-weight: 700;
  font-size: var(--k4-text-sm);
  text-transform: none;
  letter-spacing: 0;
  width: 100%;
  /* Responsive: volle Breite statt max-content */
  max-width: max-content;
  /* Desktop: nur so breit wie nötig */
}

/* Mobile: Button nimmt volle Breite und bricht um */
@media (max-width: 767px) {
  .k4-hero__buttons-startseite .k4-btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    justify-content: center;
    padding: 1rem 1.5rem;
  }
}

.k4-hero__buttons-startseite .k4-btn:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
  transform: scale(1);
}

/* Pfeil-Icon Container */
.k4-hero__buttons-startseite .k4-btn::after {
  content: "→";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 700;
  transition: transform 0.3s ease;
}

.k4-hero__buttons-startseite .k4-btn:hover::after {
  transform: rotate(-45deg);
}

/* Primary Button – Navy mit weißem Pfeil */
.k4-hero__buttons-startseite .k4-btn--primary {
  background-color: var(--k4-navy);
  border: 2px solid var(--k4-navy);
  color: var(--k4-cream);
}

.k4-hero__buttons-startseite .k4-btn--primary:hover {
  background-color: #152c48;
  border-color: #152c48;
}

.k4-hero__buttons-startseite .k4-btn--primary::after {
  background-color: white;
  color: var(--k4-navy);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Shine-Effekt für Primary Button */
.k4-hero__buttons-startseite .k4-btn--primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 50%;
  background: linear-gradient(to right, transparent, rgba(235, 108, 86, 0.6), transparent);
  animation: shine 3s infinite;
  pointer-events: none;
}

@keyframes shine {
  0% {
    left: -50%;
  }

  100% {
    left: 150%;
  }
}

/* Outline Button – Weiß mit grauem Pfeil */
.k4-hero__buttons-startseite .k4-btn--outline {
  background-color: white;
  border: 2px solid #e5e7eb;
  color: var(--k4-dark);
  text-align: left;
}

.k4-hero__buttons-startseite .k4-btn--outline:hover {
  background-color: #f9fafb;
  border-color: #e5e7eb;
  color: var(--k4-dark);
}

.k4-hero__buttons-startseite .k4-btn--outline::after {
  background-color: #f3f4f6;
  color: var(--k4-dark);
}

.k4-hero__buttons-startseite .k4-btn--outline:hover::after {
  background-color: #e5e7eb;
}

/* ===============================================================
   Bild-Text – Box-Layout (nach __Original)
   Weiße Box mit runden Ecken + Schatten, Bild links (diagonal),
   Inhalt rechts. Bild selbst ohne Schatten.
   =============================================================== */
.k4-bild-text__box {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 1300px;
  margin-inline: auto;
  overflow: hidden;
  background: #fff;
  border-radius: 4rem;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
}

@media (min-width: 1024px) {
  .k4-bild-text__box {
    flex-direction: row;
  }

  .k4-bild-text__box--image-right {
    flex-direction: row-reverse;
  }
}

/* Bild */
.k4-bild-text__media {
  position: relative;
  width: 100%;
  min-height: 350px;
  flex-shrink: 0;
  background: #fff;
}

@media (min-width: 640px) {
  .k4-bild-text__media {
    min-height: 450px;
  }
}

@media (min-width: 1024px) {
  .k4-bild-text__media {
    width: 50%;
    min-height: 500px;
  }
}

.k4-bild-text__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}

/* Schräge (Checkbox „Bild schräg") – diagonaler Zuschnitt, nur ab Desktop */
@media (min-width: 1024px) {
  .k4-bild-text__box--tilt .k4-bild-text__media img {
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
  }

  .k4-bild-text__box--tilt.k4-bild-text__box--image-right .k4-bild-text__media img {
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
  }
}

/* Inhalt */
.k4-bild-text__body {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3rem;
  background: #fff;
}

@media (min-width: 640px) {
  .k4-bild-text__body {
    padding: 4rem;
  }
}

@media (min-width: 1024px) {
  .k4-bild-text__body {
    width: 50%;
    padding: 5rem;
  }
}

@media (min-width: 1280px) {
  .k4-bild-text__body {
    padding: 6rem;
  }
}

/* Badge mit Icon */
.k4-bild-text__badge {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.k4-bild-text__badge-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(233, 95, 71, 0.1);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.08);
  color: var(--k4-coral);
}

.k4-bild-text__badge-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

/* Nur-Icon-Badge (kein Text): ohne Kreis, größer, dunkel */
.k4-bild-text__badge--icon-only {
  margin-bottom: 1.5rem;
}

.k4-bild-text__badge--icon-only .k4-bild-text__badge-icon {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--k4-dark);
}

.k4-bild-text__badge--icon-only .k4-bild-text__badge-icon svg {
  width: 2.5rem;
  height: 2.5rem;
}

.k4-bild-text__badge-label {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.k4-bild-text__badge-label span:first-child {
  font-size: var(--k4-text-base);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--k4-dark);
}

.k4-bild-text__badge-label span:nth-child(2) {
  font-size: var(--k4-text-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--k4-coral);
}

/* Headline – kräftige Sans (Lato), kein Playfair */
.k4-bild-text__headline {
  margin: 0 0 1.5rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--k4-dark);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
}

/* Lead-Text */
.k4-bild-text__text {
  font-size: var(--k4-text-base);
  font-weight: 700;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.75);
  max-width: 32rem;
}

/* H3 – Kleine Überschriften (Ausgangslage, Ergebnis etc.) */
.k4-bild-text__text h3 {
  font-size: var(--k4-text-xs);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(31, 41, 55, 0.6);
  margin: 0 0 0.375rem;
  font-family: "Lato", sans-serif;
}

/* P – Fettgedruckter Text unter H3 */
.k4-bild-text__text p {
  font-size: var(--k4-text-base);
  font-weight: 700;
  color: var(--k4-dark);
  line-height: 1.3;
  margin: 0 0 1.25rem;
}

.k4-bild-text__text p:last-child {
  margin-bottom: 0;
}

.k4-bild-text__body .k4-btn {
  margin-top: 2rem;
  align-self: flex-start;
}

/* Dekoratives Highlight-Wort (Feld „Highlightwort") – Playfair, schräg */
.k4-bild-text__highlight {
  align-self: flex-end;
  margin-top: 2.5rem;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 700;
  color: var(--k4-coral);
  letter-spacing: -0.03em;
  line-height: 0.8;
  transform: rotate(-3deg);
  text-shadow: 2px 2px 0 rgba(255, 255, 255, 0.8), 4px 4px 10px rgba(233, 95, 71, 0.15);
  font-size: clamp(3.5rem, 8vw, 7.5rem);
}

.k4-coral-word {
  color: var(--k4-coral);
}

/* Box-Hintergrundfarbe (Feld „Hintergrundfarbe", K4-Farben) */
.k4-bild-text__box.k4-bg--coral {
  background: var(--k4-coral);
}

.k4-bild-text__box.k4-bg--navy {
  background: var(--k4-navy);
}

.k4-bild-text__box.k4-bg--dark {
  background: var(--k4-dark);
}

.k4-bild-text__box.k4-bg--cream {
  background: var(--k4-cream);
}

.k4-bild-text__box.k4-bg--tan {
  background: var(--k4-tan);
}

.k4-bild-text__box.k4-bg--white {
  background: #ffffff;
}

/* Body/Media transparent, damit die Box-Farbe durchscheint */
.k4-bild-text__box[class*="k4-bg--"] .k4-bild-text__body,
.k4-bild-text__box[class*="k4-bg--"] .k4-bild-text__media {
  background: transparent;
}

/* Dunkle Hintergründe -> helle Schrift */
.k4-bg--coral .k4-bild-text__headline,
.k4-bg--navy .k4-bild-text__headline,
.k4-bg--dark .k4-bild-text__headline {
  color: var(--k4-cream);
}

.k4-bg--coral .k4-bild-text__text p,
.k4-bg--navy .k4-bild-text__text p,
.k4-bg--dark .k4-bild-text__text p {
  color: rgba(245, 239, 230, 0.85) !important;
}

.k4-bg--coral .k4-bild-text__badge-label span,
.k4-bg--navy .k4-bild-text__badge-label span,
.k4-bg--dark .k4-bild-text__badge-label span,
.k4-bg--coral .k4-bild-text__badge--icon-only .k4-bild-text__badge-icon,
.k4-bg--navy .k4-bild-text__badge--icon-only .k4-bild-text__badge-icon,
.k4-bg--dark .k4-bild-text__badge--icon-only .k4-bild-text__badge-icon {
  color: var(--k4-cream);
}

/* ===============================================================
   Logo-Karussell
   =============================================================== */
.k4-logos {
  padding-block: var(--base-spacing-unit);
}

.k4-logos__header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.k4-logos__headline {
  font-size: var(--k4-text-sm);
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.6);
}

@keyframes k4-scroll-left {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.k4-logo-carousel {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}

.k4-logo-carousel__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: k4-scroll-left 400s linear infinite;
}

.k4-logo-carousel:hover .k4-logo-carousel__track {
  animation-play-state: paused;
}

/* Abstand über margin (nicht gap), damit beide Hälften exakt symmetrisch sind
   und translateX(-50%) perfekt nahtlos wieder bei Kopie 1 landet. */
.k4-logo-carousel__item {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-right: 4rem;
}

.k4-logo-carousel__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.k4-logo-carousel__link:hover {
  opacity: 0.7;
}

.k4-logo-carousel__image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
}

.k4-logo-carousel__image img {
  /* max-height: 48px; */
  width: auto;
  object-fit: contain;
}

.k4-logo-carousel__title {
  font-size: 1.3rem;
  color: var(--k4-gray);
  text-align: center;
  line-height: 1.4;
}

/* Fallback für Items ohne Link (direktes img-Kind) */
.k4-logo-carousel__item>img {
  margin-bottom: 0.75rem;
  width: auto;
  object-fit: contain;
}

/**
 * CSS-Formatierungen für .leistungen_anker
 * Extrahiert aus base/_shared.scss und mixins/_general.scss
 */

/* Basis-Formatierung für Listen innerhalb von .leistungen_anker */
.leistungen_anker ul {
  display: block !important;
  list-style: none;
  padding-left: 0rem;
  gap: 1rem;
  margin-bottom: 1rem !important;
}

.leistungen_anker ul li a {
  font-size: 0.9rem;
  width: 100%;
  margin-bottom: .8rem;
}

/* Formatierung für Buttons innerhalb von .leistungen_anker */
.leistungen_anker p a.btn--secondary {
  display: block;
  margin-bottom: 5px;
}

/* Media Query für große Bildschirme (ab 1024px) */
@media (min-width: 1024px) {
  .leistungen_anker ul {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .leistungen_anker p a.btn--secondary {
    display: inline-block;
  }
}

/* ===============================================================
   Prozessschritte – Design nach Original (Kein Tailwind)
   =============================================================== */

/* Section */
.k4-process-section {
  overflow: hidden;
}

/* Wrapper */
.k4-process-wrapper {
  padding: 3rem 1.5rem;
  /* Mobil: kompakter */
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

@media (min-width: 768px) {
  .k4-process-wrapper {
    padding: 6rem 2rem;
    /* Desktop: großzügiger */
  }
}

/* Header */
.k4-process-header {
  margin-bottom: 4rem;
}

.k4-process-title {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  color: #1F2937;
  line-height: 1.05;
  letter-spacing: -0.05em;
  font-size: 2.5rem;
}

@media (min-width: 768px) {
  .k4-process-title {
    font-size: 4rem;
  }
}

@media (min-width: 1024px) {
  .k4-process-title {
    font-size: 5rem;
  }
}

/* Grid */
.k4-process-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .k4-process-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}

/* Steps Container */
.k4-process-steps {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  /* Mobil: kompakter Gap */
  order: 2;
  padding-bottom: 1rem;
  width: 100%;
}

@media (min-width: 768px) {
  .k4-process-steps {
    gap: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .k4-process-steps {
    gap: 2rem;
    order: 1;
  }
}

/* Step */
.k4-process-step {
  position: relative;
  cursor: default;
  /* Mobil: nicht interaktiv */
  width: 100%;
}

/* Step Card */
.k4-process-step-card {
  display: block;
  /* Mobil: block statt flex */
  padding: 1rem;
  /* Mobil: kompakter */
  width: 100%;
  max-width: 42rem;
  transition: all 0.3s ease;
  border-radius: 1.5rem;
  background-color: white;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.08);
}

@media (min-width: 768px) {
  .k4-process-step-card {
    display: flex;
    /* Desktop: flex */
    flex-direction: row;
    padding: 1.5rem;
    background-color: transparent;
    box-shadow: none;
  }

  .k4-process-step-card:hover {
    background-color: rgba(255, 255, 255, 0.5);
  }

  /* Active Step auf Desktop */
  .k4-process-step.active .k4-process-step-card {
    background-color: white;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.05);
  }

  .k4-process-step.active .k4-process-step-card:hover {
    background-color: white;
  }
}

/* Step Number */
.k4-process-step-number {
  display: block;
  /* Mobil: block */
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 2.5rem;
  /* Mobil: etwas kleiner */
  line-height: 1;
  letter-spacing: -0.05em;
  transition: all 0.3s ease;
  margin-bottom: 0.5rem;
  /* Mobil: Abstand nach unten */
  text-align: right;
  /* Mobil: rechts ausgerichtet */
  color: rgba(31, 41, 55, 0.15);
  /* Mobil: dezent */
}

@media (min-width: 768px) {
  .k4-process-step-number {
    display: flex;
    /* Desktop: flex für Zentrierung */
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    /* Desktop: kein margin-bottom */
    margin-right: 1.5rem;
    /* Desktop: margin rechts statt unten */
    font-size: 3.5rem;
    /* Desktop: größer */
    align-self: auto;
    /* Desktop: nicht rechts ausgerichtet */
    color: rgba(31, 41, 55, 0.1);
    /* Desktop: grau, nur active dunkel */
  }

  /* Active Step auf Desktop */
  .k4-process-step.active .k4-process-step-number {
    color: #1F2937;
  }
}

@media (min-width: 1024px) {
  .k4-process-step-number {
    font-size: 4.5rem;
  }
}

/* Step Content */
.k4-process-step-content {
  display: block;
  /* Mobil: block */
  width: 100%;
  /* Mobil: volle Breite */
}

@media (min-width: 768px) {
  .k4-process-step-content {
    flex: 1;
    /* Desktop: flex-item */
    width: auto;
    margin-top: 1rem;
    /* Desktop: margin für column layout */
  }
}

@media (min-width: 1024px) {
  .k4-process-step-content {
    margin-top: 0;
    /* Desktop row layout: kein margin */
  }
}

/* Step Headline */
.k4-process-step-headline {
  font-size: 1.125rem;
  /* Mobil: etwas kleiner */
  font-weight: 900;
  margin-bottom: 0.375rem;
  /* Mobil: kompakter */
  transition: color 0.3s ease;
  color: #1F2937;
  /* Mobil: immer volle Farbe */
  width: 100%;
  /* Mobil: volle Breite */
}

@media (min-width: 768px) {
  .k4-process-step-headline {
    font-size: 1.25rem;
    /* Desktop: etwas größer */
    margin-bottom: 0.5rem;
    /* Desktop: mehr Abstand */
    width: auto;
    /* Desktop: auto Breite */
    color: #98A0AB;
    /* Desktop: grau, nur active dunkel */
  }

  /* Active Step auf Desktop */
  .k4-process-step.active .k4-process-step-headline {
    color: #1F2937;
  }
}

@media (min-width: 1024px) {
  .k4-process-step-headline {
    font-size: 1.5rem;
    /* Desktop groß: noch größer */
  }
}

/* Step Text */
.k4-process-step-text {
  transition: color 0.3s ease;
  font-size: 0.9375rem;
  /* Mobil: etwas kleiner */
  line-height: 1.5;
  /* Mobil: kompakter */
  font-weight: 500;
  color: #4B5563;
  /* Mobil: immer volle Farbe */
  width: 100%;
  /* Mobil: volle Breite */
}

@media (min-width: 768px) {
  .k4-process-step-text {
    font-size: 1rem;
    /* Desktop: normale Größe */
    line-height: 1.625;
    /* Desktop: mehr Zeilenhöhe */
    width: auto;
    /* Desktop: auto Breite */
    color: #98A0AB;
    /* Desktop: grau, nur active dunkel */
  }

  /* Active Step auf Desktop */
  .k4-process-step.active .k4-process-step-text {
    color: #4B5563;
  }
}

.k4-process-step-text p {
  margin: 0;
  font-size: inherit;
}

/* Progress Bar (dynamisch per JS eingefügt) */
.step-progress-container {
  display: none;
  /* Mobil: ausgeblendet */
}

@media (min-width: 768px) {
  .step-progress-container {
    display: block;
    /* Desktop: sichtbar */
    margin-top: 1.5rem;
    background-color: #E5E7EB;
    border-radius: 9999px;
    height: 0.375rem;
    overflow: hidden;
  }
}

.step-progress-bar {
  height: 100%;
  background: linear-gradient(to right, #E95F47, #EB6C56);
  transition: width 0.05s linear;
}

/* Image Wrapper */
.k4-process-image-wrapper {
  display: none;
  /* Mobil: ausgeblendet */
}

@media (min-width: 768px) {
  .k4-process-image-wrapper {
    display: block;
    /* Desktop: sichtbar */
    position: relative;
    order: 1;
    max-width: 32rem;
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 1;
  }
}

@media (min-width: 768px) {
  .k4-process-image-wrapper {
    aspect-ratio: auto;
    height: 600px;
  }
}

@media (min-width: 1024px) {
  .k4-process-image-wrapper {
    order: 2;
  }
}

/* Image Container */
.k4-process-image-container {
  position: relative;
  width: 100%;
  height: 100%;
}

/* Image */
.k4-process-image {
  position: absolute;
  inset: 0;
  transition: opacity 0.5s ease-out, filter 0.5s ease-out;
  opacity: 0;
  filter: blur(10px);
}

.k4-process-image.active {
  opacity: 1;
  filter: blur(0px);
}

.k4-process-image-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1rem 2rem;
  filter: drop-shadow(0 25px 50px rgba(0, 0, 0, 0.15));
}

/* ===============================================================
/* ===============================================================
   Team-Slider (Fullscreen) – Design nach Original
   =============================================================== */
/**
 * K4 Team-Slider – Fullscreen Slider
 * Design nach Original-Vorlage aus __Original/Startseite
 */

/* ========== BASE SECTION ========== */
.k4-team-slider {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  overflow: hidden;
}

@media (max-width: 640px) {
  .k4-team-slider {
    min-height: 600px;
  }
}

/* ========== NOISE OVERLAY ========== */
.k4-team-slider__noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  opacity: 0.4;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  background-repeat: repeat;
}

/* ========== BADGE "UNSER TEAM" ========== */
.k4-team-slider__badge {
  position: absolute;
  top: 3rem;
  left: 0;
  right: 0;
  z-index: 60;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.k4-team-slider__badge span {
  color: #e95f47;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  animation: fadeIn 0.7s ease-out;
}

/* ========== NAMEN-LAYER (große Schrift, zentriert) ========== */
.k4-team-slider__names-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0%;
}

.k4-team-slider__name-item {
  position: absolute;
  inset: 0 0 auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 12%;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 650ms cubic-bezier(0.4, 0, 0.2, 1),
    transform 650ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Mobil: Name-Item als Column mit Position & Quote darunter */
@media (max-width: 639px) {
  .k4-team-slider__name-item {
    flex-direction: column;
    gap: 1rem;
    top: 5%;
  }
}

.k4-team-slider__name-item.active {
  opacity: 1;
  transform: scale(1);
}

.k4-team-slider__name-text {
  font-family: "Playfair Display", serif;
  font-size: clamp(40px, 12vw, 150px);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--name-color, #e95f47);
}

/* Mobil: Kleinere Namen-Schrift für bessere Proportionen */
@media (max-width: 639px) {
  .k4-team-slider__name-text {
    font-size: clamp(36px, 10vw, 80px);
  }
}

/* ========== MOBILE INFO (Position & Quote im Namen-Layer) ========== */
.k4-team-slider__name-mobile-info {
  display: none;
  text-align: center;
  padding: 0 1.5rem;
  max-width: 90vw;
}

@media (max-width: 639px) {
  .k4-team-slider__name-mobile-info {
    display: block;
  }
}

/* ========== BACKDROP BLUR ========== */
.k4-team-slider__backdrop {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(2px);
}

/* ========== BILDER-LAYER (3 gleichzeitig) ========== */
.k4-team-slider__images-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* Mobil: Bilder-Layer mit reduzierter Opacity */
@media (max-width: 639px) {
  .k4-team-slider__images-layer {
    opacity: 0.3;
  }
}

.k4-team-slider__image-item {
  position: absolute;
  aspect-ratio: 0.6 / 1;
  transform-origin: center bottom;
  transition: transform 650ms cubic-bezier(0.4, 0, 0.2, 1),
    filter 650ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 650ms cubic-bezier(0.4, 0, 0.2, 1),
    left 650ms cubic-bezier(0.4, 0, 0.2, 1),
    bottom 650ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, filter, opacity;
  pointer-events: none;
  width: auto;
  height: 35%;
  bottom: 8%;
  left: 30%;
  transform: translateX(-50%) scale(1.1);
  filter: blur(2px);
  opacity: 0.85;
  z-index: 10;
}

/* Aktives (mittleres) Bild */
.k4-team-slider__image-item.active {
  transform: translateX(-50%) scale(1.3);
  filter: blur(0px);
  opacity: 1;
  z-index: 70;
  left: 50%;
  height: 92%;
  bottom: 0;
}

/* Rechtes (nächstes) Bild */
.k4-team-slider__image-item.next {
  left: 70%;
  transform: translateX(-50%) scale(1.1);
  filter: blur(2px);
  opacity: 0.85;
  z-index: 10;
  height: 35%;
  bottom: 8%;
}

/* Linkes (vorheriges) Bild */
.k4-team-slider__image-item.prev {
  left: 30%;
  transform: translateX(-50%) scale(1.1);
  filter: blur(2px);
  opacity: 0.85;
  z-index: 10;
  height: 35%;
  bottom: 8%;
}

.k4-team-slider__image-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

/* ========== BOTTOM LAYER (Info + Navigation) ========== */
.k4-team-slider__bottom-layer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5rem;
  z-index: 60;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

@media (min-width: 640px) {
  .k4-team-slider__bottom-layer {
    bottom: 9rem;
  }
}

.k4-team-slider__content-wrapper {
  width: 100%;
  max-width: 1400px;
  padding: 0 2rem;
}

/* Mobil: Kein Padding */
@media (max-width: 639px) {
  .k4-team-slider__content-wrapper {
    padding: 0;
  }

  .k4-team-slider__image-item.active {
    top: 0;
  }
}

/* ========== DESKTOP LAYOUT ========== */
.k4-team-slider__desktop-layout {
  display: none;
  width: 100%;
  justify-content: space-between;
  align-items: flex-end;
}

@media (min-width: 640px) {
  .k4-team-slider__desktop-layout {
    display: flex;
  }
}

/* Linker Bereich: Position + Zitat + Navigation */
.k4-team-slider__left-content {
  pointer-events: auto;
  max-width: 340px;
  position: relative;
}

.k4-team-slider__info-card {
  display: none;
}

.k4-team-slider__info-card.active {
  display: block;
  animation: fadeInUp 0.5s ease-out;
}

.k4-team-slider__info-text {
  margin-bottom: 2.5rem;
  max-width: 400px;
}

.k4-team-slider__position {
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: #1f2937;
  margin-bottom: 1rem;
}

@media (min-width: 1024px) {
  .k4-team-slider__position {
    font-size: 60px;
  }
}

.k4-team-slider__quote {
  color: #1f2937;
  opacity: 0.8;
  line-height: 1.625;
  font-style: italic;
  font-weight: 500;
}

.k4-team-slider__nav-buttons {
  display: flex;
  gap: 1rem;
}

.k4-team-slider__nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 2px solid #1f2937;
  background: transparent;
  color: #1f2937;
  cursor: pointer;
  transition: all 0.15s ease;
}

.k4-team-slider__nav-btn:hover {
  transform: scale(1.05);
  background-color: rgba(31, 41, 55, 0.1);
}

/* Rechter Bereich: Stärken + Spezialfähigkeit + Button */
.k4-team-slider__right-content {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 320px;
  position: relative;
  z-index: 100;
}

.k4-team-slider__meta-card {
  display: none;
  width: 100%;
}

.k4-team-slider__meta-card.active {
  display: block;
  animation: fadeIn 0.5s ease-out;
}

/* Stärken */
.k4-team-slider__strengths-wrapper {
  width: 100%;
  margin-bottom: 2rem;
}

.k4-team-slider__strengths {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.k4-team-slider__strength-item {
  display: flex;
  flex-direction: column;
}

.k4-team-slider__strength-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1f2937;
  opacity: 0.8;
  margin-bottom: 0.375rem;
}

.k4-team-slider__strength-label span:first-child {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.k4-team-slider__strength-icon {
  color: #1f2937;
  opacity: 0.6;
  display: inline-flex;
  font-size: 20px;
  align-items: center;
  justify-content: center;
}

.k4-team-slider__strength-bar {
  width: 100%;
  height: 0.375rem;
  background-color: rgba(31, 41, 55, 0.1);
  border-radius: 9999px;
  overflow: hidden;
}

.k4-team-slider__strength-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
  /* Farbe wird inline gesetzt (member.final_color) */
}

/* Spezialfähigkeit */
.k4-team-slider__speciality {
  padding: 1.25rem;
  background-color: rgba(31, 41, 55, 0.03);
  border: 1px solid rgba(31, 41, 55, 0.05);
  border-radius: 1rem;
  backdrop-filter: blur(4px);
  text-align: right;
  margin-bottom: 2rem;
  width: 100%;
}

.k4-team-slider__speciality-label {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #1f2937;
  opacity: 0.5;
  margin-bottom: 0.5rem;
}

.k4-team-slider__speciality-text {
  color: #1f2937;
  opacity: 0.9;
  line-height: 1.625;
  font-weight: 500;
  font-size: var(--k4-text-sm);
}

/* Video-Button (Q&A) */
.k4-team-slider__video-btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  background-color: #e95f47;
  color: white;
  border-radius: 9999px;
  padding: 0.5rem 0.5rem 0.5rem 1.5rem;
  border: none;
  cursor: pointer;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  transform-origin: right center;
}

.k4-team-slider__video-btn:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  background-color: #d4513b;
  transform: scale(1.05);
}

.k4-team-slider__video-label {
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.k4-team-slider__video-icon-wrapper {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e95f47;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.k4-team-slider__video-btn:hover .k4-team-slider__video-icon-wrapper {
  transform: scale(1.1);
}

.k4-team-slider__video-icon {
  width: 1rem;
  height: 1rem;
  margin-left: 0.125rem;
}

/* ========== MOBILE LAYOUT ========== */
.k4-team-slider__mobile-layout {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  gap: 0.75rem;
  pointer-events: auto;
}

@media (min-width: 640px) {
  .k4-team-slider__mobile-layout {
    display: none;
  }
}

.k4-team-slider__mobile-card {
  display: none;
  flex-direction: column;
  gap: 0.75rem;
}

.k4-team-slider__mobile-card.active {
  display: flex;
}

/* Mobil: Card-Layout anpassen für absolut positionierten Header */
@media (max-width: 639px) {
  .k4-team-slider__mobile-card {
    position: relative;
    padding: 0;
  }
}

.k4-team-slider__mobile-header {
  margin-bottom: 0.25rem;
}

/* Mobil: Header im mobile-layout ausblenden (wird jetzt im Namen-Layer angezeigt) */
@media (max-width: 639px) {
  .k4-team-slider__mobile-header {
    display: none;
  }
}

.k4-team-slider__mobile-position {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: #1f2937;
  margin-bottom: 0.5rem;
}

/* Mobil: Position größer und zentriert */
@media (max-width: 639px) {
  .k4-team-slider__mobile-position {
    font-size: 1.75rem;
    line-height: 1.1;
    margin-bottom: 0.75rem;
    margin-top: 0;
  }
}

.k4-team-slider__mobile-quote {
  font-size: 0.875rem;
  color: #1f2937;
  font-weight: 700;
  opacity: 0.9;
  line-height: 1.625;
  font-style: italic;
}

/* Mobil: Quote besser lesbar */
@media (max-width: 639px) {
  .k4-team-slider__mobile-quote {
    font-size: 0.9375rem;
    line-height: 1.5;
  }
}

.k4-team-slider__mobile-meta {
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(12px);
  padding: 1rem;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.k4-team-slider__mobile-strengths {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.k4-team-slider__mobile-strength-item {
  display: flex;
  flex-direction: column;
}

.k4-team-slider__mobile-strength-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #1f2937;
  opacity: 0.9;
  margin-bottom: 0.25rem;
}

.k4-team-slider__mobile-strength-label span:first-child {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.k4-team-slider__mobile-strength-bar {
  width: 100%;
  height: 0.25rem;
  background-color: rgba(31, 41, 55, 0.1);
  border-radius: 9999px;
  overflow: hidden;
}

.k4-team-slider__mobile-strength-fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
  /* Farbe wird inline gesetzt (member.final_color) */
}

.k4-team-slider__mobile-speciality {
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 0.75rem;
  padding: 0.75rem;
}

.k4-team-slider__mobile-speciality-label {
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #1f2937;
  opacity: 0.6;
  margin-bottom: 0.25rem;
}

.k4-team-slider__mobile-speciality-text {
  font-size: 0.75rem;
  color: #1f2937;
  opacity: 0.9;
  line-height: 1.625;
  font-weight: 700;
}

.k4-team-slider__mobile-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 0.25rem;
}

.k4-team-slider__mobile-nav {
  display: flex;
  gap: 0.75rem;
}

.k4-team-slider__mobile-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  border: 2px solid #1f2937;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(4px);
  color: #1f2937;
  cursor: pointer;
  transition: all 0.15s ease;
}

.k4-team-slider__mobile-nav-btn:active {
  transform: scale(0.95);
}

.k4-team-slider__mobile-video-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #e95f47;
  color: white;
  border-radius: 9999px;
  padding: 0.375rem 0.375rem 0.375rem 1.25rem;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  transition: all 0.15s ease;
}

.k4-team-slider__mobile-video-btn:active {
  transform: scale(0.95);
}

.k4-team-slider__mobile-video-btn span {
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.k4-team-slider__mobile-video-icon-wrapper {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: 50%;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e95f47;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.k4-team-slider__mobile-video-icon-wrapper svg {
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.125rem;
}

/* ========== GRADIENT FADE (unten) ========== */
.k4-team-slider__gradient-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8rem;
  background: linear-gradient(to top, var(--k4-cream), transparent);
  pointer-events: none;
  z-index: 50;
}

@media (min-width: 768px) {
  .k4-team-slider__gradient-fade {
    height: 12rem;
  }
}

/* ========== ANIMATIONS ========== */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===============================================================
   Galerie (mit Box-Layout)
   =============================================================== */
.k4-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 0.75rem;
  /* Flexibles Grid: passt sich automatisch der Browser-Breite an
     Minimum 150px pro Spalte, maximal 1fr (gleiche Breite) */
}

/* Tablet: größeres Gap, größere Mindestbreite pro Box */
@media (min-width: 768px) {
  .k4-gallery {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 1.5rem;
    /* Minimum 200px pro Spalte → ca. 3-4 Spalten auf Tablet */
  }
}

/* Desktop: noch größere Mindestbreite für optimale Darstellung */
@media (min-width: 1024px) {
  .k4-gallery {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    /* Minimum 220px pro Spalte → ca. 4-6 Spalten je nach Breite */
  }
}

/* Alternativ: Feste Spalten für spezielle Galerien */
.k4-gallery.lg\:grid-cols-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.k4-gallery.lg\:grid-cols-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.k4-gallery.lg\:grid-cols-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.k4-gallery.lg\:grid-cols-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

.k4-gallery.lg\:grid-cols-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

/* Polaroid-Style für Galerie-Bilder */
.k4-box--polaroid {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  padding: 1rem;
  padding-bottom: 2rem;
  border-radius: 0.25rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.k4-box--polaroid:hover {
  transform: translateY(-0.25rem) rotate(0.5deg);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -2px rgba(0, 0, 0, 0.08);
}

/* Polaroid Bild-Bereich (vollflächig, kein fixer Container) */
.k4-box--polaroid .k4-box__media {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--k4-radius-2xl);
  margin-bottom: 1rem;
  padding: 0;
  justify-content: flex-start;
  align-items: normal;
}

.k4-box--polaroid .k4-box__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* GIF-Unterstützung in Galerie (behält Animation bei) */
.k4-box--polaroid .k4-box__media .k4-gif {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Polaroid Caption (unten wie bei echtem Polaroid) */
.k4-box--polaroid .k4-box__caption {
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  line-height: 1.4;
  color: var(--k4-dark);
  margin: 0;
  min-height: 1.2rem;
}

/* ===============================================================
   Boxen mit Darstellungen
   =============================================================== */
.k4-box {
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s ease;
}

/* Karten-Layouts im GRID füllen ihre Spalte (gleich hohe Kacheln in einer Reihe).
   Alle Boxen in einer Grid-Row haben automatisch die gleiche Höhe (Höhe der höchsten Box). */
.grid .k4-box {
  height: auto;
  /* Mobil: automatische Höhe */
}

@media (min-width: 768px) {
  .grid .k4-box {
    height: 100%;
    /* Desktop: volle Höhe für gleich hohe Kacheln */
  }
}

.grid .k4-box.k4-box--quote,
.grid .k4-box.k4-box--stats {
  height: auto;
  /* Immer automatische Höhe, nie 100% */
}

/* Im Slider: keine explizite Höhe, damit align-items: stretch funktioniert */
.k4-row--slider>.k4-box {
  align-self: stretch;
}

/* --- Service-Card --- */
.k4-box--service {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-radius: 2rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  background: #ffffff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.k4-box--service:hover {
  transform: translateY(-0.5rem);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

a.k4-box {
  text-decoration: none;
}

/* Radial Gradient Background (oberhalb des Bildes) */
.k4-box--service::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 50% 20%, var(--feature-color-light, rgba(233, 95, 71, 0.25)) 0%, transparent 65%);
  opacity: 1;
  pointer-events: none;
}

/* Bild / Icon Container */
.k4-box__media {
  position: relative;
  z-index: 10;
  flex: 0 0 auto;
  height: 200px;
  /* display: flex; */
  align-items: center;
  justify-content: center;
  padding-block: 1.5rem;
  pointer-events: none;
}

.k4-box__media img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: var(--k4-radius-2xl);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

/* Glassmorphic Footer-Panel */
.k4-box__body {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(31, 41, 55, 0.05);
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  height: 100%;
}

.k4-box__headline {
  display: block;
  margin: 0 0 0.5rem;
  font-family: "Lato", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.2;
  color: var(--k4-dark);
}

.k4-box__text {
  display: block;
  flex: 1;
  margin: 0;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.7);
}

/* CTA-Link mit Pfeil */
.k4-box__link {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(31, 41, 55, 0.1);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--k4-text-sm);
  font-weight: 700;
  color: var(--k4-coral);
  transition: transform 0.3s ease;
}

.k4-box--service:hover .k4-box__link {
  transform: translateX(0.25rem);
}

.k4-box__link svg {
  width: 1rem;
  height: 1rem;
}

/* Farbvarianten (Custom-Properties per Box) – TRANSPARENT */
.k4-box--service.k4-box--coral {
  --feature-color: #e95f47;
  --feature-color-light: rgba(233, 95, 71, 0.25);
}

.k4-box--service.k4-box--navy {
  --feature-color: #353d47;
  --feature-color-light: rgba(53, 61, 71, 0.2);
}

.k4-box--service.k4-box--dark {
  --feature-color: #1f2937;
  --feature-color-light: rgba(31, 41, 55, 0.15);
}

/* ===============================================================
   Service-Card – SOLID (ohne Transparenz, wie im Screenshot)
   =============================================================== */
.k4-box--service-solid {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0rem;
  border-radius: 2rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.k4-box--service-solid:hover {
  transform: translateY(-0.5rem);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

/* Radial Gradient Background (oberhalb des Bildes) */
.k4-box--service-solid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 50% 20%, var(--feature-color-light, rgba(233, 95, 71, 0.25)) 0%, transparent 65%);
  opacity: 1;
  pointer-events: none;
}

/* Bild / Icon Container */
.k4-box--service-solid .k4-box__media {
  position: relative;
  z-index: 10;
  flex: 0 0 auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 0;
  pointer-events: none;
}


/* Footer-Panel – TRANSPARENT (kein Border, kein Hintergrund) */
.k4-box--service-solid .k4-box__body {
  position: relative;
  z-index: 20;
  display: flex;
  flex-direction: column;
  padding: 2.25rem 1.25rem;
  border-radius: 0;
  border: none;
  background: transparent;
  backdrop-filter: none;
  height: 100%;
}

.k4-box--service-solid .k4-box__headline {
  display: block;
  margin: 0 0 0.5rem;
  font-family: "Lato", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.2;
}

.k4-box--service-solid .k4-box__text {
  display: block;
  flex: 1;
  margin: 0;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  line-height: 1.6;
}

/* CTA-Link mit Pfeil */
.k4-box--service-solid .k4-box__link {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--k4-text-sm);
  font-weight: 700;
  transition: transform 0.3s ease;
}

.k4-box--service-solid:hover .k4-box__link {
  transform: translateX(0.25rem);
}

.k4-box--service-solid .k4-box__link svg {
  width: 1rem;
  height: 1rem;
}

/* Farbvarianten SOLID – Coral */
.k4-box--service-solid.k4-box--coral {
  --feature-color: #e95f47;
  --feature-color-light: rgba(233, 95, 71, 0.25);
  background: linear-gradient(135deg, #e95f47 0%, #d94d37 100%);
  color: var(--k4-cream);
}

.k4-box--service-solid.k4-box--coral .k4-box__body {
  color: var(--k4-cream);
}

.k4-box--service-solid.k4-box--coral .k4-box__headline,
.k4-box--service-solid.k4-box--coral .k4-box__link {
  color: #ffffff;
}

.k4-box--service-solid.k4-box--coral .k4-box__text {
  color: rgba(255, 255, 255, 0.85);
}

.k4-box--service-solid.k4-box--coral .k4-box__link {
  border-top-color: rgba(255, 255, 255, 0.2);
}

/* Farbvarianten SOLID – Tan/Beige */
.k4-box--service-solid.k4-box--tan {
  --feature-color: #dccbbb;
  --feature-color-light: rgba(220, 203, 187, 0.3);
  background: linear-gradient(135deg, #dccbbb 0%, #c7b2a0 100%);
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--tan .k4-box__body {
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--tan .k4-box__headline {
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--tan .k4-box__text {
  color: rgba(31, 41, 55, 0.75);
}

.k4-box--service-solid.k4-box--tan .k4-box__link {
  color: var(--k4-dark);
  border-top-color: rgba(31, 41, 55, 0.15);
}

/* Farbvarianten SOLID – Cream */
.k4-box--service-solid.k4-box--cream {
  --feature-color: var(--k4-cream);
  --feature-color-light: rgba(220, 203, 187, 0.3);
  background: linear-gradient(135deg, var(--k4-cream) 0%, var(--k4-cream) 100%);
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--cream .k4-box__body {
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--cream .k4-box__headline {
  color: var(--k4-dark);
}

.k4-box--service-solid.k4-box--cream .k4-box__text {
  color: rgba(31, 41, 55, 0.75);
}

.k4-box--service-solid.k4-box--cream .k4-box__link {
  color: var(--k4-dark);
  border-top-color: rgba(31, 41, 55, 0.15);
}

/* Farbvarianten SOLID – Navy/Dark */
.k4-box--service-solid.k4-box--navy {
  --feature-color: #1f2937;
  --feature-color-light: rgba(31, 41, 55, 0.2);
  background: linear-gradient(135deg, #1f2937 0%, #0b1f38 100%);
  color: var(--k4-cream);
}

.k4-box--service-solid.k4-box--navy .k4-box__body {
  color: var(--k4-cream);
}

.k4-box--service-solid.k4-box--navy .k4-box__headline,
.k4-box--service-solid.k4-box--navy .k4-box__link {
  color: #ffffff;
}

.k4-box--service-solid.k4-box--navy .k4-box__text {
  color: rgba(255, 255, 255, 0.85);
}

.k4-box--service-solid.k4-box--navy .k4-box__link {
  border-top-color: rgba(255, 255, 255, 0.2);
}

/* --- Checkliste --- */
.k4-box--checklist {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  overflow: hidden;
  padding: 1.75rem;
  border-radius: var(--k4-radius-2xl);
  background: #ffffff;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

@media (min-width: 1024px) {
  .k4-box--checklist {
    padding: 2rem;
  }
}

.k4-box--checklist::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 0.375rem;
  background: var(--k4-coral);
}

.k4-box--accent-dark::before {
  background: var(--k4-dark);
}

.k4-box--accent-navy::before {
  background: var(--k4-navy);
}

.k4-box--accent-cream::before {
  background: var(--k4-cream);
}

.k4-box--accent-tan::before {
  background: var(--k4-tan);
}

.k4-box--accent-white::before {
  background: #ffffff;
}

.k4-box--checklist .k4-box__headline {
  font-size: clamp(1.125rem, 2vw, 1.25rem);
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--k4-dark);
}

.k4-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.k4-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.85);
}

.k4-checklist__icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: var(--k4-coral);
}

.k4-checklist__item.is-negative .k4-checklist__icon {
  color: rgba(31, 41, 55, 0.5);
}

/* -------- Zitat -------- */
.k4-box--quote {
  margin: 0;
  max-width: 60rem;
}

.k4-box__quote {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--k4-dark);
  font-size: clamp(1.75rem, 4vw, 3.25rem);
}

.k4-box__quote-author {
  margin-top: 1.5rem;
  font-size: var(--k4-text-sm);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(31, 41, 55, 0.55);
}

/* -------- Vorteile (Stats) -------- */
.k4-box--stats {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(2rem, 6vw, 5rem);
  justify-content: center;
}

/* Stats-Box im Grid: horizontale Zentrierung über justify-self */
.grid .k4-box--stats {
  justify-self: center;
  max-width: fit-content;
}

/* col-start bei Stats neutralisieren, damit justify-self funktioniert */
@media (min-width: 768px) {
  .grid .k4-box--stats[class*="md:col-start-"] {
    grid-column-start: auto;
  }
}

.k4-stat__value {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
}

.k4-stat__icon {
  width: 0.9em;
  height: 0.9em;
}

.k4-stat--coral .k4-stat__value {
  color: var(--k4-coral);
}

.k4-stat--tan .k4-stat__value {
  color: var(--k4-tan-dark);
}

.k4-stat--navy .k4-stat__value {
  color: var(--k4-navy);
}

.k4-stat__label {
  margin-top: 0.5rem;
  font-size: var(--k4-text-base);
  font-weight: 700;
  color: var(--k4-dark);
}

/* -------- Plattformen -------- */
.k4-box--platforms {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: #fff;
  border-radius: var(--k4-radius-2xl);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.06);
}

@media (min-width: 768px) {
  .k4-box--platforms {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

/* Grid-Layout: 2 Zeilen x 2 Spalten */
.k4-platforms__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

@media (min-width: 768px) {
  .k4-platforms__grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 3rem;
    row-gap: 2rem;
  }

  /* Wenn keine Plattformen: Tools direkt neben Überschrift (1 Zeile) */
  .k4-platforms__grid--no-platforms .k4-tools__main {
    grid-column: 2;
    grid-row: 1;
  }
}

.k4-platforms__title {
  margin: 0 0 0.5rem;
  font-family: "Lato", sans-serif;
  font-size: var(--k4-text-sm);
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--k4-dark);
}

.k4-platforms__text {
  color: rgba(31, 41, 55, 0.7);
  font-size: var(--k4-text-base);
  font-weight: 500;
}

.k4-platforms__text p {
  margin: 0;
}

.k4-platforms__highlight {
  margin: 0.25rem 0 0;
  font-size: var(--k4-text-base);
  font-weight: 700;
  color: var(--k4-coral);
}

.k4-platforms__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.k4-platform {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-radius: 999px;
  background: #f5f5f5;
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: var(--k4-text-sm);
  font-weight: 700;
  color: var(--k4-dark);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: default;
}

a.k4-platform {
  cursor: pointer;
}

.k4-platform:hover {
  transform: translateY(-2px);
  box-shadow: var(--k4-shadow-md);
}

.k4-platform__icon {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

.k4-platform__icon--custom {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 1.5rem;
  max-width: 2rem;
}

.k4-platform__icon--custom img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Erweiterte Darstellung mit Text */
.k4-platform--expanded {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 1rem;
}

.k4-platform__icon-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.k4-platform--expanded .k4-platform__icon-wrapper {
  flex-shrink: 0;
  min-width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 0.75rem;
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.k4-platform--expanded .k4-platform__icon {
  width: 1.5rem;
  height: 1.5rem;
}

.k4-platform--expanded .k4-platform__icon--custom {
  width: auto;
  height: 1.5rem;
  max-width: 2.5rem;
}

.k4-platform__content {
  flex: 1;
  min-width: 0;
}

.k4-platform__name {
  font-size: var(--k4-text-base);
  font-weight: 700;
  color: var(--k4-dark);
  margin-bottom: 0.25rem;
}

.k4-platform__text {
  font-size: var(--k4-text-sm);
  font-weight: 400;
  color: rgba(31, 41, 55, 0.7);
  line-height: 1.5;
}

.k4-platform--linkedin .k4-platform__icon {
  color: #0a66c2;
}

.k4-platform--facebook .k4-platform__icon {
  color: #1877f2;
}

.k4-platform--youtube .k4-platform__icon {
  color: #ff0000;
}

.k4-platform--instagram .k4-platform__icon {
  color: #e1306c;
}

/* -------- Eigene Tools -------- */
.k4-tools__hint {
  margin: 0 0 0.5rem;
  font-family: "Lato", sans-serif;
  font-size: var(--k4-text-sm);
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--k4-dark);
}

.k4-tools__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.k4-tool {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: #f5f5f5;
  border: 1px solid rgba(0, 0, 0, 0.08);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: default;
}

a.k4-tool {
  cursor: pointer;
}

.k4-tool:hover {
  transform: translateY(-2px);
  box-shadow: var(--k4-shadow-md);
}

.k4-tool__icon-wrapper {
  flex-shrink: 0;
  min-width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 0.75rem;
  padding: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.k4-tool__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 1.5rem;
  max-width: 2.5rem;
}

.k4-tool__icon img {
  /* max-width: 100%;
  max-height: 100%;
  width: 150px;
  height: 153px;
  object-fit: contain; */
  height: auto;
  width: 2rem;
}

.k4-tool__content {
  flex: 1;
  min-width: 0;
}

.k4-tool__name {
  font-size: var(--k4-text-base);
  font-weight: 700;
  color: var(--k4-dark);
  margin-bottom: 0.25rem;
}

.k4-tool__text {
  font-size: var(--k4-text-sm);
  font-weight: 400;
  color: rgba(31, 41, 55, 0.7);
  line-height: 1.5;
}

/* -------- Ablauf: Liste aus Schritten (Process) -------- */
.k4-process {
  display: flex;
  flex-direction: column;
}

.k4-process__heading {
  margin: 0 0 1.5rem;
  text-align: center;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  font-size: clamp(1.75rem, 4vw, 3rem);
  color: var(--k4-dark);
}

.k4-process__step {
  position: relative;
  display: block;
  /* Mobil: block statt flex */
  padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 5vw, 3rem);
  border-radius: var(--k4-radius-2xl);
  background: #fff;
  box-shadow: var(--k4-shadow-md);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 768px) {
  .k4-process__step {
    display: flex;
    /* Desktop: flex */
    align-items: center;
    gap: 2rem;
  }
}

@media (hover: hover) {
  .k4-process__step:hover {
    transform: translateY(-0.5rem);
    box-shadow: var(--k4-shadow-xl);
  }
}

/* gestapelt mit leichter Überlappung (späterer Schritt liegt optisch oben) */
.k4-process__step:not(:first-child) {
  margin-top: -1.25rem;
}

.k4-process__step-body {
  display: block;
  /* Mobil: block statt flex */
}

@media (min-width: 768px) {
  .k4-process__step-body {
    flex: 1;
    display: flex;
    /* Desktop: flex */
    flex-direction: row;
    gap: 2rem;
    align-items: baseline;
  }
}

.k4-process__step-title {
  margin: 0;
  flex: 0 0 18rem;
  font-weight: 800;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.1;
  color: var(--k4-dark);
}

.k4-process__step-text {
  font-size: var(--k4-text-base);
  font-weight: 500;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.7);
}

.k4-process__step-text p {
  margin: 0;
}

.k4-process__step-number {
  position: absolute;
  /* Mobil: absolute positioniert */
  top: 0.625rem;
  /* 10px */
  right: 0.625rem;
  /* 10px */
  font-family: "Playfair Display", serif;
  font-weight: 900;
  line-height: 1;
  font-size: clamp(2.5rem, 8vw, 4rem);
  /* Mobil: etwas kleiner */
  color: rgba(31, 41, 55, 0.1);
}

@media (min-width: 768px) {
  .k4-process__step-number {
    position: static;
    /* Desktop: normaler Flow */
    font-size: clamp(3.5rem, 8vw, 6rem);
    /* Desktop: größer */
    flex-shrink: 0;
  }
}

/* Hintergrundfarben (Spalte „Hintergrund") pro Schritt */
.k4-process__step.k4-bg--coral {
  background: var(--k4-coral);
  color: var(--k4-cream);
}

.k4-process__step.k4-bg--navy {
  background: var(--k4-navy);
  color: var(--k4-cream);
}

.k4-process__step.k4-bg--dark {
  background: var(--k4-dark);
  color: var(--k4-cream);
}

.k4-process__step.k4-bg--cream {
  background: var(--k4-cream);
}

.k4-process__step.k4-bg--tan {
  background: var(--k4-tan);
}

.k4-process__step.k4-bg--white {
  background: #ffffff;
}

.k4-process__step.k4-bg--coral .k4-process__step-title,
.k4-process__step.k4-bg--navy .k4-process__step-title,
.k4-process__step.k4-bg--dark .k4-process__step-title {
  color: var(--k4-cream);
}

.k4-process__step.k4-bg--coral .k4-process__step-text,
.k4-process__step.k4-bg--navy .k4-process__step-text,
.k4-process__step.k4-bg--dark .k4-process__step-text {
  color: rgba(245, 239, 230, 0.8);
}

.k4-process__step.k4-bg--coral .k4-process__step-number,
.k4-process__step.k4-bg--navy .k4-process__step-number,
.k4-process__step.k4-bg--dark .k4-process__step-number {
  color: rgba(255, 255, 255, 0.15);
}

/* -------- Preis-Karte -------- */
.k4-box--pricing {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 2.5rem 2rem;
  border-radius: var(--k4-radius-2xl);
  background: var(--k4-cream);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.k4-box--pricing:hover {
  transform: translateY(-0.5rem);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.k4-box--pricing-rec {
  background: var(--k4-coral);
  color: var(--k4-cream);
  box-shadow: 0 20px 50px rgba(233, 95, 71, 0.35);
  transform: none;
  /* Mobil: kein Transform */
}

.k4-box--pricing-rec:hover {
  transform: none;
  /* Mobil: kein Transform */
}

@media (min-width: 768px) {
  .k4-box--pricing-rec {
    transform: translateY(-7rem) !important;
    /* Tablet+: nach oben versetzt */
  }

  .k4-box--pricing-rec:hover {
    transform: translateY(-8.25rem) !important;
  }
}

@media (min-width: 1024px) {
  .k4-box--pricing-rec {
    transform: translateY(-8.5rem) !important;
    /* Desktop: noch weiter nach oben */
  }

  .k4-box--pricing-rec:hover {
    transform: translateY(-9rem) !important;
  }
}

.k4-pricing__rec {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  padding: 0.375rem 1rem;
  border-radius: 999px;
  background: var(--k4-coral);
  color: var(--k4-cream);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(233, 95, 71, 0.35);
  z-index: 10;
}

.k4-pricing__tier {
  font-size: var(--k4-text-sm);
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--k4-dark);
}

.k4-box--pricing-rec .k4-pricing__tier {
  color: var(--k4-cream);
}

.k4-pricing__price {
  margin-top: 1rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1;
  color: var(--k4-dark);
}

.k4-box--pricing-rec .k4-pricing__price {
  color: var(--k4-cream);
}

.k4-pricing__period {
  font-size: var(--k4-text-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.7;
}

.k4-pricing__btn {
  margin-top: 1.5rem;
  width: 100%;
}

.k4-box--pricing-rec .k4-pricing__btn {
  background: #fff;
  color: var(--k4-coral);
}

.k4-box--pricing-rec .k4-pricing__btn:hover {
  background: var(--k4-cream);
  color: var(--k4-coral);
  transform: none;
}

.k4-pricing__features {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(31, 41, 55, 0.12);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.k4-box--pricing-rec .k4-pricing__features {
  border-color: rgba(255, 255, 255, 0.25);
}

.k4-pricing__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-weight: 700;
  font-size: var(--k4-text-sm);
  color: var(--k4-dark);
}

.k4-box--pricing-rec .k4-pricing__feature {
  color: var(--k4-cream);
}

.k4-pricing__feature svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 0.15rem;
  color: var(--k4-coral);
}

.k4-box--pricing-rec .k4-pricing__feature svg {
  color: #fff;
}

/* ===============================================================
   Reihe als Slider
   =============================================================== */
.k4-row--slider {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-bottom: 0.5rem;
  margin-block: 0;
}

.k4-row--slider::-webkit-scrollbar {
  display: none;
}

.k4-row--slider>* {
  flex: 0 0 auto;
  width: min(340px, 82%);
  scroll-snap-align: start;
}

.k4-slider {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-block: 2.5rem;
}

.k4-slider__nav {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.k4-slider__btn {
  width: 3.25rem;
  height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid rgba(31, 41, 55, 0.15);
  background: #fff;
  color: var(--k4-dark);
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.k4-slider__btn:hover {
  border-color: var(--k4-coral);
  color: var(--k4-coral);
}

.k4-slider__btn--prev svg {
  transform: rotate(180deg);
}

.k4-slider__btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* ===============================================================
   Artikel-Hintergründe & Polsterung (mod_article.html5)
   =============================================================== */
.k4-article-bg--coral {
  background-color: var(--k4-coral);
  color: var(--k4-cream);
}

.k4-article-bg--navy {
  background-color: var(--k4-navy);
  color: var(--k4-cream);
}

.k4-article-bg--dark {
  background-color: var(--k4-dark);
  color: var(--k4-cream);
}

.k4-article-bg--cream {
  background-color: var(--k4-cream);
}

.k4-article-bg--tan {
  background-color: var(--k4-tan);
}

.k4-article-bg--white {
  background-color: #ffffff;
}

/* „Standard" (keine Auswahl) → sanfter Default-Abstand wie bei metpro */
.mod_article:not([class*="k4-article--pad-"]) {
  padding-top: clamp(2rem, 3vw + 2rem, 5rem);
  padding-bottom: clamp(2rem, 8vw + 2rem, 5rem);
}

.k4-article--pad-none {
  padding-block: 0;
}

.k4-article--pad-sm {
  padding-block: 2rem;
}

.k4-article--pad-md {
  padding-block: 4rem;
}

.k4-article--pad-lg {
  padding-block: 6rem;
}

/* Hintergrund-Schriftzug (Wasserzeichen) quer über die Artikelbreite */
.k4-article--has-watermark {
  position: relative;
  overflow: hidden;
}

.k4-article--has-watermark>.k4-container,
.k4-article--has-watermark>.k4-wide {
  position: relative;
  z-index: 1;
}

.k4-article-watermark {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 0;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.05em;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
  color: var(--k4-dark);
  opacity: 0.03;
  font-size: 25vw;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.05));
}

/* ===============================================================
   FAQ – nummeriertes Accordion (mod_faqpage)
   =============================================================== */
.k4-faq__list {
  max-width: 64rem;
  margin-inline: auto;
}

.k4-faq__item {
  border-bottom: 1px solid rgba(31, 41, 55, 0.12);
}

.k4-faq__q {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 3vw, 2rem);
  padding: 1.6rem 0.25rem;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}

.k4-faq__num {
  flex: 0 0 auto;
  min-width: 2.75rem;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  line-height: 1;
  font-size: clamp(2rem, 4vw, 2.75rem);
  color: rgba(233, 95, 71, 0.45);
}

.k4-faq__question {
  flex: 1;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  line-height: 1.25;
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  color: var(--k4-dark);
  padding-top: 0.35rem;
  transition: color 0.2s ease;
}

.k4-faq__q:hover .k4-faq__question {
  color: var(--k4-coral);
}

/* Plus-/Minus-Toggle (rein per CSS) */
.k4-faq__toggle {
  position: relative;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.6rem;
}

.k4-faq__toggle::before,
.k4-faq__toggle::after {
  content: "";
  position: absolute;
  background: var(--k4-coral);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.k4-faq__toggle::before {
  /* waagerecht */
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  transform: translateY(-50%);
}

.k4-faq__toggle::after {
  /* senkrecht */
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
}

.k4-faq__item.is-open .k4-faq__toggle::after {
  transform: translateX(-50%) scaleY(0);
  opacity: 0;
}

/* Antwort */
.k4-faq__answer {
  overflow: hidden;
  max-height: 0;
}

.k4-faq__answer-inner {
  padding: 0 0 1.6rem calc(2.75rem + clamp(1rem, 3vw, 2rem));
  font-size: var(--k4-text-base);
  color: rgba(31, 41, 55, 0.7);
  line-height: 1.7;
}

.k4-faq__answer-inner> :first-child {
  margin-top: 0;
}

.k4-faq__answer-inner> :last-child {
  margin-bottom: 0;
}

/* ===============================================================
   K4 Header / Navigation
   Portiert aus metpro (eigenes Projekt), mp- -> k4- umbenannt,
   Farben auf K4-Palette gemappt. Reines CSS, kein Build.
   =============================================================== */
:root {
  --k4-white: #ffffff;
  --k4-blue: var(--k4-coral);
  /* metpro-Akzent (blau) -> K4 Koralle */
  --k4-yellow: var(--k4-coral);
  /* metpro-Akzent (gelb) -> K4 Koralle */
  --k4-gray-light: #f5f5f5;
  --k4-gray-dark: #1a1a1a;
  --k4-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --k4-nav-height-mobile: 76px;
  --k4-nav-height-desktop: 92px;
  --k4-radius-sm: 0.375rem;
  --k4-radius-md: 0.5rem;
  --k4-radius-lg: 0.75rem;
  --k4-transition-base: 300ms ease;
  --k4-transition-fast: 150ms ease;
}

header.offset-top {
  padding-top: 92px;
}

.k4-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  height: var(--k4-nav-height-mobile);
  overflow: visible;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--k4-transition-base), box-shadow var(--k4-transition-base), background var(--k4-transition-base);
  background-color: #fff;
  ;
}

@media (min-width: 1024px) {
  .k4-nav {
    height: var(--k4-nav-height-desktop);
  }
}

.k4-nav.k4-nav--scrolled {
  border-bottom-color: rgba(0, 0, 0, 0.08);
  box-shadow: var(--k4-shadow-md);
}

.k4-nav__inner {
  max-width: 1536px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--k4-section-px);
  padding-right: var(--k4-section-px);
  height: 100%;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.k4-nav__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  text-decoration: none;
}

.k4-nav__logo:hover {
  text-decoration: none;
}

.k4-nav__logo img {
  height: 36px;
  width: auto;
}

@media (min-width: 1024px) {
  .k4-nav__logo img {
    height: 44px;
  }
}

.k4-nav__logo-sep {
  display: none;
}

@media (min-width: 1024px) {
  .k4-nav__logo-sep {
    display: block;
    height: 2rem;
    width: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 0 0.25rem;
    flex-shrink: 0;
  }
}

.k4-nav__logo-tagline {
  display: none;
}

@media (min-width: 1024px) {
  .k4-nav__logo-tagline {
    display: block;
    font-size: var(--k4-text-xs);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.3;
    max-width: 110px;
  }
}

.k4-nav__desktop {
  display: none;
}

@media (min-width: 1024px) {
  .k4-nav__desktop {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 0.25rem;
  }
}

.k4-nav__desktop>nav,
.k4-nav__desktop>div>nav {
  height: 100%;
  overflow: visible;
}

.k4-nav__desktop ul.level_1 {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.k4-nav__desktop ul.level_1>li {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

/* Fallback simple dropdown (items without .k4-mega-menu wrapper) */
.k4-nav__desktop ul.level_1>li>ul.level_2 {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border-radius: var(--k4-radius-xl);
  box-shadow: var(--k4-shadow-2xl);
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.5rem;
  z-index: 9999;
  list-style: none;
  margin: 0;
}

.k4-nav__desktop ul.level_1>li:hover>ul.level_2 {
  display: block;
}

.mod_breadcrumb {
  background-color: rgba(245, 239, 230, 0.4);
}

.mod_breadcrumb ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 0;
  list-style: none;
  margin: 0;
}

/* Mega menu panel */
.k4-mega-menu {
  display: none;
  position: absolute;
  top: 75%;
  left: -100%;
  min-width: 350px;
  background: #fff;
  border-radius: var(--k4-radius-xl);
  box-shadow: var(--k4-shadow-2xl);
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.75rem;
  z-index: 9999;
}

.k4-nav__desktop ul.level_1>li:hover>.k4-mega-menu {
  display: block;
}

/* ul.level_2 inside mega menu — reset panel styles, always visible */
.k4-mega-menu ul.level_2 {
  display: block;
  position: static;
  min-width: unset;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  z-index: auto;
  list-style: none;
}

.k4-mega-menu__label {
  display: block;
  padding: 0.125rem 0.75rem 0.5rem;
  font-size: var(--k4-text-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--k4-blue);
  opacity: 0.5;
}

.k4-mega-menu__divider {
  height: 1px;
  background: rgba(0, 0, 0, 0.06);
  margin: 0.375rem 0;
}

.k4-mega-menu__all {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: var(--k4-text-sm);
  font-weight: 600;
  color: var(--k4-blue);
  text-decoration: none;
  border-radius: var(--k4-radius-lg);
  transition: background var(--k4-transition-fast);
}

.k4-mega-menu__all:hover {
  background: rgba(0, 0, 0, 0.04);
}

.k4-mega-menu__item {
  display: block;
  padding: 0.5rem 0.75rem;
  color: #6B7280;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--k4-radius-lg);
  transition: background var(--k4-transition-fast), color var(--k4-transition-fast);
  white-space: nowrap;
}

.k4-mega-menu__item:hover,
.k4-mega-menu__item.active,
.k4-mega-menu__item.trail {
  color: var(--k4-blue);
}

/* Mega Menu – Plain-Items als 2-Spalten-Grid */
.k4-mega-menu__list--columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}

li.nomega .k4-mega-menu__list--columns {
  grid-template-columns: 1fr;
}

/* Rich-Items als einfache Block-Liste (kein Grid) */
.k4-mega-menu__list--rich {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Mega Menu – Rich-Item (Unterseite mit Bild/Teaser) */
.k4-mega-menu__item--rich {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  white-space: normal;
}

.k4-mega-menu__item--rich .k4-mega-menu__item-title {
  color: #1A1A1A;
}

.k4-mega-menu__item-img {
  flex-shrink: 0;
  width: 95px;
  height: 65px;
  object-fit: cover;
  border-radius: var(--k4-radius-md);
  border: 1px solid rgba(0, 0, 0, 0.07);
}

.k4-mega-menu__item-body {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.k4-mega-menu__item-title {
  display: block;
  font-size: var(--k4-text-sm);
  font-weight: 600;
  color: inherit;
  line-height: 1.3;
}

.k4-mega-menu__item-teaser {
  display: block;
  font-size: var(--k4-text-xs);
  font-weight: 400;
  color: #6b7280;
  line-height: 1.4;
}

/* Mega Menu – Teaser (Oberpunkt-Karte) */
.k4-mega-menu__teaser {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: var(--k4-radius-lg);
  text-decoration: none;
  transition: background var(--k4-transition-fast);
}

.k4-mega-menu__teaser:hover {
  text-decoration: none;
}

.k4-mega-menu__teaser-img {
  flex-shrink: 0;
  width: 95px;
  height: 65px;
  object-fit: cover;
  border-radius: var(--k4-radius-md);
  border: 2px solid rgba(0, 0, 0, 0.07);
  transition: transform 1s ease;
}

.k4-mega-menu__teaser:hover img {
  transform: scale(1.1);
}

.k4-mega-menu__teaser-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.k4-mega-menu__teaser-title {
  display: block;
  font-size: var(--k4-text-sm);
  font-weight: 700;
  color: var(--k4-gray-dark);
  line-height: 1.3;
}

.k4-mega-menu__teaser-text {
  display: block;
  font-size: var(--k4-text-xs);
  color: #6b7280;
  line-height: 1.4;
}

.k4-nav__link {
  display: inline-block;
  position: relative;
  padding: 0.5rem 0.75rem 0;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  font-weight: 600;
  color: var(--k4-navy);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color var(--k4-transition-fast), border-color var(--k4-transition-base);
  white-space: nowrap;
}

.k4-nav__link:hover,
.k4-nav__link.active,
.k4-nav__link.trail {
  color: var(--k4-navy);
  text-decoration: none;
  border-bottom-color: var(--k4-yellow);
}

.k4-nav__link--dropdown {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.k4-subnav__link {
  display: block;
  padding: 0.5rem 0.75rem;
  color: #374151;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  text-decoration: none;
  border-radius: var(--k4-radius-lg);
  transition: background var(--k4-transition-fast), color var(--k4-transition-fast);
  white-space: nowrap;
}

.k4-subnav__link:hover,
.k4-subnav__link.active,
.k4-subnav__link.trail {
  background: var(--k4-gray-light);
  color: var(--k4-blue);
}

.k4-nav__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.k4-nav__lang {
  position: relative;
  display: none;
}

@media (min-width: 1024px) {
  .k4-nav__lang {
    display: block;
  }
}

.k4-nav__lang:hover .k4-lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.k4-nav__lang-btn {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: var(--k4-text-base);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  background: transparent;
  cursor: pointer;
  transition: all var(--k4-transition-fast);
}

.k4-nav__lang-btn:hover {
  border-color: rgba(255, 255, 255, 0.6);
  color: #ffffff;
}

.k4-nav__lang-btn svg {
  opacity: 0.6;
}

.k4-lang-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border-radius: var(--k4-radius-lg);
  box-shadow: var(--k4-shadow-xl);
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 0.5rem;
  min-width: 120px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all 200ms ease;
  z-index: 100;
}

.k4-lang-dropdown__item {
  display: block;
  padding: 0.5rem 0.875rem;
  font-size: var(--k4-text-sm);
  font-weight: 500;
  border-radius: var(--k4-radius-md);
  color: #374151;
  text-decoration: none;
  transition: background var(--k4-transition-fast);
}

.k4-lang-dropdown__item:hover {
  background: var(--k4-gray-light);
  text-decoration: none;
}

.k4-lang-dropdown__item.active {
  color: var(--k4-blue);
  font-weight: 700;
}

.k4-nav__hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 1px solid var(--k4-coral);
  border-radius: var(--k4-radius-xl);
  cursor: pointer;
  padding: 8px;
}

@media (min-width: 1024px) {
  .k4-nav__hamburger {
    display: none;
  }
}

.k4-nav__hamburger span {
  display: block;
  height: 2px;
  background: var(--k4-coral);
  border-radius: 2px;
  transition: transform var(--k4-transition-base), opacity var(--k4-transition-base);
}

.k4-nav__hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.k4-nav__hamburger.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.k4-nav__hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.k4-nav__mobile {
  position: fixed;
  top: var(--k4-nav-height-mobile);
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 49;
  padding: 1.5rem var(--k4-section-px) 2rem;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform var(--k4-transition-base);
}

.k4-nav__mobile.open {
  transform: translateX(0);
  height: 100vh;
}

.k4-nav__mobile-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  font-size: var(--k4-text-base);
  font-weight: 600;
  color: var(--k4-dark);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  text-decoration: none;
}

.k4-nav__mobile-link:hover {
  color: var(--k4-blue);
  text-decoration: none;
}

.k4-nav__mobile-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 0;
  font-size: var(--k4-text-base);
  font-weight: 600;
  color: var(--k4-dark);
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  cursor: pointer;
  text-align: left;
}

.k4-nav__mobile-toggle:hover {
  color: var(--k4-blue);
}

.k4-nav__mobile-toggle-icon {
  display: flex;
  align-items: center;
  transition: transform var(--k4-transition-base);
}

.k4-nav__mobile-item.open>.k4-nav__mobile-toggle .k4-nav__mobile-toggle-icon {
  transform: rotate(90deg);
}

.k4-nav__mobile-sub {
  padding: 0.5rem 0 0.5rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.k4-nav__mobile-sub-overview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0;
  font-size: var(--k4-text-sm);
  font-weight: 600;
  color: var(--k4-blue);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  margin-bottom: 0.25rem;
}

.k4-nav__mobile-sub .k4-nav__mobile-link {
  font-size: var(--k4-text-base);
  padding: 0.625rem 0;
}

.k4-nav__lang--mobile {
  display: block;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.k4-nav__lang--mobile .k4-nav__lang-btn {
  color: var(--k4-dark);
}

.k4-nav__lang--mobile .k4-lang-dropdown {
  position: static;
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
  margin-top: 0.5rem;
  border-radius: 6px;
}

.k4-nav-offset {
  padding-top: calc(var(--k4-nav-height-mobile) + 3px);
}

@media (min-width: 1024px) {
  .k4-nav-offset {
    padding-top: calc(var(--k4-nav-height-desktop) + 3px);
  }
}

/* ===============================================================
   Spacing Utilities (Abstände für Contao-Elemente)
   Klassen: m-t-{1-10}, m-b-{1-10}, p-t-{1-10}, p-b-{1-10}
   Grundabstand: --k4-spacing-unit (1rem)
   =============================================================== */

/* Margin Top */
.m-t-1 {
  margin-top: calc(var(--k4-spacing-unit) * 1);
}

.m-t-2 {
  margin-top: calc(var(--k4-spacing-unit) * 2);
}

.m-t-3 {
  margin-top: calc(var(--k4-spacing-unit) * 3);
}

.m-t-4 {
  margin-top: calc(var(--k4-spacing-unit) * 4);
}

.m-t-5 {
  margin-top: calc(var(--k4-spacing-unit) * 5);
}

.m-t-6 {
  margin-top: calc(var(--k4-spacing-unit) * 6);
}

.m-t-7 {
  margin-top: calc(var(--k4-spacing-unit) * 7);
}

.m-t-8 {
  margin-top: calc(var(--k4-spacing-unit) * 8);
}

.m-t-9 {
  margin-top: calc(var(--k4-spacing-unit) * 9);
}

.m-t-10 {
  margin-top: calc(var(--k4-spacing-unit) * 10);
}

.m-t-0 {
  margin-top: 0 !important;
}

/* Margin Bottom */
.m-b-1 {
  margin-bottom: calc(var(--k4-spacing-unit) * 1);
}

.m-b-2 {
  margin-bottom: calc(var(--k4-spacing-unit) * 2);
}

.m-b-3 {
  margin-bottom: calc(var(--k4-spacing-unit) * 3);
}

.m-b-4 {
  margin-bottom: calc(var(--k4-spacing-unit) * 4);
}

.m-b-5 {
  margin-bottom: calc(var(--k4-spacing-unit) * 5);
}

.m-b-6 {
  margin-bottom: calc(var(--k4-spacing-unit) * 6);
}

.m-b-7 {
  margin-bottom: calc(var(--k4-spacing-unit) * 7);
}

.m-b-8 {
  margin-bottom: calc(var(--k4-spacing-unit) * 8);
}

.m-b-9 {
  margin-bottom: calc(var(--k4-spacing-unit) * 9);
}

.m-b-10 {
  margin-bottom: calc(var(--k4-spacing-unit) * 10);
}

.m-b-0 {
  margin-bottom: 0 !important;
}

/* Padding Top */
.p-t-1 {
  padding-top: calc(var(--k4-spacing-unit) * 1);
}

.p-t-2 {
  padding-top: calc(var(--k4-spacing-unit) * 2);
}

.p-t-3 {
  padding-top: calc(var(--k4-spacing-unit) * 3);
}

.p-t-4 {
  padding-top: calc(var(--k4-spacing-unit) * 4);
}

.p-t-5 {
  padding-top: calc(var(--k4-spacing-unit) * 5);
}

.p-t-6 {
  padding-top: calc(var(--k4-spacing-unit) * 6);
}

.p-t-7 {
  padding-top: calc(var(--k4-spacing-unit) * 7);
}

.p-t-8 {
  padding-top: calc(var(--k4-spacing-unit) * 8);
}

.p-t-9 {
  padding-top: calc(var(--k4-spacing-unit) * 9);
}

.p-t-10 {
  padding-top: calc(var(--k4-spacing-unit) * 10);
}

.p-t-0 {
  padding-top: 0 !important;
}

/* Padding Bottom */
.p-b-1 {
  padding-bottom: calc(var(--k4-spacing-unit) * 1);
}

.p-b-2 {
  padding-bottom: calc(var(--k4-spacing-unit) * 2);
}

.p-b-3 {
  padding-bottom: calc(var(--k4-spacing-unit) * 3);
}

.p-b-4 {
  padding-bottom: calc(var(--k4-spacing-unit) * 4);
}

.p-b-5 {
  padding-bottom: calc(var(--k4-spacing-unit) * 5);
}

.p-b-6 {
  padding-bottom: calc(var(--k4-spacing-unit) * 6);
}

.p-b-7 {
  padding-bottom: calc(var(--k4-spacing-unit) * 7);
}

.p-b-8 {
  padding-bottom: calc(var(--k4-spacing-unit) * 8);
}

.p-b-9 {
  padding-bottom: calc(var(--k4-spacing-unit) * 9);
}

.p-b-10 {
  padding-bottom: calc(var(--k4-spacing-unit) * 10);
}

.p-b-0 {
  padding-bottom: 0 !important;
}

.k4-video__chapters {
  list-style: none;
  margin-left: 0;
  padding-top: 1rem;
}

.k4-video__chapters li {
  display: inline;
  padding: 0 1rem;
  border-right: 1px solid var(--k4-coral);
}

.k4-video__chapters li:first-child {
  padding-left: 0rem;
}

/* ---------- Image Utilities ---------- */
.--absolute {
  position: absolute;
}

/* Formatierungen für mauticform_kontaktk4 */

form#mauticform_kontaktk4 input,
form#mauticform_kontaktk4 textarea,
form#mauticform_kontaktk4 select,
form#mauticform_kontaktk4 fieldset {
  width: 100%;
}

form#mauticform_kontaktk4 input.mauticform-checkboxgrp-checkbox {
  height: 25px;
  width: 25px !important;
}

form#mauticform_kontaktk4 .mauticform-checkboxgrp-row {
  display: flex;
  gap: 20px;
}

form#mauticform_kontaktk4 label {
  display: block;
  margin-bottom: 0.35714em;
  font-size: 0.93333em;
  color: #98a0ab;
}

form#mauticform_kontaktk4 input,
form#mauticform_kontaktk4 textarea {
  padding: 0.85714em 1.35714em;
  line-height: normal;
  border: 1px solid var(--base-border-color);
  font-size: 0.93333em;
  color: #353d47;
  background: white;
}

form#mauticform_kontaktk4 button,
form#mauticform_formularnlanmeldungallebeitrage button {
  margin-top: 20px;
  color: #fff;
  border: 1px solid var(--color-primary);
  padding: .8rem 1rem 1rem 1rem;
  border-radius: var(--k4-radius-xl);
  background: var(--color-primary);
}

form#mauticform_kontaktk4 input,
form#mauticform_kontaktk4 textarea,
form#mauticform_formularnlanmeldungallebeitrage input,
form#mauticform_formularnlanmeldungallebeitrage textarea {
  padding: .6rem;
  line-height: normal;
  border: 1px solid #CFD8DC;
  font-size: 0.93333em;
  color: #353d47;
  background: white;
}

.mauticform-button {
  background-color: var(--k4-coral);
  color: var(--k4-cream);
  box-shadow: var(--k4-shadow-md);
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  margin-top: 1rem;
  border-radius: var(--k4-radius-xl);
  font-weight: 700;
  font-size: var(--k4-text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
}

/* ===============================================================
   Team-Slider Inline-Video (Desktop)
   =============================================================== */
.k4-team-slider__video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  background-color: #000;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  /* ring: 1px solid rgba(31, 41, 55, 0.1); */
  margin-bottom: 1.5rem;
  animation: zoomIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: bottom right;
}

.k4-team-slider__video-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 110;
  width: 2rem;
  height: 2rem;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(12px);
  border: none;
  border-radius: 50%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.k4-team-slider__video-close:hover {
  background-color: rgba(0, 0, 0, 0.7);
  transform: scale(1.1);
}

.k4-team-slider__video-wrapper {
  width: 100%;
  height: 100%;
}

.k4-team-slider__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===============================================================
   Team-Slider Inline-Video (Mobile)
   =============================================================== */
.k4-team-slider__mobile-video-container {
  position: relative;
  width: 100%;
  max-height: 40vh;
  aspect-ratio: 9 / 16;
  background-color: #000;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
  /* ring: 1px solid rgba(31, 41, 55, 0.1); */
  margin: 0 auto 0.5rem;
  animation: zoomIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.k4-team-slider__mobile-video-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 110;
  width: 2rem;
  height: 2rem;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(12px);
  border: none;
  border-radius: 50%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.k4-team-slider__mobile-video-close:hover {
  background-color: rgba(0, 0, 0, 0.7);
  transform: scale(1.1);
}

.k4-team-slider__mobile-video-wrapper {
  width: 100%;
  height: 100%;
}

.k4-team-slider__mobile-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Zoom-In Animation */
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 768px) {
  .k4-team-slider__video-modal-close {
    top: -2.5rem;
    width: 2rem;
    height: 2rem;
  }

  .k4-team-slider__video-modal-close svg {
    width: 18px;
    height: 18px;
  }
}

/* ===============================================================
   TESTIMONIALS / KUNDENMEINUNGEN
   =============================================================== */

.k4-testimonials {
  padding-top: 0rem;
  padding-bottom: 6rem;
  overflow: hidden;
  position: relative;
  background-color: transparent;
}

/* Container */
.k4-testimonials>div {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0rem;
  padding-right: 0rem;
  width: 100%;
}

/* Main Grid */
.k4-testimonials>div>.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  width: 100%;
}

/* Links: Content-Bereich */
.k4-testimonials .flex.flex-col.justify-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.k4-testimonials .space-y-6>*+* {
  margin-top: 1.5rem;
}

/* Überschrift Container */
.k4-testimonials .overflow-hidden {
  overflow: hidden;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-top: -0.5rem;
}

/* Überschrift */
.k4-testimonials h2 {
  font-size: 2.5rem;
  font-family: var(--font-heading);
  font-weight: 900;
  color: #1F2937;
  line-height: 1.05;
  letter-spacing: -0.05em;
}

/* Einleitungstext */
.k4-testimonials .max-w-\[600px\] {
  max-width: 600px;
  font-size: 1.25rem;
  font-weight: 500;
  color: rgba(31, 41, 55, 0.8);
  line-height: 1.375;
}

/* Dot-Navigation */
.k4-testimonials-dots {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-top: 1rem;
}

.k4-testimonials-dot {
  height: 10px;
  width: 10px;
  border-radius: 9999px;
  background-color: rgba(31, 41, 55, 0.2);
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.k4-testimonials-dot:hover {
  background-color: rgba(31, 41, 55, 0.4);
}

.k4-testimonials-dot[data-active] {
  width: 40px;
  background-color: #E95F47;
}

/* Button */
.k4-testimonials .pt-6 {
  padding-top: 1.5rem;
}

.k4-testimonials a.relative {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid #E5E7EB;
  border-radius: 9999px;
  padding-left: 1.5rem;
  padding-right: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  transition: all 0.3s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  width: max-content;
  background-color: white;
  text-decoration: none;
}

.k4-testimonials a.relative:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  background-color: #F9FAFB;
}

.k4-testimonials a.relative span {
  position: relative;
  z-index: 10;
  font-weight: 700;
  font-size: 0.875rem;
  white-space: nowrap;
  color: #1F2937;
}

.k4-testimonials a.relative div {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  background-color: #E95F47;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: transform 0.3s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.k4-testimonials a.relative:hover div {
  transform: rotate(-45deg);
}

/* Cards Container */
.k4-testimonials-cards {
  position: relative;
  width: 100%;
  display: grid;
  align-items: stretch;
}

/* Einzelne Card */
.k4-testimonials-card {
  grid-column-start: 1;
  grid-row-start: 1;
  display: flex;
  flex-direction: column;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Card Inner */
.k4-testimonials-card>div {
  background-color: #F5EFE6;
  border: 1px solid rgba(31, 41, 55, 0.05);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-radius: 2.5rem;
  padding: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 20;
}

/* Sterne */
.k4-testimonials-card .mb-8.flex {
  margin-bottom: 2rem;
  display: flex;
  gap: 0.5rem;
}

.k4-testimonials-card .mb-8.flex svg {
  height: 1.25rem;
  width: 1.25rem;
  fill: #E95F47;
  color: #E95F47;
}

/* Quote-Text Container */
.k4-testimonials-card .relative.mb-8.flex-1 {
  position: relative;
  margin-bottom: 2rem;
  flex: 1;
}

/* Quote-Icon */
.k4-testimonials-card .relative.mb-8 svg.absolute {
  position: absolute;
  top: -1rem;
  left: -1rem;
  height: 3rem;
  width: 3rem;
  color: rgba(31, 41, 55, 0.05);
  transform: rotate(180deg);
}

/* Quote-Text */
.k4-testimonials-card .relative.mb-8 p {
  position: relative;
  z-index: 10;
  font-size: 17px;
  color: #1F2937;
  font-weight: 500;
  line-height: 1.625;
}

/* Horizontale Linie */
.k4-testimonials-card .shrink-0 {
  flex-shrink: 0;
  height: 1px;
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: rgba(31, 41, 55, 0.1);
}

/* Name + Position Container */
.k4-testimonials-card>div>div:last-child {
  margin-top: 0.5rem;
}

/* Name */
.k4-testimonials-card h3 {
  font-weight: 900;
  color: #1F2937;
  font-size: 1.125rem;
  margin-bottom: 0.25rem;
}

/* Position */
.k4-testimonials-card h3+p {
  font-size: 14px;
  font-weight: 700;
  color: rgba(31, 41, 55, 0.6);
}

/* Responsive: Medium */
@media (min-width: 768px) {
  .k4-testimonials {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .k4-testimonials>div>.grid {
    grid-template-columns: 1fr 1fr;
  }

  .k4-testimonials h2 {
    font-size: 4rem;
  }

  .k4-testimonials .max-w-\[600px\] {
    font-size: 1.5rem;
  }

  .k4-testimonials-card>div {
    padding: 3rem;
  }

  .k4-testimonials-card .relative.mb-8 p {
    font-size: 19px;
  }
}

/* Responsive: Large */
@media (min-width: 1024px) {
  .k4-testimonials>div>.grid {
    gap: 6rem;
  }

  .k4-testimonials h2 {
    font-size: 4.5rem;
  }
}

/* ===============================================================
   NEWS / ARTICLE CARDS (orientiert an k4-box--service)
   =============================================================== */

.mod_newslist {
  padding-left: 0;
  margin-top: 2rem;
}

/* Grid-Layout für News-Übersicht */
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(320px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  .news-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.article-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 2rem;
  border: 1px solid rgba(31, 41, 55, 0.1);
  background: #ffffff;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.article-card:hover {
  transform: translateY(-0.5rem);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

/* Bild-Container (oben) */
.article-image {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 2rem 2rem 0 0;
}

.article-image .image_container,
.image_container,
.content-image {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.article-image img {
  width: 100%;
  transition: transform 0.3s ease;
}

.article-card:hover .article-image img {
  transform: scale(1.05);
}

/* Kategorie-Badge (über dem Bild, unten links) */
.article-category {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  z-index: 10;
}

.article-category span {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--k4-coral);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Content-Bereich (wie k4-box__body) */
.article-content {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
  background: #ffffff;
}

/* Datum */
.article-date {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: rgba(31, 41, 55, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Titel */
.article-title {
  display: block;
  margin: 0 0 1rem;
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--k4-dark);
}

/* Teaser-Text */
.article-excerpt {
  display: block;
  flex: 1;
  margin: 0 0 1.5rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: rgba(31, 41, 55, 0.7);
}

/* Weiterlesen-Link mit Pfeil */
.read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(31, 41, 55, 0.1);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--k4-coral);
  transition: transform 0.3s ease, gap 0.3s ease;
}

.article-card:hover .read-more {
  transform: translateX(0.25rem);
  gap: 0.75rem;
}

.read-more svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.article-card:hover .read-more svg {
  transform: translateX(0.25rem);
}

/* Link-Wrapper (damit die ganze Karte klickbar ist) */
.article-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* ===============================================================
   PAGINATION (Seitenumbruch)
   =============================================================== */

.pagination.block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(31, 41, 55, 0.1);
}

.pagination.block p {
  display: inline-block;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(31, 41, 55, 0.7);
}

.pagination.block ul {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pagination.block li {
  margin: 0;
}

/* Pagination Links */
.pagination.block a,
.pagination.block strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* Normale Links */
.pagination.block a.link {
  color: var(--k4-dark);
  background: transparent;
  border: 1px solid rgba(31, 41, 55, 0.15);
}

.pagination.block a.link:hover {
  background: var(--k4-coral);
  color: #ffffff;
  border-color: var(--k4-coral);
  transform: translateY(-2px);
}

/* Aktive Seite */
.pagination.block strong.active {
  color: #ffffff;
  background: var(--k4-coral);
  border: 1px solid var(--k4-coral);
  cursor: default;
}

/* Vorwärts/Rückwärts/Ende/Anfang Links */
.pagination.block a.next,
.pagination.block a.previous,
.pagination.block a.last,
.pagination.block a.first {
  color: var(--k4-coral);
  background: transparent;
  border: 1px solid var(--k4-coral);
  padding: 0 1rem;
}

.pagination.block a.next:hover,
.pagination.block a.previous:hover,
.pagination.block a.last:hover,
.pagination.block a.first:hover {
  background: var(--k4-coral);
  color: #ffffff;
  transform: translateY(-2px);
}

/* Mobile Anpassung */
@media (max-width: 768px) {
  .pagination.block {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }

  .pagination.block ul {
    width: 100%;
    justify-content: center;
  }

  .pagination.block a,
  .pagination.block strong {
    min-width: 2.25rem;
    height: 2.25rem;
    font-size: 0.875rem;
  }

  .pagination.block a.next,
  .pagination.block a.previous,
  .pagination.block a.last,
  .pagination.block a.first {
    padding: 0 0.75rem;
  }
}

/* =============================================================================
   K4 3D-KARUSSELL
   ============================================================================= */

.k4-carousel-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  padding: 0;
}

@media (min-width: 768px) {
  .k4-carousel-wrapper {
    padding: 6rem 0 10rem;
  }
}

.k4-carousel__header {
  position: relative;
  z-index: 25;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1rem;
  max-width: 64rem;
  margin: 0 auto 3rem;
}

.k4-carousel__headline {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--k4-dark);
  margin: 0 0 1.5rem;
}

@media (min-width: 640px) {
  .k4-carousel__headline {
    font-size: 3.75rem;
  }
}

@media (min-width: 768px) {
  .k4-carousel__headline {
    font-size: 4.5rem;
  }
}

.k4-carousel__text {
  color: #6b7280;
  font-size: 1.125rem;
  line-height: 1.75;
  max-width: 42rem;
}

@media (min-width: 768px) {
  .k4-carousel__text {
    font-size: 1.25rem;
  }
}

/* Karussell Container */
.k4-carousel {
  position: relative;
  z-index: 20;
  width: 100%;
  max-width: 1600px;
  height: 300px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

@media (min-width: 640px) {
  .k4-carousel {
    height: 400px;
  }
}

@media (min-width: 768px) {
  .k4-carousel {
    height: 500px;
  }
}

/* Viewport mit Perspective und Mask */
.k4-carousel__viewport {
  position: relative;
  width: 100%;
  height: 100%;
  perspective: 1200px;
  -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

/* Track (rotierender Container) */
.k4-carousel__track {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-style: preserve-3d;
  animation: k4-carousel-rotate 30s linear infinite;
}

@keyframes k4-carousel-rotate {
  from {
    transform: rotateY(0deg);
  }

  to {
    transform: rotateY(360deg);
  }
}

/* Item Positionierung */
.k4-carousel__item {
  position: absolute;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Card Design */
.k4-carousel__card {
  width: 200px;
  aspect-ratio: 3 / 4;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(0, 0, 0, 0.05);
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

@media (min-width: 640px) {
  .k4-carousel__card {
    width: 200px;
  }
}

@media (min-width: 768px) {
  .k4-carousel__card {
    width: 240px;
    border-radius: 1.5rem;
  }
}

/* Bilder im Card */
.k4-carousel__card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ========================================
   K4 Footer Contact Section
   ======================================== */

/* Wave Separator Container */
.k4-footer-wave-container {
  width: 100%;
  position: relative;
  margin-bottom: -2px;
  /* padding-top: 130px; */
  /* Verhindert Lücke zwischen Wave und Footer-Content */
}

.k4-footer-wave-separator {
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: translateY(2px);
}

.k4-footer-wave-svg {
  display: block;
  width: 100%;
  height: 60px;
  color: white;
  fill: currentColor;
}

@media (min-width: 768px) {
  .k4-footer-wave-svg {
    height: 100px;
  }
}

/* Mobile: Wave-Container ausblenden */
@media (max-width: 767px) {
  .k4-footer-wave-container {
    display: none;
  }
}

/* Footer Content Area */
footer {
  padding-top: 10px;
  background-color: #fff;
}

/* Mobile: Obere Linie statt Wave */
@media (max-width: 767px) {
  footer {
    border-top: 2px solid #F3F4F6;
    padding-top: 40px;
  }
}

footer h2,
footer h3 {
  text-transform: uppercase;
  letter-spacing: -0.75px;
  font-size: 1.875rem;
  margin: 0rem;
}

footer h3 {
  font-size: .875rem;
  margin-bottom: 1rem;
}

.k4-footer-content {
  width: 100%;
  background-color: white;
  padding: 1rem 1.5rem 1.5rem;
  color: var(--k4-dark);
  position: relative;
  z-index: 10;
}

@media (min-width: 640px) {
  .k4-footer-content {
    padding: 1rem 2rem 2rem;
  }
}

@media (min-width: 768px) {
  .k4-footer-content {
    padding: 1rem 3rem 3rem;
  }
}

/* Header Section */
.k4-footer-header {
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 2.5rem;
}

@media (min-width: 768px) {
  .k4-footer-header {
    margin-bottom: 3.5rem;
  }
}

.k4-footer-heading {
  font-size: 1.5rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.025em;
  color: var(--k4-dark);
  margin-bottom: 0.75rem;
  font-family: "Playfair Display", serif;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .k4-footer-heading {
    font-size: 1.875rem;
  }
}

.k4-footer-subheading {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--k4-coral);
}

/* Grid Layout */
.k4-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 640px) {
  .k4-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .k4-footer-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
}

/* Column Styling */
.k4-footer-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.k4-footer-column-title {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--k4-dark);
  margin-bottom: 1rem;
}

/* Contact Info */
.k4-footer-contact-info p,
.k4-footer-contact-info ul {
  font-size: 0.9125rem;
  font-weight: 500;
  color: #6B7280;
  list-style: none;
  padding-left: 0;
  padding-right: 4rem;
  line-height: 1.5rem;
}

.k4-footer-contact-info ul li a {
  color: #6B7280;
}

.k4-footer-contact-info ul li a:hover {
  color: var(--k4-coral);
}

.k4-footer-contact-info p.phone {
  font-weight: 700;
  color: var(--k4-dark);
}

/* Partner Logos Grid */
.k4-footer-partner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
  max-width: 280px;
}

.k4-footer-partner-item {
  background-color: #F9FAFB;
  padding: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  border: 1px solid #F3F4F6;
}

.k4-footer-partner-logo {
  object-fit: contain;
  filter: grayscale(100%);
}

.k4-footer-partner-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  text-align: center;
}

.k4-footer-partner-text .name {
  font-size: 0.625rem;
  /* 10px */
  font-weight: 900;
  color: var(--k4-dark);
  line-height: 1.2;
}

.k4-footer-partner-text .subtitle {
  font-size: 0.4375rem;
  /* 7px */
  color: #6B7280;
  /* gray-500 */
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Links List */
.k4-footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #6B7280;
  list-style: none;
  padding: 0;
  margin: 0;
}

.k4-footer-links li.active {
  color: var(--k4-dark);
}

.k4-footer-links li:hover {
  color: var(--k4-coral);
  cursor: pointer;
  transition: color 0.2s ease;
}

/* Newsletter Box */
.k4-footer-newsletter {
  background-color: #F9FAFB;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid #F3F4F6;
  margin-top: 2rem;
}

.k4-footer-newsletter-heading {
  font-size: 0.75rem;
  font-weight: 900;
  color: var(--k4-dark);
  margin-bottom: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.k4-footer-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.k4-footer-newsletter form#mauticform_formularnlanmeldungallebeitrage input {
  width: 100%;
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  background-color: var(--k4-cream);
  border: 2px solid #E5E7EB;
  color: var(--k4-dark);
  border-radius: 0.75rem;
  font-weight: 500;
  outline: none;
  transition: border-color 0.2s ease;
}

.k4-footer-newsletter-input::placeholder {
  color: #9CA3AF;
}

.k4-footer-newsletter-input:focus {
  border-color: var(--k4-coral);
}

.mauticform_wrapper {
  max-width: inherit !important;
  margin: 0 !important;
}

.k4-footer-newsletter .mauticform-button {
  width: 100%;
  font-size: 0.875rem;
  font-weight: 900;
  color: var(--k4-cream);
  background-color: var(--k4-coral);
  padding: 0.75rem 1rem;
  text-align: center;
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.k4-footer-newsletter .mauticform-button:hover {
  background-color: #d54f37;
}

/* Bottom Info */
.k4-footer-bottom {
  padding: 1.5rem 0;
  border-top: 2px solid #F3F4F6;
  text-align: center;
  font-size: 0.6875rem;
  /* 11px */
  font-weight: 700;
  color: #9CA3AF;
  /* gray-400 */
  text-transform: uppercase;
  letter-spacing: 0.15em;
  /* tracking-widest */
}

.k4-footer-bottom p {
  font-size: 0.6875rem;
  /* 11px */
  font-weight: 700;
  color: #9CA3AF;
  /* gray-400 */
  text-transform: uppercase;
  letter-spacing: 0.15em;
  /* tracking-widest */
}

/* ===============================================================
   Contact Form (Contao-kompatibel)
   =============================================================== */
.k4-contact-form {
  background-color: white;
  border-radius: 2rem;
  padding: 1.5rem;
  border: 1px solid #F3F4F6;
}

@media (min-width: 640px) {
  .k4-contact-form {
    padding: 2rem;
  }
}

@media (min-width: 768px) {
  .k4-contact-form {
    padding: 2.5rem;
  }
}

.k4-contact-form .formbody {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Contao Widgets */
.k4-contact-form .widget {
  margin-bottom: 0;
}

/* Labels */
.k4-contact-form label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--k4-navy);
  margin-bottom: 0.5rem;
}

.k4-contact-form label .invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.k4-contact-form label .mandatory {
  color: var(--k4-coral);
}

/* Text Inputs & Textarea */
.k4-contact-form .text,
.k4-contact-form .textarea {
  width: 100%;
  font-size: 0.875rem;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  border: 1px solid #E5E7EB;
  background-color: #F9FAFB;
  color: var(--k4-navy);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease;
  font-family: inherit;
}

.k4-contact-form .text::placeholder,
.k4-contact-form .textarea::placeholder {
  color: #6B7280;
}

.k4-contact-form .text:focus,
.k4-contact-form .textarea:focus {
  outline: none;
  border-color: var(--k4-coral);
  background-color: white;
  box-shadow: 0 0 0 3px rgba(233, 95, 71, 0.1);
}

.k4-contact-form .textarea {
  resize: none;
}

/* Checkbox (DSGVO) */
.k4-contact-form .widget-checkbox legend {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--k4-navy);
  margin-bottom: 0.75rem;
}

.k4-contact-form .widget-checkbox legend .invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.k4-contact-form .widget-checkbox legend .mandatory {
  color: var(--k4-coral);
}

.k4-contact-form .checkbox_container {
  border: none;
  padding: 0;
  margin: 0;
}

.k4-contact-form .checkbox_container>span {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.k4-contact-form .checkbox {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--k4-coral);
  border: 1px solid #D1D5DB;
  background-color: white;
  border-radius: 0.25rem;
  cursor: pointer;
  accent-color: var(--k4-coral);
  margin: 0;
  flex-shrink: 0;
}

.k4-contact-form .checkbox:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(233, 95, 71, 0.1);
}

.k4-contact-form .checkbox_container label {
  font-size: 0.875rem;
  font-weight: 400;
  color: #374151;
  cursor: pointer;
  margin: 0;
}

.k4-contact-form .checkbox_container label a {
  color: var(--k4-coral);
  text-decoration: none;
}

.k4-contact-form .checkbox_container label a:hover {
  text-decoration: underline;
}

/* Captcha (ausgeblendet) */
.k4-contact-form .widget-captcha {
  display: none !important;
}

/* Submit Button */
.k4-contact-form .submit {
  width: 100%;
  margin-top: 1rem;
  background-color: var(--k4-coral);
  color: white;
  font-size: 1rem;
  font-weight: 600;
  padding: 1rem 1.5rem;
  border-radius: 0.75rem;
  border: none;
  cursor: pointer;
  text-align: center;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  text-transform: none;
}

.k4-contact-form .submit:hover {
  background-color: var(--k4-coral-dark);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.k4-contact-form .submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===============================================================
   NEWS & BLOG STYLING
   (Migriert aus news-blog.css)
   =============================================================== */

:root {
  /* Farben (aus __Original) */
  --k4-coral: #e95f47;
  /* Off-White */
  --off-white: whitesmoke;
  /* New Startseite Brand Colors */
  --color-primary: #E95F47;
  --color-arctic-powder: #FFFFFF;
  --color-mystic-mint: #D9E8E2;
  --color-forsythia: #FFC801;
  --color-deep-saffron: #FF9932;
  --color-nocturnal-expedition: #114C5A;
  --color-oceanic-noir: #172B36;

  /* Legacy Map (to keep components working) */
  --color-purple: #98A0AB;
  --color-dark: var(--color-oceanic-noir);
  --color-bg-light: #F3F4F6;
  --color-bg-beige: var(--color-mystic-mint);

  /* Additional forced colors */
  --color-slate-dark: var(--color-nocturnal-expedition);
  --color-gray-light: #999999;
  --color-black: var(--color-oceanic-noir);
  --color-blue-gray: #CFD8DC;
  --color-wheat: #F5DEB3;
  --color-blue-dark: #353D47;
  --color-brown-light: #DCCBBB;
  --color-peach: #E79E93;
  --color-peach-light: #EEA498;

  --font-sans: "Lato", sans-serif;
  --font-heading: "Playfair Display", serif;
  --transition-speed: 0.8s;

  --section-px: clamp(1.5rem, 4vw, 2rem);
}

p {
  margin-bottom: 1rem;
}

ul {
  list-style: disc;
  padding-left: 2rem;
}

p:last-child,
ul:last-child,
ol:last-child {
  margin-bottom: 0;
}

.image_container.float_above+.content-text {
  margin-top: 2em;
}

/* ==========================================================================
   K4 News/Blog Detail Enhancements
   Progress Bar, Lesezeit & Inhaltsverzeichnis (TOC)
   ========================================================================== */

/* --- Progress Bar (Sticky Header) --- */
.k4-sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: transparent;
  z-index: 1000;
  transform: translateY(-100%);
  transition: transform 0.4s ease-in-out;
}

.k4-sticky-header.is-visible {
  transform: translateY(0);
}

.k4-progress-bar {
  height: 100%;
  background-color: var(--k4-coral, #e95f47);
  width: 0%;
  transition: width 0.1s linear;
}

/* --- Lesezeit --- */
.k4-blog-read-time {
  color: var(--color-primary);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.k4-blog-read-time svg {
  flex-shrink: 0;
}

.layout_full {
  padding: 0 1rem;
  width: 100%;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--section-px);
  padding-right: var(--section-px);
}
@media (max-width: 767px) {
.layout_full {
    padding-left: 0;
    padding-right: 0;
}
}
.layout_full .image_container img {
  border-radius: 0.75rem;
}

.layout_full .k4-hero {
  padding: 0 2rem 2rem 2rem;
  min-height: auto;
}
@media (max-width: 767px) {
.layout_full .k4-hero {
    padding: 0;

}
.mehrinfoszumthema {
    padding: 0 1em;
}
}
.layout_full .content-text {
  margin-bottom: 6rem;
  margin-top: 6rem;
}

.layout_full .k4-row .content-text {
  margin-bottom: 2rem;
  margin-top: 2rem;
}

.layout_full section.ce_accordionSingle.content-text,
.layout_full section.ce_accordionStart {
  margin-bottom: .5rem;
  margin-top: .5rem;
}

.ce_accordion .accordion .content-text {
  margin: 0;
}

/* --- Tabellen (automatisch auf allen Tabellen in .layout_full) --- */
.layout_full table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  margin: 2rem 0;
  border: 1px solid #eaeaea;
  border-radius: 12px;
}

.layout_full table th,
.layout_full table td {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #eaeaea;
}

.layout_full table th {
  background: #fdfaf7;
  /* Soft beige for header */
  font-family: var(--font-heading, "Playfair Display", serif);
  font-weight: 700;
  font-size: 1.1rem;
  color: #1F2937;
  text-align: left;
}

.layout_full table td {
  color: #4B5563;
  font-family: var(--font-sans, "Lato", sans-serif);
  font-size: 1.05rem;
}

.layout_full table tr:last-child td {
  border-bottom: none;
}

.layout_full table tbody tr {
  transition: background 0.2s ease;
}

.layout_full table tbody tr:hover {
  background: #fdfaf7;
}

.layout_full table td strong {
  color: var(--color-primary, #e95f47);
  font-weight: 800;
}

/* Runde Ecken explizit auf Eck-Zellen */
.layout_full table thead tr:first-child th:first-child {
  border-top-left-radius: 12px;
}

.layout_full table thead tr:first-child th:last-child {
  border-top-right-radius: 12px;
}

.layout_full table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 12px;
}

.layout_full table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 12px;
}

/* --- Inhaltsverzeichnis (TOC) - Button & Overlay --- */

/* TOC Toggle Button (rechter Rand, fixed) */
.k4-toc-toggle {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: var(--color-primary);
  color: white;
  border: none;
  padding: 20px 10px;
  border-radius: 10px 0 0 10px;
  cursor: pointer;
  box-shadow: -2px 0 15px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  font-weight: 700;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transition: background 0.3s ease;
}

.k4-toc-toggle svg {
  flex-shrink: 0;
}

.k4-toc-toggle:hover {
  background-color: #c94c37;
  transform: translateY(-50%) scale(1.1);
}

/* Verstecken wenn kein Content */
.k4-toc-toggle.is-hidden {
  display: none;
}

/* TOC Overlay (Full-Screen) */
.k4-toc-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1001;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.k4-toc-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Backdrop (dunkler Hintergrund) */
.k4-toc-overlay__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
  cursor: pointer;
}

/* TOC Container (Slide-in von rechts) */
.k4-toc-container {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 400px;
  height: 100%;
  background-color: #ffffff;
  color: var(--color-oceanic-noir, #172B36);
  padding: 40px 30px;
  box-shadow: -5px 0 30px rgba(0, 0, 0, 0.15);
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.k4-toc-overlay.is-open .k4-toc-container {
  transform: translateX(0);
}

@media (max-width: 768px) {
  .k4-toc-container {
    max-width: 100%;
  }
}

/* TOC Header (Titel + Close Button) */
.k4-toc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--color-mystic-mint, #D9E8E2);
  padding-bottom: 10px;
}

.k4-toc-header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: var(--color-oceanic-noir, #172B36);
  font-family: var(--font-heading, "Playfair Display", serif);
}

.k4-toc-close {
  background: transparent;
  border: none;
  color: #999999;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
  position: absolute;
  right: 20px;
}

.k4-toc-close svg {
  flex-shrink: 0;
}

.k4-toc-close:hover {
  color: var(--color-primary, #E95F47);
}

/* TOC List */
.k4-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}


.k4-toc-list a {
  text-decoration: none;
  color: #4B5563;
  transition: all 0.3s ease;
  display: block;
  font-size: 1.1rem;
  line-height: 1.3;
  padding: 5px 10px;
  border-radius: 4px;
}

.k4-toc-list a:hover {
  background-color: #E5E7EB;
  color: var(--color-oceanic-noir, #172B36);
}

.k4-toc-list li.is-active a {
  background-color: var(--color-primary, #E95F47);
  color: #FFFFFF;
  font-weight: normal;
  border-left: none;
}

/* TOC Archive Links (zusätzliche Links basierend auf Archive) */
/* .k4-toc-archive-links {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid var(--color-mystic-mint, #D9E8E2);
} */

.k4-toc-archive-link {
  display: block;
  text-decoration: underline;
  /* color: var(--color-nocturnal-expedition, #114C5A); */
  transition: all 0.3s ease;
  font-size: 0.95rem;
  /* line-height: 1.6; */
  margin-bottom: 0.75rem;
  /* padding: 0.5rem 0; */
  font-weight: 600;
}

.k4-toc-archive-link:hover {
  color: var(--color-primary, #E95F47);
  padding-left: 5px;
}

/* Pfeil vor den Archive-Links */
/* .k4-toc-archive-link::before {
  content: '';
  margin-right: 0.5rem;
  opacity: 0.7;
  transition: opacity 0.3s ease;
} */

.k4-toc-archive-link:hover::before {
  opacity: 1;
}

/* ============================================
   CSS-KLASSEN REFERENZ (FLACHES CSS)
   ============================================
   Quelle: scss/base/_shared.scss
   Erstellt: 2026-09-02

   SCSS-Variablen aufgelöst:
   $newstyle_coral: #e95f47
   $newstyle_coral_light: #f39684 (20% heller)
   ============================================ */


/* 1. BLOG-CARD
   ============================================ */

.blog-card {
  background-color: #FFFFFF;
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 300ms;
}

.blog-card h2,
.blog-card h3 {
  margin-top: 0px !important;
  font-weight: 900;
}

.blog-card h2:not(:first-child),
.blog-card h3,
.blog-card h4,
.blog-card img {
  margin-top: 2rem !important;
}

.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}

/* Blockquote-Variante */
blockquote.blog-card {
  margin: 50px 0px 0px 0px !important;
}

blockquote.blog-card:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3C!--!Font Awesome Free v7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23e95f471f' d='M96 280C96 213.7 149.7 160 216 160L224 160C241.7 160 256 174.3 256 192C256 209.7 241.7 224 224 224L216 224C185.1 224 160 249.1 160 280L160 288L224 288C259.3 288 288 316.7 288 352L288 416C288 451.3 259.3 480 224 480L160 480C124.7 480 96 451.3 96 416L96 280zM352 280C352 213.7 405.7 160 472 160L480 160C497.7 160 512 174.3 512 192C512 209.7 497.7 224 480 224L472 224C441.1 224 416 249.1 416 280L416 288L480 288C515.3 288 544 316.7 544 352L544 416C544 451.3 515.3 480 480 480L416 480C380.7 480 352 451.3 352 416L352 280z'/%3E%3C/svg%3E");
  width: 100px;
  height: 100px;
  display: block;
  margin-left: 0;
  position: absolute;
  top: -20px;
}


/* 2. BORDER-DOTTED
   ============================================ */

.border-dotted {
  border: 2px dashed #e95f47;
  padding: 25px;
}

.border-dotted h2,
.border-dotted h3 {
  margin-top: 0px !important;
}


/* 3. SHADOW
   ============================================ */

.shadow {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}


/* 4. BG_IMPORTANT
   ============================================ */

.bg_important {
  background-color: #e95f47;
  color: #fff;
  padding: 25px;
}

.bg_important.opacity {
  background-color: #f39684;
  color: var(--color-text);
}


/* 5. BG_BEIGE
   ============================================ */

.bg_beige {
  background-color: #f5efe6;
  padding: 25px;
}

.bg_beige.opacity {
  background-color: #f5efe695;
}


/* 6. BG_OFF-WHITE
   ============================================ */

.bg_off-white {
  background-color: var(--off-white);
  padding: 25px;
}


/* 7. HOVER
   ============================================ */

.hover {
  transition: all 0.3s ease;
}

.hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}


/* 8. ICON
   ============================================ */

.icon::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 2em;
}

.h-icon::before {
  display: none;
}

/* H-ICON: Struktur <div class="h-icon fa-XXX"><h2>Text</h2></div> */
.h-icon h2 {
  display: flex;
  align-items: center;
  gap: 16px;
}

.h-icon h2::before {
  background: var(--color-mystic-mint);
  color: var(--color-nocturnal-expedition);
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

.text-center.h-icon h2 {
  display: block !important;
  text-align: center !important;
}

.text-center.h-icon h2::before {
  display: inline !important;
  padding: .8rem !important;
  margin-right: 1rem !important;
}

/* 9. BORDER-KLASSEN (BRD-LEFT, BRD-RIGHT, BRD-TOP, BRD-BOTTOM)
   ============================================ */

/* Gemeinsame Basis-Eigenschaften für alle .brd-* Klassen */

.brd-left,
.brd-right,
.brd-top,
.brd-bottom {
  padding: 15px;
  border-radius: 10px;
  transition: all 0.3s ease;
}


/* 9.1 BRD-LEFT */

.brd-left {
  border-left: 4px solid #e95f47;
}

.brd-left:hover {
  transform: translateX(10px);
}

/* Icon-Variante */
.brd-left.icon {
  padding-left: 80px;
  position: relative;
}

.brd-left.icon:before {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: #e95f47;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}


/* 9.2 BRD-RIGHT */

.brd-right {
  border-right: 4px solid #e95f47;
}

.brd-right:hover {
  transform: translateX(-10px);
}

/* Icon-Variante */
.brd-right.icon {
  padding-right: 80px;
  position: relative;
}

.brd-right.icon:before {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: #e95f47;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}


/* 9.3 BRD-TOP */

.brd-top {
  border-top: 4px solid #e95f47;
}

.brd-top:hover {
  transform: translateY(10px);
}

/* Icon-Variante */
.brd-top.icon {
  padding-top: 80px;
  position: relative;
}

.brd-top.icon:before {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5rem;
  color: #e95f47;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}


/* 9.4 BRD-BOTTOM */

.brd-bottom {
  border-bottom: 4px solid #e95f47;
}

.brd-bottom:hover {
  transform: translateY(-10px);
}

/* Icon-Variante */
.brd-bottom.icon {
  padding-bottom: 80px;
  position: relative;
}

.brd-bottom.icon:before {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5rem;
  color: #e95f47;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

/* ==========================================================================
   INFO CALLOUT (Editorial Style)
   ========================================================================== */
.k4-info-callout {
  background: transparent;
  border-left: none;
  padding: 1.5rem 0;
  box-shadow: none;
  margin: 3.5rem 0;
  position: relative;
  padding-left: 2.5rem;
}
@media (max-width: 767px) {
.k4-info-callout {
    padding-left: 1.5rem;
}
}
.k4-callout-bordered::before,
.k4-info-callout::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: var(--color-primary);
  border-radius: 8px;
}

.k4-info-callout-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 1.5rem;
}

.k4-info-callout-icon {
  background: var(--color-mystic-mint);
  color: var(--color-nocturnal-expedition);
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  box-shadow: none;
  flex-shrink: 0;
}

.k4-info-callout h2 {
  margin: 0 !important;
  font-size: 1.75rem !important;
  color: var(--color-nocturnal-expedition);
}

.k4-info-callout .rte p:last-child {
  margin-bottom: 0;
}

/* --- H-ICON: DIV mit Font Awesome Icon vor H2 --- */
/* Verhindert, dass der DIV selbst ein Icon bekommt (nur die H2 soll eins haben) */
/* .h-icon::before {
  display: none !important;
} */

/* .h-icon h2 {
  display: flex;
  align-items: center;
  gap: 16px;
} */

/* .h-icon h2::before {
  content: '';
  background: var(--color-mystic-mint);
  color: var(--color-nocturnal-expedition);
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
} */

/* ==========================================================================
   SUMMARY BOX (Editorial Style)
   ========================================================================== */
.k4-summary-box {
  background: var(--color-mystic-mint);
  border-left: none;
  border-radius: 16px;
  padding: 2.5rem 3rem;
  box-shadow: none;
  margin: 3.5rem 0;
}

.k4-summary-box-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(17, 76, 90, 0.1);
  padding-bottom: 1.5rem;
}

.k4-summary-box-icon {
  background: #ffffff;
  color: var(--color-nocturnal-expedition);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

.k4-summary-box h3 {
  margin: 0 !important;
  font-size: 1.5rem !important;
  color: #1F2937;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 2rem !important;
  border-bottom: 1px solid rgba(17, 76, 90, 0.1);
  padding-bottom: 1.5rem;
}

.k4-summary-box ul,
.blog-card ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 2rem 0 2rem 0 !important;
}

.k4-summary-box li,
.blog-card li {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 0.5rem;
  color: #4B5563;
  line-height: 1.6;
}

.k4-summary-box li::before,
.blog-card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(233, 95, 71, 0.15);
}

.k4-summary-box li:last-child,
.blog-card li:last-child {
  margin-bottom: 0;
}

.k4-summary-box strong,
.blog-card strong {
  color: #1F2937;
  font-weight: 800;
}

.k4-sources-list li::before {
  content: '→';
  color: var(--color-primary);
  font-weight: bold;
}

/* ==========================================================================
   RELATED READ BLOCK
   ========================================================================== */
.k4-related-read {
  background: linear-gradient(135deg, #1F2937 0%, #111827 100%);
  color: #ffffff;
  border-radius: 16px;
  padding: 3.5rem;
  margin: 4.5rem 0;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
  /* overflow: hidden; */
}

.k4-related-read::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(233, 95, 71, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.k4-related-read-label {
  font-family: var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.85rem;
  color: var(--color-primary);
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
}

.k4-related-read h2 {
  color: #ffffff !important;
  font-size: 2rem !important;
  margin: 0 !important;
  line-height: 1.2;
}

.k4-related-read p {
  font-size: 1.15rem;
  color: #D1D5DB;
  margin: 0;
  max-width: 90%;
  line-height: 1.6;
}

.k4-related-read a {
  color: var(--color-primary) !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.k4-related-read a:hover {
  color: #ffffff !important;
}

/* ==========================================================================
   FAZIT BOX
   ========================================================================== */
.k4-fazit-box {
  background: #fdfbf9;
  /* Soft, warm background */
  border: none;
  border-radius: 16px;
  padding: 3.5rem;
  margin: 4.5rem 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
  position: relative;
}
@media (max-width: 767px) {
.k4-fazit-box {

    padding: 1rem;
    }
    }
.k4-fazit-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background: var(--color-primary);
  border-radius: 8px;
}

.k4-fazit-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 2rem;
}

.k4-fazit-icon {
  background: var(--color-primary);
  color: #ffffff;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(233, 95, 71, 0.3);
}

.k4-fazit-header h3 {
  margin: 0 !important;
  font-size: 1.8rem !important;
  color: #1F2937;
  font-weight: 800;
}

.k4-fazit-box p {
  line-height: 1.7;
  color: #4B5563;
  margin-bottom: 1.5rem !important;
}

.k4-fazit-box p:last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   SHADCN PORT: CONTACT SECTION (2-Column Layout)
   ========================================================================== */
.k4-contact-section {
  width: 100%;
  margin: 5rem auto;
  padding: 3.5rem;
  background: linear-gradient(135deg, var(--color-nocturnal-expedition) 0%, var(--color-oceanic-noir) 100%);
  border-radius: 1.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
  color: #fff;
}
/* Mobile: weniger Padding */
@media (max-width: 768px) {
	.k4-contact-section {
  	padding: 1.5rem;
  }
}
.k4-contact-section::after {
  content: '';
  position: absolute;
  top: -30%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(233, 95, 71, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* #autor h2 {
  padding-left: 2rem;
} */

.layout_full #formular>a {
  display: inline-block;
  padding: 5px 0.5em;
  border: 1px solid var(--color-primary);
  border-radius: var(--k4-radius-xl);
  margin-bottom: 1em;
}

.img-absolute {
  position: relative;
  padding-bottom: 0px !important;
}

.img-absolute .k4-row {
  margin-bottom: 0;
  /* Mobil: kein margin-bottom */
}

@media (min-width: 768px) {
  .img-absolute .k4-row {
    margin-bottom: 2.5rem;
    /* Desktop: normaler margin-bottom */
  }
}

.img-absolute .content-image {
  position: relative;
  /* Mobil: relative/normaler Fluss */
}

@media (min-width: 768px) {
  .img-absolute .content-image {
    position: absolute;
    /* Desktop: absolute positioniert */
    z-index: 9;
    bottom: 0px;
  }
}

figcaption {
  font-size: var(--k4-text-xs);
  font-weight: 500;
  line-height: 1.4;
  color: #6a6a6a;
  margin: 0;
  min-height: 1.2rem;
  margin-top: 1rem;
}

/* ===============================================================
   Scroll-to-Top Button (Up-Button)
   =============================================================== */
.k4-scroll-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--k4-coral);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  box-shadow: var(--k4-shadow-lg);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color 0.2s ease;
}

.k4-scroll-top:hover {
  background-color: var(--k4-coral-dark);
  transform: translateY(0) scale(1.05);
}

.k4-scroll-top:active {
  transform: translateY(0) scale(0.95);
}

.k4-scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.k4-scroll-top svg {
  width: 1.5rem;
  height: 1.5rem;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

/* ===============================================================
   Accordion
   =============================================================== */
.ce_accordion {
  display: grid;
  align-self: start;
}

.ce_accordion .toggler {
  --card-padding: var(--toggler-padding);
  padding: var(--card-padding);
  border-radius: var(--accordion-border-radius);
  background-color: var(--k4-cream);
  font-weight: var(--toggler-font-weight);
  vertical-align: middle;
  -webkit-transition: border-radius 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: border-radius 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: border-radius 0.3s, box-shadow 0.3s, transform 0.3s;
  transition: border-radius 0.3s, box-shadow 0.3s, transform 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
}

.ce_accordion .toggler:hover {
  color: var(--k4-coral);
  cursor: pointer;
}

.ce_accordion .toggler:hover.ui-accordion-header-active {
  -webkit-transform: none;
  transform: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.ce_accordion .ui-accordion-header-active {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: none;
  background-color: var(--k4-tan);
  color: var(--k4-coral);
}

/* [1] define size for plus/cross */
.ce_accordion .ui-accordion-header-icon {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  display: inline-block;
}

.ce_accordion .ui-accordion-header-icon::before {
  content: '→';
}

.ce_accordion .ui-icon-triangle-1-s {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.ce_accordion .accordion {
  padding: var(--accordion-padding);
  border: var(--base-border);
  border-top: none;
}

.ce_accordion .content-text:last-child {
  margin-bottom: 0;
}

/* Respektiere reduzierte Bewegung */
@media (prefers-reduced-motion: reduce) {
  .k4-scroll-top {
    transition: opacity 0.1s ease, visibility 0.1s ease;
  }
}

/* Mobile: kleiner und weniger Abstand */
@media (max-width: 768px) {
  .k4-scroll-top {
    width: 3rem;
    height: 3rem;
    bottom: 1.5rem;
    right: 1.5rem;
    font-size: 1.25rem;
  }

  .k4-scroll-top svg {
    width: 1.25rem;
    height: 1.25rem;
  }
}

@media (max-width: 460px) {
  .k4-hero--startseite {
    padding-top: 0rem;
    padding-bottom: 0rem;
  }

  .k4-headline__line2 {
    left: 5rem;
  }

  .k4-process-wrapper {
    padding: 0;
  }

  .k4-process-image-wrapper {
    display: none;
  }

  .k4-process-step-headline {
    margin-top: 0;
  }
}


#chart_three,
#chart_three_a,
#chart_four,
#chart_four_a,
#chart_four_b,
#chart_four_c,
#chart_four_d,
#chart_four_e,
#chart_four_f,
#chart_seven,
#social_media_monat,
#social_media_woche,
#social_media_tag,
#messenger_monat,
#messenger_woche,
#messenger_tag,
#chart_fbads,
#historie_sm_woche,
#historie_sm_tag,
#historie_messenger_monat,
#historie_messenger_woche,
#historie_messenger_tag {
  height: 380px;
}

#sm_unternehmen,
#sm_unternehmen_deutschland,
#historie_sm_monatlich {
  height: 600px;
}

.k4_redaktionsplan #k4_statusdiv,
#k4_statusdiv,
.k4_redaktionsplan #cp_btn,
#cp_btn,
.k4_redaktionsplan .infocopy,
.infocopy,
.k4_redaktionsplan .token_info,
.token_info,
.k4_redaktionsplan .error,
.error,
.k4_redaktionsplan #token,
#token,
.k4_redaktionsplan #ki-stuff,
#ki-stuff,
.k4_redaktionsplan .rplan #toc_menu,
.k4_redaktionsplan .max_plan {
  display: none;
}

#k4_rp {
  padding: 1em;
  margin-top: 2em;
}

.k4_redaktionsplan {
  background: #dccbbb;
}

.k4_redaktionsplan h2,
.k4_redaktionsplan h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.k4_redaktionsplan .select2-container {
  width: 70% !important;
}

.k4_redaktionsplan .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 37px !important;
}

#copyplan,
#getplan {
  position: relative;
  -moz-appearance: none;
  -webkit-appearance: none;
  display: inline-block;
  padding: 1.07143em 1.42857em;
  border: 1px solid var(--k4-coral);
  border-radius: 10px;
  outline: none;
  font-size: 0.93333em;
  letter-spacing: 0.1em;
  line-height: 1.42929;
  color: var(--k4-coral);
  text-align: center;
  text-decoration: none;
  background: white;
  margin-top: 3rem;
}

#copyplan:hover,
#getplan:hover {
  background: var(--k4-coral);
  color: #fff;
  cursor: pointer;
}

.select2-container .select2-selection--single {
  height: 40px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 37px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 37px !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #e95f47 !important;
}


.select2-container--default .select2-selection--single {
  background-color: #fff !important;
  border: 1px solid #e95f47 !important;
  border-radius: 4px !important;
}


/* ===============================================================
   K4 Gallery Slider
   Image-Slider mit Prev/Next-Navigation
   =============================================================== */

.k4-gallery-slider {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}

.k4-gallery-slider__container {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: var(--k4-darkgray);
}

.k4-gallery-slider__track {
  position: relative;
  width: 100%;
  height: 100%;
}

.k4-gallery-slider__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

.k4-gallery-slider__slide.active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.k4-gallery-slider__image {
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.k4-gallery-slider__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.k4-gallery-slider__image a {
  display: block;
  width: 100%;
}

.k4-gallery-slider__caption {
  padding: 1.5rem 2rem;
  background: var(--k4-coral);
  text-align: center;
  line-height: 1.6;
  color: var(--k4-white);
  border-radius: 0 0 10px 10px;
}

/* Navigation Controls */
.k4-gallery-slider__controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  padding: 0 1rem;
  pointer-events: none;
  z-index: 10;
}

.k4-gallery-slider__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: all;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.k4-gallery-slider__btn:hover {
  background: var(--k4-coral);
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(233, 95, 71, 0.3);
}

.k4-gallery-slider__btn:hover svg {
  color: white;
}

.k4-gallery-slider__btn svg {
  color: var(--k4-coral);
  transition: color 0.3s ease;
}

.k4-gallery-slider__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

/* Indicator Dots */
.k4-gallery-slider__indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding: 0.5rem;
}

.k4-gallery-slider__indicator {
  width: 12px;
  height: 12px;
  background: #d1d5db;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.k4-gallery-slider__indicator:hover {
  background: #9ca3af;
  transform: scale(1.2);
}

.k4-gallery-slider__indicator.active {
  background: var(--k4-coral);
  width: 32px;
  border-radius: 6px;
}

/* Responsive */
@media (max-width: 768px) {
  .k4-gallery-slider__controls {
    padding: 0 0.5rem;
  }

  .k4-gallery-slider__btn {
    width: 40px;
    height: 40px;
  }

  .k4-gallery-slider__btn svg {
    width: 20px;
    height: 20px;
  }

  .k4-gallery-slider__caption {
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
  }

  .k4-gallery-slider__indicators {
    gap: 0.5rem;
    margin-top: 1rem;
  }

  .k4-gallery-slider__indicator {
    width: 10px;
    height: 10px;
  }

  .k4-gallery-slider__indicator.active {
    width: 24px;
  }
}
/* =====================================================================
   KONTOR4 – Case-Study-Seiten, gemeinsames Stylesheet
   ---------------------------------------------------------------------
   Eine Datei fuer ALLE Referenzseiten (metpro, numatic, paedagogia,
   mundwerk, ...). Vorher trug jede Seite ihre eigene Kopie im
   <style>-Block; dabei sind die Staende auseinandergelaufen.

   Einbinden: Contao-Layout -> Externes Stylesheet, oder im Seitenlayout
   als <link>. Das HTML jeder Case-Seite enthaelt dann nur noch Markup,
   keinen <style>-Block mehr.

   Alle Selektoren sind auf .k4-case gescoped. Der aeussere Wrapper jeder
   Seite muss also <div class="k4-case"> ... </div> sein. Damit kann
   nichts mit dem Theme-CSS kollidieren – Namen wie .content, .grid,
   .btn oder .author waeren sonst hochgradig kollisionsanfaellig.

   Abschnitte sind additiv: jede Seite nutzt nur die Bloecke, die sie
   braucht (.approach, .closing, .features, .slider, .shots, ...).

   Werte, die zwischen den alten Kopien abwichen, sind hier auf den
   Stand von src/pages/CaseStudyPage.tsx gebracht:
     .hero h1      font-size       clamp(3rem, 9vw, 8rem)   (text-5xl .. xl:text-[8rem])
     .hero > img   object-position top                      (object-top)
     .block .text  gap             40px                     (gap-10)
   Die uebrigen Abweichungen (.task-list, .text-link, .cta) hatten kein
   Pendant in React und sind auf den jeweils spaeteren Stand gesetzt.
   ===================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Playfair+Display:wght@400..900&display=swap");

body {
  margin: 0;
  background: #FBF9F5;
  /* entspricht --page */
}

.mod_article:not([class*="k4-article--pad-"]) {
  padding: 0 !important;
}

.k4-case {
  --primary: #e95f47;
  --primary-icon: #EB6C56;
  --ink: #1F2937;
  --muted: #6b7280;
  /* Seitenhintergrund der Standalone-Vorschau. In Contao setzt das
       Layout den Hintergrund – deshalb hier nur als Token, nicht als
       background auf .k4-case. */
  --page: #FBF9F5;
  --navy: #0b1f38;
  --navy-hover: #152c48;
  --font-sans: "Lato", sans-serif;
  --font-heading: "Playfair Display", serif;
}

/* Pflicht, nicht Kosmetik: .content hat width:100% PLUS 48px Padding
     links und rechts. Ohne border-box laeuft der ganze Inhaltsbereich
     96px ueber den Viewport hinaus – Text wird rechts abgeschnitten und
     die Seite scrollt horizontal. Die Standalone-Dateien hatten die
     Regel global (*, *::before, *::after); hier ist sie auf .k4-case
     gescoped, damit sie das Theme-CSS nicht beeinflusst. */
.k4-case,
.k4-case *,
.k4-case *::before,
.k4-case *::after {
  box-sizing: border-box;
}

.k4-case {
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  padding-bottom: 130px;
}

.k4-case h1,
.k4-case h2,
.k4-case h3,
.k4-case h4 {
  font-family: var(--font-heading);
  margin: 0;
}

.k4-case p {
  margin: 0;
}

.k4-case img {
  display: block;
}

/* Mobile Formatierungen */
@media (max-width: 767px) {

  /* Hero: kompaktere Höhe */
  .k4-case .hero {
    height: 50vh;
  }

  /* Bilder in .hero-inner ausblenden */
  .k4-case .hero-inner img {
    display: none;
  }

  /* Hero-Hintergrundbild dezenter */
  .k4-case .hero>picture {
    opacity: .3 !important;
  }

  /* Hero-Überschrift: kompakterer Abstand */
  .k4-case .hero h1 {
    margin-bottom: 26px !important;
  }

  /* Andere Bilder speziell formatieren */
  .k4-case img {
    display: block;
    height: 100%;
    width: auto;
    object-fit: cover;
  }
}

.k4-case ::selection {
  background: var(--primary-icon);
  color: #fff;
}

.k4-case a {
  color: inherit;
}

/* ---------------------------- Header ---------------------------- */
.k4-case .back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  transition: color .25s ease;
}

.k4-case .back-link:hover {
  color: var(--primary);
}

/* ----------------------------- Hero ----------------------------- */
.k4-case .hero {
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 500px;
  overflow: hidden;
  background: var(--navy);
  border-radius: 0 0 3rem 3rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.10);
}

.k4-case .hero>img,
.k4-case .hero>picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  opacity: .7;
}

.k4-case .hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .2) 55%, transparent 100%);
}

.k4-case .hero-inner {
  position: relative;
  z-index: 10;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 24px 64px;
  max-width: 1600px;
  margin: 0 auto;
  color: #fff;
}

/* Das Logo besteht ueberwiegend aus fast schwarzen Pfaden (#181716) und nur
   zu einem kleinen Teil aus Rot (#d9260f) – auf dem dunklen Hero verschwaende
   der Schriftzug also fast komplett. Deshalb wie bei MetPro auf Weiss
   gedreht. Das Rot geht dabei verloren; sobald eine Negativ-Version des
   Logos vorliegt, hier die filter-Zeile entfernen und die Datei tauschen. */
.k4-case .hero-logo {
  align-self: flex-start;
  height: 34px;
  width: auto;
  margin-bottom: 20px;
  filter: brightness(0) invert(1);
  opacity: .9;
}

.k4-case .hero h1 {
  font-size: clamp(2rem, 2rem, 8rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 96px;
  margin-top: 50px;
  max-width: 72rem;
  color: #fff;
}

.k4-case .hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 32px 48px;
  border-top: 1px solid rgba(255, 255, 255, .3);
  padding-top: 24px;
}

.k4-case .hero-meta dl {
  margin: 0;
}

.k4-case .hero-meta dt {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 6px;
}

.k4-case .hero-meta dd {
  margin: 0;
  font-size: 15px;
}

/* --------------------------- Content ---------------------------- */
.k4-case .content {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 96px 24px;
  display: flex;
  flex-direction: column;
  gap: 128px;
}

.k4-case .intro {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.k4-case .intro h2 {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.k4-case .intro .body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  color: #4b5563;
}

.k4-case .intro p {
  font-size: 1.125rem;
  line-height: 1.7;
}

.k4-case section.block {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
}

.k4-case section.block .icon-col {
  display: flex;
}

.k4-case .icon-tile {
  width: 56px;
  height: 56px;
  border-radius: 1rem;
  background: rgba(235, 108, 86, .1);
  color: var(--primary-icon);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .04);
  flex: none;
}

.k4-case .icon-tile svg {
  width: 28px;
  height: 28px;
}

.k4-case section.block h3 {
  font-size: 1.875rem;
  font-weight: 900;
}

.k4-case section.block .text {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.k4-case .task-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.k4-case .task-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.55;
}

.k4-case .task-list li::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 9px;
  border-radius: 999px;
  background: var(--primary);
}

.k4-case .text-link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--primary);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color .25s ease;
}

.k4-case .text-link:hover {
  border-color: var(--primary);
}

.k4-case .shop-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
}

/* Kennzahlen */
.k4-case .facts {
  display: flex;
  flex-wrap: wrap;
  gap: 64px;
}

.k4-case .fact-value {
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 900;
  color: var(--primary);
  line-height: 1;
}

.k4-case .fact-label {
  display: block;
  margin-top: 8px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink);
}

/* ------------------- Karten-Raster (Bausteine / Maerkte) --------- */
.k4-case .cards-section {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.k4-case .cards-section>header {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.k4-case .cards-section h3 {
  font-size: 1.875rem;
  font-weight: 900;
}

.k4-case .cards-section header p {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 46rem;
}

.k4-case .cards-section ol,
.k4-case .cards-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.k4-case .cards-section li {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .07);
  border-radius: 1.5rem;
  padding: 28px;
}

.k4-case .cards-section .step-num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--primary);
  line-height: 1;
}

.k4-case .cards-section .domain {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--primary);
}

.k4-case .cards-section h4 {
  font-size: 1.25rem;
  font-weight: 900;
}

.k4-case .cards-section li p {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--muted);
}

.k4-case .cards-section li p.solid {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink);
}

/* Leistungs-Uebersicht */
.k4-case .services h3 {
  font-size: 1.875rem;
  font-weight: 900;
  margin-bottom: 40px;
}

.k4-case .services ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.k4-case .services li {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 20px 0;
  border-top: 1px solid rgba(0, 0, 0, .08);
  font-size: 1.0625rem;
  line-height: 1.6;
}

.k4-case .services li:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.k4-case .services .num {
  font-family: var(--font-heading);
  font-weight: 900;
  color: var(--primary);
  font-size: .875rem;
  padding-top: 4px;
  flex: none;
  min-width: 28px;
}

/* ---------------------------- Bilder ---------------------------- */
.k4-case .band {
  width: 100%;
  aspect-ratio: 21 / 7;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.k4-case .band img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.k4-case .grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.k4-case .grid figure {
  margin: 0;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.k4-case .grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.k4-case .grid .tall {
  aspect-ratio: 4 / 4;
}

.k4-case .grid .wide {
  aspect-ratio: 5 / 4;
}

.k4-case .grid .bw img {
  filter: grayscale(1);
}


/* ---------------------------- Fazit ----------------------------- */
.k4-case .finale {
  max-width: 1600px;
  margin: 0 auto;
  padding: 128px 24px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 28px;
}

.k4-case .finale .eyebrow {
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .875rem;
  font-weight: 700;
  color: var(--primary);
}

.k4-case .finale p {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 500;
  line-height: 1.45;
  max-width: 52rem;
}

/* --------------------------- CTA -------------------------------- */
.k4-case .cta {
  max-width: 1600px;
  margin: 0 auto;
  padding: 96px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 28px;
}

.k4-case .cta h3 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
}

.k4-case .cta p {
  color: var(--muted);
  font-size: 1.125rem;
}

.k4-case .btn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  width: max-content;
  max-width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 8px 8px 24px;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.k4-case .btn:hover {
  background: #f9fafb;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);
}

.k4-case .btn .label {
  position: relative;
  z-index: 10;
  font-size: .875rem;
  font-weight: 700;
  color: var(--ink);
  white-space: nowrap;
}

.k4-case .btn .disc {
  position: relative;
  z-index: 10;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  transition: transform .3s ease;
}

.k4-case .btn:hover .disc {
  transform: rotate(-45deg);
}

.k4-case .btn-accent {
  background: var(--navy);
  border-color: var(--navy);
}

.k4-case .btn-accent:hover {
  background: var(--navy-hover);
  border-color: var(--navy-hover);
}

.k4-case .btn-accent .label {
  color: #F5EFE6;
}

/* text-[#F5EFE6] wie in ui/button.tsx */
.k4-case .btn-accent .disc {
  background: #fff;
  color: var(--navy);
}

/* Shine-Lauf, Keyframes wie in src/index.css der Startseite. */
.k4-case .btn-accent .shine {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  background: linear-gradient(to right, transparent, rgba(235, 108, 86, .6), transparent);
  animation: shine 3.5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes shine {
  0% {
    transform: translateX(-150%) skewX(-15deg);
    opacity: 0;
  }

  5% {
    opacity: .8;
  }

  40% {
    transform: translateX(250%) skewX(-15deg);
    opacity: 0;
  }

  100% {
    transform: translateX(250%) skewX(-15deg);
    opacity: 0;
  }
}

.k4-case .btn-outline {
  background: transparent;
  border: 2px solid var(--primary);
  box-shadow: none;
}

.k4-case .btn-outline:hover {
  background: rgba(233, 95, 71, .07);
  box-shadow: none;
}

.k4-case .btn-outline .label {
  color: var(--primary);
}

/* Ein ganzer Satz als Label – hier darf umbrochen werden. */
.k4-case .btn-wrap {
  width: 100%;
  max-width: 40rem;
}

.k4-case .btn-wrap .label {
  white-space: normal;
  line-height: 1.45;
}

/* Hero: auf Mobil eigene volle Zeile, sonst quetscht sich der Button
   neben die schmale #JAHR-Spalte. */
.k4-case .hero-meta .btn {
  flex: 0 0 100%;
  justify-content: center;
}

/* ------------------- Funktionen im Detail -----------------------
   Vier Unterabschnitte des Kundenbereichs. Haarlinien-Zeilen statt
   vier weiterer Icon-Bloecke – sonst wiederholt sich die Icon-Kachel
   auf einer Seite sechsmal.
------------------------------------------------------------------ */
.k4-case .features {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.k4-case .features>header {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.k4-case .features h3 {
  font-size: 1.875rem;
  font-weight: 900;
}

.k4-case .features>header p {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 46rem;
}

.k4-case .features .feature {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 36px 0;
  border-top: 1px solid rgba(0, 0, 0, .08);
}

.k4-case .features .feature:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.k4-case .features .feature-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.k4-case .features .feature-num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: .875rem;
  color: var(--primary);
  flex: none;
  min-width: 28px;
  padding-top: 6px;
}

.k4-case .features h4 {
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1.25;
}

.k4-case .features .feature-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--muted);
  font-size: 1.0625rem;
  line-height: 1.7;
}

/* --------------------- Video und Screenshots ---------------------
   Echtes Kundenmaterial aus der Contao-Dateiverwaltung, eingebunden
   ueber {{file::UUID}} bzw. {{figure::UUID}}. Das Intro-Video ist
   ~29 MB, deshalb preload="metadata" – geladen wird es erst beim Klick.
------------------------------------------------------------------ */
.k4-case .video-block {
  width: 100%;
  border-radius: 2rem;
  overflow: hidden;
  background: var(--navy);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}

.k4-case .video-block video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--navy);
}

/* Bild-Slider – auf der Quellseite laufen die Screenshots je Funktion als
   Slideshow. Umgesetzt mit scroll-snap: das Wischen macht der Browser,
   JS steuert nur Pfeile, Punkte und den Deaktiviert-Zustand. */
.k4-case .slider {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.k4-case .slider-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.k4-case .slider-track::-webkit-scrollbar {
  display: none;
}

.k4-case .slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Kein aspect-ratio, kein object-fit: Screenshots behalten ihr
     natuerliches Seitenverhaeltnis. Feste Kaesten haben hier real Inhalt
     gekostet – die schmalen Tabellenaufnahmen (1000x254, 1000x337) verloren
     in einer 16:10-Box beide Raender samt Spaltenkoepfen. Unterschiedlich
     hohe Bilder sind das kleinere Uebel; im Slider gleicht
     justify-content: center den Hoehenunterschied optisch aus. */
.k4-case .slide img,
.k4-case .shots img {
  width: 100%;
  height: auto;
  border-radius: .875rem;
  border: 1px solid rgba(0, 0, 0, .08);
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

/* Contao verpackt das <img> auch bei template=image in ein eigenes
     <figure>. Das darf die Breite nicht mitbestimmen, sonst erbt es
     Breitenregeln, die fuer die aeussere Figur gedacht sind, und das
     Bild wird nur halb so gross. */
.k4-case .slide figure,
.k4-case .shots>figure figure {
  margin: 0;
  width: 100%;
}

/* Der Track ist so hoch wie die hoechste Aufnahme. Ohne Beschnitt sind
     die Slides unterschiedlich hoch – die kuerzeren sitzen dann mittig
     statt oben, damit der Leerraum oben und unten gleich verteilt ist
     und nicht als Loch unter dem Bild haengt. */
.k4-case .slide {
  justify-content: center;
}

/* Screenshot ueber dem Kartentext (numatic: die vier Laender-Shops).
     Einheitliches 3:4 fuer eine ruhige Zeile – die Quellbilder liegen bei
     0,72 bis 0,77, der Beschnitt ist damit vernachlaessigbar. Ohne feste
     Ratio waeren die Karten unterschiedlich hoch. */
.k4-case .cards-section li img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: top center;
  border-radius: .75rem;
  border: 1px solid rgba(0, 0, 0, .08);
  background: #fff;
}


.k4-case .slide figcaption {
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--muted);
}

.k4-case .slider-nav {
  display: flex;
  align-items: center;
  gap: 16px;
}

.k4-case .slider-btn {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  cursor: pointer;
  transition: background-color .25s ease, color .25s ease, opacity .25s ease;
}

.k4-case .slider-btn:hover:not(:disabled) {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.k4-case .slider-btn:disabled {
  opacity: .35;
  cursor: default;
}

.k4-case .slider-dots {
  display: flex;
  gap: 8px;
  margin-left: 4px;
}

.k4-case .slider-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(31, 41, 55, .22);
  cursor: pointer;
  transition: background-color .25s ease, width .25s ease;
}

.k4-case .slider-dot[aria-current="true"] {
  background: var(--primary);
  width: 22px;
}

.k4-case .slider-count {
  margin-left: auto;
  font-size: .8125rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

/* Zwei Screenshots ohne Slider – nur bei Funktion 01. Gleiche Bildoptik
   wie .slide, aber ohne Track, ohne scroll-snap und ohne Navigation. */
.k4-case .shots {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Nur die direkten Kinder – nicht Contaos inneres <figure>. */
.k4-case .shots>figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Bildoptik und Formate kommen von den .slide-img-Regeln weiter oben,
     die .shots mit abdecken. */
.k4-case .shots figcaption {
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--muted);
}


/* Autorenbox – steht so am Fuss jeder Referenzseite auf kontor4.de. */
.k4-case .author {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px 96px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.k4-case .author img {
  width: 96px;
  height: 96px;
  flex: none;
  border-radius: 999px;
  object-fit: cover;
  background: rgba(235, 108, 86, .1);
}

.k4-case .author>div {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.k4-case .author-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary);
}

.k4-case .author h3 {
  font-size: 1.375rem;
  font-weight: 900;
}

.k4-case .author p {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

/* -------------------- Kundenstimme ------------------------------
   Aufbau wie AnimatedTestimonials auf der Startseite: riesige
   Hintergrund-Typo bei 3 % Deckkraft, links die Ueberschrift, rechts
   die beige Karte mit Sternen, Quote-Icon, Trennlinie und Person.
   Statt eines Stockfotos traegt das Avatar die Initiale – ein
   fremdes Gesicht unter einem echten Namen waere irrefuehrend.
------------------------------------------------------------------ */
.k4-case .review {
  position: relative;
  overflow: hidden;
  background: #fff;
  padding: 96px 0;
}

.k4-case .review-bgword {
  position: absolute;
  top: 25%;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-family: var(--font-heading);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--ink);
  opacity: .03;
  line-height: 1;
  user-select: none;
  pointer-events: none;
}

.k4-case .review-bgword span {
  font-size: 14vw;
}

.k4-case .review-inner {
  position: relative;
  z-index: 10;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
}

.k4-case .review-head h2 {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.k4-case .review-card {
  background: #F5EFE6;
  border: 1px solid rgba(31, 41, 55, .05);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .15);
  border-radius: 2.5rem;
  padding: 32px;
  display: flex;
  flex-direction: column;
}

.k4-case .review-stars {
  display: flex;
  gap: 8px;
  margin-bottom: 32px;
  color: var(--primary);
}

.k4-case .review-quote {
  position: relative;
  margin-bottom: 8px;
  flex: 1;
}

.k4-case .review-quote>svg {
  position: absolute;
  top: -16px;
  left: -16px;
  width: 48px;
  height: 48px;
  color: rgba(31, 41, 55, .06);
  transform: rotate(180deg);
}

.k4-case .review-quote p {
  position: relative;
  z-index: 10;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.65;
  color: var(--ink);
}

.k4-case .review-sep {
  height: 1px;
  border: 0;
  background: rgba(31, 41, 55, .1);
  margin: 24px 0;
}

.k4-case .review-person {
  display: flex;
  align-items: center;
  gap: 16px;
}

.k4-case .review-avatar {
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 999px;
  border: 2px solid #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  background: var(--ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.25rem;
}

.k4-case .review-person h3 {
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--ink);
}

.k4-case .review-person p {
  font-size: 14px;
  font-weight: 700;
  color: rgba(31, 41, 55, .6);
}


/* ============ Seitenspezifische Abschnitte ============
     Additive Bausteine – jede Case-Seite nutzt nur, was sie braucht.
     .approach  : Vorgehens-Raster (paedagogia)
     .closing   : dunkler Fazit-Block (metpro)
     .features  : Funktionen im Detail (mundwerk, weiter oben)
  ------------------------------------------------------- */

/* Mehrere Absaetze in einer .block-Textspalte (paedagogia). */
.k4-case section.block .text .stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Vorher/Nachher-Vergleich als zwei Listen (paedagogia). */
.k4-case .compare {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.k4-case .compare>h3 {
  font-size: 1.875rem;
  font-weight: 900;
}

.k4-case .compare .cols {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.k4-case .compare .col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.k4-case .compare .label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 12px;
}

.k4-case .compare .before .label {
  color: var(--muted);
}

.k4-case .compare .after .label {
  color: var(--primary);
}

.k4-case .compare ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.k4-case .compare li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 0;
  border-top: 1px solid rgba(0, 0, 0, .08);
  font-size: 1.0625rem;
  line-height: 1.6;
}

.k4-case .compare li:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.k4-case .compare li svg {
  flex: none;
  margin-top: 6px;
}

.k4-case .compare .before li {
  color: var(--muted);
}

.k4-case .compare .before li svg {
  color: rgba(31, 41, 55, .3);
}

.k4-case .compare .after li svg {
  color: var(--primary);
}

.k4-case .approach {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.k4-case .approach header {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.k4-case .approach h3 {
  font-size: 1.875rem;
  font-weight: 900;
}

.k4-case .approach header p {
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 44rem;
}

.k4-case .approach ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 20px;
}

.k4-case .approach li {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .07);
  border-radius: 1.5rem;
  padding: 28px;
}

.k4-case .approach .step-num {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--primary);
  line-height: 1;
}

.k4-case .approach li p {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
}

.k4-case .closing {
  background: var(--navy);
  color: #fff;
  border-radius: 2.5rem;
  padding: 96px 24px;
  width: 98%;
  max-width: 1600px;
  margin: 0 auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.k4-case .closing .eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 48px;
}

.k4-case .closing .eyebrow span {
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .875rem;
  font-weight: 700;
  color: var(--primary);
}

.k4-case .closing .eyebrow i {
  display: block;
  width: 48px;
  height: 4px;
  border-radius: 999px;
  background: var(--primary);
}

/* Kleiner als das Zitat-Pendant der React-Seite: hier steht ein
     Fliesstext-Fazit, kein kurzes Zitat. */
.k4-case .closing p {
  font-family: var(--font-heading);
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  font-weight: 500;
  line-height: 1.45;
  max-width: 52rem;
}

/* ------------------------- Scroll-Reveal ------------------------ */
.k4-case.js-reveal [data-reveal] {
  opacity: 0;
  transform: translateY(20px);
}

.k4-case.js-reveal [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease-out, transform .7s ease-out;
}

/* --------------------------- Desktop ---------------------------- */
@media (min-width: 768px) {
  .k4-case .hero {
    border-radius: 0 0 4rem 4rem;
  }

  .k4-case .hero-inner {
    padding: 0 48px 64px;
  }

  /* Erst ab Desktop nach rechts geschoben – auf Mobil braucht der Button
     eine eigene Zeile, sonst quetscht er sich neben die #JAHR-Spalte. */
  .k4-case .hero-meta .btn {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .k4-case .content {
    padding: 128px 48px;
    gap: 192px;
  }

  .k4-case .intro {
    flex-direction: row;
    gap: 96px;
  }

  .k4-case .intro>* {
    width: 50%;
  }

  .k4-case section.block {
    flex-direction: row;
    gap: 32px;
  }

  .k4-case section.block .icon-col {
    width: 25%;
    padding-right: 32px;
    justify-content: flex-end;
  }

  .k4-case section.block .head-col {
    width: 25%;
  }

  .k4-case section.block .text {
    width: 50%;
  }

  .k4-case .band {
    border-radius: 3rem;
  }

  /* items-start, damit die aspect-ratio jeder Figur wirklich greift –
     bei items-stretch (Default) wuerde die zweite Spalte gedehnt. */
  .k4-case .grid {
    flex-direction: row;
    align-items: flex-start;
    gap: 48px;
  }

  .k4-case .grid figure {
    width: 50%;
    border-radius: 3rem;
  }

  .k4-case .grid .offset {
    margin-top: 80px;
  }

  .k4-case .services ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 64px;
  }

  .k4-case .services li:nth-last-child(2) {
    border-bottom: 1px solid rgba(0, 0, 0, .08);
  }

  .k4-case .cards-section ol,
  .k4-case .cards-section ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  /* Zwei Bilder nebeneinander; die Navigation blendet sich aus,
     solange alles in die Breite passt. */
  .k4-case .slide {
    flex: 0 0 calc((100% - 20px) / 2);
  }

  /* Funktion 01: die beiden Screenshots ohne Slider nebeneinander,
       als Gruppe zentriert und oben ausgerichtet – kein Versatz, auch
       wenn Hoch- und Querformat nebeneinander stehen. */
  .k4-case .shots {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }

  /* flex statt width:50%, damit ein einzelnes Bild die volle Breite
       bekommt und zwei sich gleichmaessig teilen – ohne Extraklasse. */
  .k4-case .shots>figure {
    flex: 1 1 0;
    min-width: 0;
  }

  /* Variante .mixed: zwei ungleich grosse Bilder statt zweier gleicher
       Kaesten – der Versatz aus der aelteren React-Fassung (.grid mit
       .offset). Beschnitten wird nichts – der Groessenunterschied kommt
       allein aus der Spaltenbreite. */
  .k4-case .shots.mixed {
    align-items: flex-start;
    gap: 48px;
  }

  .k4-case .shots.mixed>figure:first-child {
    flex: 1.45 1 0;
  }

  .k4-case .shots.mixed>figure:last-child {
    flex: 1 1 0;
    margin-top: 64px;
  }

  .k4-case .features .feature {
    flex-direction: row;
    gap: 48px;
  }

  .k4-case .features .feature-head {
    width: 33%;
  }

  .k4-case .features .feature-body {
    width: 67%;
  }

  /* Fuenf Auftragsarten – eigene Spaltenzahl statt der Default-Vier. */
  .k4-case .cards-section ol.cards-5 {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
  }

  .k4-case .video-block {
    border-radius: 3rem;
  }

  .k4-case .author {
    flex-direction: row;
    gap: 32px;
    align-items: center;
    padding: 0 48px 128px;
  }

  .k4-case .review {
    padding: 128px 0;
  }

  .k4-case .review-inner {
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: center;
    padding: 0 32px;
  }

  .k4-case .review-card {
    padding: 48px;
  }

  .k4-case .review-quote p {
    font-size: 19px;
  }

  .k4-case .finale {
    padding: 160px 48px 0;
  }

  .k4-case .cta {
    padding: 128px 48px;
  }

  .k4-case .compare .cols {
    flex-direction: row;
    gap: 64px;
  }

  .k4-case .compare .col {
    width: 50%;
  }

  .k4-case .approach ol {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .k4-case .closing {
    border-radius: 4rem;
    padding: 128px 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .k4-case.js-reveal [data-reveal] {
    opacity: 1;
    transform: none;
  }

  .k4-case .btn:hover .disc {
    transform: none;
  }

  .k4-case .btn-accent .shine {
    animation: none;
  }
}
.k4-garden {
  --kg-cream: #F5EFE6;
  --kg-coral: #E95F47;
  --kg-coral-dark: #C94C37;
  --kg-navy: #0B1F38;
  --kg-teal: #0F766E;
  --kg-tan: #DCCBBB;
  --kg-dark: #1F2937;
  position: relative; isolation: isolate; overflow: hidden; box-sizing: border-box;
  /* full bleed out of .k4-container; --kg-w is set by the script (100vw minus scrollbar) */
  width: var(--kg-w, 100vw); max-width: none;
  margin: 0 0 0 calc(50% - var(--kg-w, 100vw) / 2);
  height: max(700px, min(88vh, 820px));
  background: var(--kg-cream); color: var(--kg-dark);
  font-family: "Lato", Georgia, sans-serif; text-align: left;
}
.k4-garden *, .k4-garden *::before, .k4-garden *::after { box-sizing: border-box; }
.k4-garden .kg-wave { position: absolute; top: -1px; left: 0; z-index: 4; display: block; width: 100%; height: clamp(34px, 5vw, 72px); fill: #fff; }

.k4-garden .kg-top {
  position: relative; z-index: 1; height: 55%;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: clamp(76px, 8vw, 112px) 24px 0;
}
.k4-garden .kg-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px;
  color: var(--kg-dark); font: 700 13px/1.2 "Lato", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.k4-garden .kg-kicker i { width: 10px; height: 10px; border-radius: 50%; background: var(--kg-coral);
  box-shadow: 2px 1px 0 var(--kg-tan); }
.k4-garden .kg-head {
  margin: 0; padding: 0; color: var(--kg-dark); text-transform: none;
  font-family: "Playfair Display", Georgia, serif; font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1.05; letter-spacing: -.01em;
}
.k4-garden .kg-head  span { color: var(--kg-coral); }
.k4-garden .kg-lede { max-width: 79ch; margin: 14px 0 0; color: #4B5563; font: 400 17px/1.55 "Lato", sans-serif; }

.k4-garden .kg-form { display: flex; align-items: stretch; gap: 14px; width: 100%; max-width: 540px; margin: 26px 0 0; padding: 0; }
.k4-garden .kg-field { position: relative; flex: 1; min-width: 0; }
.k4-garden .kg-field input {
  display: block; width: 100%; height: 52px; margin: 0; padding: 0 18px;
  border: 2px solid var(--kg-tan); border-radius: .75rem; background: #fff; box-shadow: none;
  color: var(--kg-dark); font: 400 17px/1.2 "Lato", sans-serif; outline: none; appearance: none;
  transition: border-color .2s;
}
.k4-garden .kg-field input::placeholder { color: #9CA3AF; opacity: 1; }
.k4-garden .kg-field input:focus { border-color: var(--kg-coral); }
.k4-garden .kg-field.kg-nope { animation: kg-nope .4s; }
@keyframes kg-nope { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
.k4-garden .kg-mirror { position: absolute; top: 0; left: 0; visibility: hidden; white-space: pre; font: 400 17px/1.2 "Lato", sans-serif; }
.k4-garden .kg-caret { position: absolute; top: 14px; left: 18px; width: 2px; height: 24px; background: var(--kg-dark); opacity: 0; pointer-events: none; }
.k4-garden .kg-caret.on { animation: kg-blink 1.06s steps(1) infinite; }
@keyframes kg-blink { 0% { opacity: 1; } 50% { opacity: 0; } }

.k4-garden .kg-sub {
  position: relative; isolation: isolate; flex: none; height: 52px; margin: 0; padding: 0 26px;
  border: 0; border-radius: .75rem; background: none; box-shadow: none; cursor: pointer;
  color: var(--kg-cream); font: 700 14px/1 "Lato", sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.k4-garden .kg-sub::before, .k4-garden .kg-sub::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: .75rem;
  transition: transform .25s cubic-bezier(.3, 1.6, .5, 1), background-color .3s; }
/* navy plate printed slightly off register under the coral one */
.k4-garden .kg-sub::before { background: var(--kg-navy); mix-blend-mode: multiply; transform: translate(3px, 3px); }
.k4-garden .kg-sub::after { background: var(--kg-coral); }
.k4-garden .kg-sub:hover::before { transform: translate(4.5px, 4px); }
.k4-garden .kg-sub:hover::after { background: var(--kg-coral-dark); transform: translate(-1px, -1px); }
.k4-garden .kg-sub:active::before, .k4-garden .kg-sub.pressed::before,
.k4-garden .kg-sub:active::after, .k4-garden .kg-sub.pressed::after { transform: translate(1px, 1px); }
.k4-garden .kg-sub:focus-visible { outline: 2px solid var(--kg-dark); outline-offset: 5px; }
.k4-garden .kg-roll { display: grid; height: 1.25em; line-height: 1.25em; overflow: hidden; }
.k4-garden .kg-roll span { white-space: nowrap; transition: transform .6s cubic-bezier(.34, 1.56, .64, 1); }
.k4-garden .kg-sub.done .kg-roll span { transform: translateY(-100%); }

.k4-garden .kg-note { min-height: 1.5em; margin: 14px 0 0; color: #6B7280; font: 400 13px/1.5 "Lato", sans-serif; }
.k4-garden .kg-note a { color: var(--kg-coral); text-decoration: underline; text-underline-offset: 2px; }
.k4-garden .kg-note.kg-thanks { color: var(--kg-coral); font-weight: 700; }

.k4-garden .kg-canvas { position: absolute; inset: 0; z-index: 2; display: block; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: multiply; }
.k4-garden .kg-grain { position: absolute; inset: 0; z-index: 3; pointer-events: none; mix-blend-mode: multiply; opacity: .5; }
.k4-garden .kg-legal {
  position: absolute; z-index: 4; bottom: 16px; display: flex; align-items: center; gap: 8px; margin: 0;
  padding: 6px 10px; border-radius: .375rem; background: var(--kg-cream); color: var(--kg-dark);
  font: 700 11px/1 "Lato", sans-serif; letter-spacing: .1em; text-transform: uppercase;
}
.k4-garden .kg-legal a { color: inherit; text-decoration: none; }
.k4-garden .kg-legal a:hover { color: var(--kg-coral); }
.k4-garden .kg-l { left: clamp(14px, 4vw, 64px); }
.k4-garden .kg-r { right: clamp(14px, 4vw, 64px); }
.k4-garden .kg-sr { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 760px) {
  .k4-garden { height: 900px; }
  .k4-garden .kg-form { flex-direction: column; }
  .k4-garden .kg-lede { font-size: 16px; }
  .k4-garden .kg-legal { bottom: 12px; font-size: 10px; letter-spacing: .06em; }
  .k4-garden .kg-l { left: 12px; right: 12px; justify-content: center; bottom: 46px; }
  .k4-garden .kg-r { left: 50%; right: auto; transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .k4-garden .kg-roll span, .k4-garden .kg-sub::before, .k4-garden .kg-sub::after { transition: none; }
  .k4-garden .kg-caret { display: none; }
}
