/* W1: existing KüstenKlick colours and type, reorganised content and navigation. */
.w1-header{min-height:112px;padding-top:20px}.w1-header .w1-brand{flex:0 0 auto}.w1-header .w1-primary{margin-left:auto;gap:18px}.w1-header .w1-primary>a:not(.button){white-space:nowrap}.w1-header .w1-utility{position:absolute;top:0;right:0;display:flex;gap:18px;font-size:12px;align-items:center}.w1-header .w1-utility>a,.w1-header .w1-utility summary{min-height:26px;display:flex;align-items:center}.w1-header .w1-utility .desktop-solutions>summary{font-size:12px;min-height:26px}.w1-header .w1-dropdown{width:345px;z-index:60}.w1-header .w1-dropdown a{display:block;min-height:48px;line-height:1.3;padding:10px 12px}.w1-header .w1-dropdown strong,.w1-header .w1-dropdown small{display:block}.w1-header .w1-dropdown small{font-size:12px;color:#526c78;margin-top:3px}.w1-header .w1-login .w1-dropdown{left:auto;right:0;width:260px}
.w1-mobile-nav{display:none}.w1-mobile-nav>nav details{margin:0;padding:0;border:0}.w1-mobile-nav>nav details>summary{min-height:44px;display:flex;align-items:center;padding:9px;font-size:14px}.w1-mobile-nav>nav details>div{display:grid;gap:2px;padding:0 0 8px 12px;border-left:2px solid #b6d6d9;margin-left:10px}.w1-mobile-nav>nav details a{display:block;padding:10px;min-height:44px;font-size:14px}.w1-mobile-nav>nav small{display:block;font-size:11px;color:#526c78}.w1-mobile-nav>nav>.button{justify-content:center;margin-bottom:8px}
.w1-footer-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:30px;border-bottom:1px solid #385363}.w1-footer-intro p{margin:8px 0 0;color:#c2d6de}.site-footer .button.secondary,.w1-footer .button.secondary,.w1-footer-intro .button.secondary{background:rgba(255,255,255,0.08)!important;color:#ffffff!important;border:1.5px solid rgba(255,255,255,0.6)!important;font-weight:700;transition:all .2s ease}.site-footer .button.secondary:hover,.w1-footer .button.secondary:hover,.w1-footer-intro .button.secondary:hover{background:#ffffff!important;color:#0b1a24!important;border-color:#ffffff!important;box-shadow:0 4px 14px rgba(0,0,0,0.25)}.w1-footer-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;padding-top:30px}.w1-footer-desktop nav{display:flex;flex-direction:column;min-width:0;gap:3px}.w1-footer-desktop h2{font-size:15px;letter-spacing:0;margin:0 0 12px;color:#9bdade}.w1-footer-desktop a{display:block;min-height:40px;line-height:1.35;padding:8px 0}.w1-footer-mobile{display:none}.w1-footer .footer-bottom{gap:20px}.w1-footer .footer-bottom a{display:inline-block;min-height:38px;padding-block:9px}
.w1-page .w1-hero{padding-block:58px 65px}.w1-page .w1-hero .lead{max-width:760px;font-size:19px;line-height:1.65}.w1-page .w1-hero h1{max-width:980px}.w1-page .w1-note{font-size:14px;color:#526c78;line-height:1.6;margin:16px 0 0}.w1-section{border-bottom:1px solid #d5e4e6}.w1-section h2{max-width:870px}.w1-copy{max-width:950px}.w1-copy>p{max-width:810px;line-height:1.75}.w1-copy>p:has(+.w1-card-grid){max-width:790px}.w1-card-grid{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.w1-card-grid li{background:#fff;border:1px solid #cbdde1;border-radius:12px;padding:22px;font-size:16px;line-height:1.6;min-width:0}.w1-card-grid li strong:first-child{display:block;margin-bottom:8px;color:#123047}.w1-card-grid .text-link{display:flex;margin-top:14px}.w1-list{padding-left:24px;max-width:830px}.w1-list li{margin-bottom:16px;line-height:1.7}.w1-list .text-link{margin-left:8px}.w1-section-action{margin-top:24px}.w1-section .w1-copy>.text-link{margin-top:12px}.w1-home .w1-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w1-home #einstieg .w1-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.w1-filters{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.w1-filters button,.w1-show-all{border:1px solid #8fb4ba;background:#fff;color:#123047;border-radius:999px;min-height:44px;padding:8px 18px;font:700 14px Arial,sans-serif;cursor:pointer}.w1-filters button[aria-pressed=true]{background:#087480;color:#fff;border-color:#087480}.w1-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.w1-project-card{background:#fff;border:1px solid #cbdde1;border-radius:12px;overflow:hidden;min-width:0}.w1-project-card img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;object-position:top}.w1-project-card>div{padding:22px}.w1-project-card h3{margin:8px 0 12px}.w1-project-card p{font-size:15px;line-height:1.6}.w1-project-card .text-link{display:flex}.w1-status{font-size:12px!important;font-weight:700;color:#087480;line-height:1.45!important;letter-spacing:.02em}.w1-image-needed{display:flex;align-items:center;justify-content:center;background:#e4f0f1;color:#526c78;min-height:180px;padding:20px;text-align:center}.w1-show-all{display:none}.w1-case-top{padding-block:28px}.w1-case-top figure{margin:20px 0 0;max-width:850px}.w1-case-top img{display:block;width:100%;border:1px solid #cbdde1;border-radius:12px}.w1-case-top figcaption{font-size:12px;color:#526c78;margin-top:8px}.w1-case-next{display:flex;gap:24px;padding-block:35px}.w1-contact .project-form{max-width:830px}
.w1-media-todo{font-size:12px;color:#526c78;border-left:3px solid #8fb4ba;padding:12px 16px;margin:0 0 26px;background:#edf5f6}
.w1-case-gallery{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:start}.w1-case-gallery figure{margin:0}.w1-case-gallery figure:first-child{grid-row:span 2}.w1-case-gallery img{display:block;width:100%;height:auto;border:1px solid #cbdde1;border-radius:10px}.w1-case-gallery figcaption{font-size:12px;color:#526c78;margin-top:8px}.w1-case-top>p:last-child{margin-top:20px}
@media(max-width:760px){.w1-case-gallery{grid-template-columns:minmax(0,1fr) minmax(80px,28%);gap:8px}.w1-case-gallery figcaption{font-size:10px}}
@media(max-width:1100px){.w1-header .w1-primary,.w1-header .w1-utility{display:none}.w1-header .w1-mobile-nav{display:block;margin-left:auto}.w1-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w1-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w1-footer-desktop{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.w1-header{min-height:88px;padding-top:0}.w1-header .kk-brand-subtitle{white-space:normal}.w1-header .w1-mobile-nav nav{top:55px;right:0;width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}.w1-footer-intro{display:block}.w1-footer-intro .button{margin-top:16px}.w1-footer-desktop{display:none}.w1-footer-mobile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;padding-top:24px}.w1-footer-mobile>a{min-height:44px;display:flex;align-items:center}.w1-footer-mobile details{grid-column:1/-1;margin:5px 0 0;padding:0;border:0}.w1-footer-mobile summary{font-size:14px;min-height:44px;padding:10px 0}.w1-footer-mobile details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;padding-bottom:10px}.w1-footer-mobile details a{min-height:44px;padding:10px 0}.w1-footer .footer-bottom{display:grid;line-height:1.7}.w1-page .w1-hero{padding-block:32px 45px}.w1-page .w1-hero .lead{font-size:17px}.w1-card-grid,.w1-home .w1-card-grid,.w1-home #einstieg .w1-card-grid,.w1-project-grid{grid-template-columns:1fr}.w1-card-grid li{padding:18px}.w1-home .w1-section-projekte-und-systeme .w1-card-grid li:nth-child(n+3){display:none}.w1-projekte.is-collapsed .w1-project-extra{display:none}.w1-projekte.is-collapsed .w1-show-all{display:inline-flex;margin-top:20px}.w1-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.w1-filters button{flex:0 0 auto}.w1-case-next{display:grid;gap:4px}.kk69-advisor-launcher{display:none!important}}
.w1-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:52px;align-items:center}.w1-hero-art{border-radius:14px;overflow:hidden;min-height:420px;background:#dcecee}.w1-hero-art img{display:block;width:100%;height:420px;object-fit:cover}.w1-card-image{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;object-position:top;border-radius:8px;margin-bottom:18px}.w1-home .w1-section-projekte-und-systeme .w1-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.w1-page .w1-hero h1{hyphens:auto;overflow-wrap:break-word}
@media(max-width:760px){.w1-hero-layout{display:block}.w1-hero-art{display:none}.kk-hero-interactive .w1-hero-art{display:block;min-height:auto;margin-top:24px}.kk-hero-interactive .w1-hero-art img{height:240px;border-radius:12px}.w1-home .w1-section-projekte-und-systeme .w1-card-grid{grid-template-columns:1fr}}


/* W3: reserved slots for real, approved screenshots. */
.w3-media-section{border-bottom:1px solid #d5e4e6}.w3-media-slot{margin:24px 0;max-width:960px}.w3-media-views{display:grid;grid-template-columns:minmax(0,3fr) minmax(150px,1fr);gap:16px;align-items:start}.w3-media-placeholder{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:16px;border:2px dashed #8fb4ba;border-radius:12px;background:#edf5f6;color:#123047;text-align:center;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.w3-media-desktop{aspect-ratio:1.6}.w3-media-mobile{aspect-ratio:390/700}.w3-media-slot figcaption{margin-top:10px;color:#526c78;font-size:13px}.w3-media-more{margin-top:22px}.w3-media-more summary{min-height:44px;cursor:pointer}
@media(max-width:760px){.w3-media-views{grid-template-columns:minmax(0,1fr) minmax(95px,30%);gap:8px}.w3-media-placeholder{padding:8px;font-size:10px}.w3-media-desktop{aspect-ratio:1.15}.w3-media-mobile{aspect-ratio:390/700}}

/* KUESTENKLICK ANIMATIONS */
/* Scroll-Reveal ersetzt durch kk-motion.css/.js (Stagger, IntersectionObserver, nur transform+opacity) */

/* ==========================================================================
   KÜSTENKLICK HIGH-END UI & SERVICE-HUB ENHANCEMENTS
   ========================================================================== */
.live-dot-inline {
  display: inline-block;
  width: 9px;
  height: 9px;
  background-color: #00e676;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  box-shadow: 0 0 8px #00e676;
  animation: kkPulse 2s infinite ease-in-out;
}
@keyframes kkPulse {
  0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 8px #00e676; }
  50% { transform: scale(1.3); opacity: 0.85; box-shadow: 0 0 16px #00e676; }
}

/* Shimmering Button Effects */
.kk-btn-primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #087f8c 0%, #065f69 100%) !important;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(8, 127, 140, 0.3) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease !important;
}
.kk-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(8, 127, 140, 0.45) !important;
}
.kk-btn-primary::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(60deg, transparent 30%, rgba(255, 255, 255, 0.32) 50%, transparent 70%);
  transform: rotate(25deg);
  animation: kkShimmer 4.5s infinite;
  pointer-events: none;
}
@keyframes kkShimmer {
  0% { transform: translate(-100%, -100%) rotate(25deg); }
  22%, 100% { transform: translate(100%, 100%) rotate(25deg); }
}

.kk-btn-secondary {
  border: 1.5px solid #087f8c !important;
  color: #123047 !important;
  background: #ffffff !important;
  font-weight: 700 !important;
  transition: all 0.2s ease !important;
}
.kk-btn-secondary:hover {
  background: #edf6f7 !important;
  border-color: #065f69 !important;
  transform: translateY(-2px);
}

/* Trust Pills Bar */
.kk-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.kk-trust-pills span {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  color: #1b3a47;
  background: rgba(220, 238, 240, 0.65);
  border: 1px solid rgba(8, 127, 140, 0.28);
  border-radius: 999px;
  padding: 6px 14px;
  backdrop-filter: blur(4px);
}

/* Service Calculator Grid */
.kk-calculator-hub {
  background: #f7fafb;
}
.kk-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}
.kk-service-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #c9dce0;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 18px rgba(18, 48, 71, 0.05);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}
.kk-service-card:hover {
  transform: translateY(-4px);
  border-color: #087f8c;
  box-shadow: 0 16px 36px rgba(8, 127, 140, 0.16), 0 0 14px rgba(8, 127, 140, 0.08);
}
.kk-service-card h3 {
  font-size: 20px;
  margin: 0 0 10px;
  color: #123047;
}
.kk-service-card p {
  font-size: 15px;
  line-height: 1.6;
  color: #4b6672;
  margin-bottom: 22px;
  flex-grow: 1;
}
.kk-card-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  background: linear-gradient(135deg, #087f8c, #00b4d8);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(8, 127, 140, 0.3);
}
.kk-btn-action {
  width: 100%;
  justify-content: center;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
}
.kk-hub-cta {
  margin-top: 36px;
  text-align: center;
  padding: 20px;
  background: #edf5f6;
  border-radius: 14px;
  border: 1px dashed #8fb4ba;
}
.kk-hub-cta p {
  margin: 0 0 6px;
  font-weight: 600;
  color: #123047;
}

/* B2B Partner System Section */
.kk-b2b-highlight {
  border-top: 2px solid #b6d6d9;
  border-bottom: 2px solid #b6d6d9;
  background: linear-gradient(180deg, #f4f9fa 0%, #edf6f7 100%) !important;
}

@media (max-width: 760px) {
  .kk-service-grid {
    grid-template-columns: 1fr;
  }
  .kk-service-card {
    padding: 20px;
  }
}

/* Modern Digital Portal Hero & Quick-Bar */
.kk-hero-portal-preview {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 130, 138, 0.22), 0 4px 16px rgba(18, 48, 71, 0.12);
  border: 1px solid rgba(0, 130, 138, 0.3);
  background: #102127;
  height: 420px;
}
.kk-hero-portal-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.kk-hero-portal-preview:hover img {
  transform: scale(1.02);
}
.kk-floating-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: rgba(16, 33, 39, 0.90);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 184, 51, 0.4);
  border-radius: 10px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 13px;
}
.kk-floating-badge strong {
  color: #ffb833;
}

/* Quick Portals Live Bar */
.kk-live-portals-bar {
  background: #ffffff;
  padding: 34px 0 40px;
  border-bottom: 1px solid #d5e4e6;
}
.kk-portals-bar-header {
  margin-bottom: 22px;
}
.kk-portals-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 230, 118, 0.12);
  border: 1px solid rgba(0, 230, 118, 0.4);
  color: #008744;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 20px;
}
.kk-portals-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.kk-portals-grid > p {
  display: none !important;
}
.kk-portal-quick-card {
  background: #f8fbfc;
  border: 1.5px solid #d2e4e7;
  border-radius: 12px;
  padding: 20px 18px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  box-shadow: 0 2px 8px rgba(18, 48, 71, 0.04);
}
.kk-portal-quick-card:hover {
  transform: translateY(-4px);
  border-color: #00828a;
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(0, 130, 138, 0.16);
}
.kk-portal-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.kk-portal-icon {
  font-size: 26px;
  line-height: 1;
}
.kk-portal-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 12px;
  background: #e0f2f1;
  color: #00796b;
}
.kk-portal-quick-card h4 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  color: #102127;
}
.kk-portal-sub {
  margin: 0 0 14px;
  font-size: 13px;
  color: #526c78;
  line-height: 1.4;
  flex: 1;
}
.kk-portal-cta {
  font-size: 12.5px;
  font-weight: 700;
  color: #00828a;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
@media (max-width: 900px) {
  .kk-portals-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 540px) {
  .kk-portals-grid {
    grid-template-columns: 1fr;
  }
}



/* --- KUESTENKLICK 69 HERO & POLISH UPGRADES --- */
.live-dot-inline {
  display: inline-block;
  width: 9px;
  height: 9px;
  background: #10b981;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  box-shadow: 0 0 0 rgba(16, 185, 129, 0.4);
  animation: kkPulseDot 2s infinite ease-in-out;
}
@keyframes kkPulseDot {
  0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
  70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

.button.kk-btn-primary {
  background: linear-gradient(135deg, #00828a 0%, #005e63 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 26px !important;
  box-shadow: 0 6px 20px rgba(0, 130, 138, 0.35) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.button.kk-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(0, 130, 138, 0.45) !important;
  color: #ffffff !important;
}

.button.kk-btn-secondary {
  background: #ffffff !important;
  color: #102127 !important;
  font-weight: 700 !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 13px 24px !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.button.kk-btn-secondary:hover {
  background: #f8fafc !important;
  border-color: #00828a !important;
  color: #00828a !important;
  transform: translateY(-2px) !important;
}

.kk-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.kk-trust-pills span {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(203, 213, 225, 0.9);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: #1e293b;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.kk-service-card {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.kk-service-card:hover {
  transform: translateY(-6px) !important;
  border-color: #00828a !important;
  box-shadow: 0 20px 40px rgba(0, 130, 138, 0.14) !important;
}

.kk-card-badge {
  display: inline-block;
  padding: 5px 12px;
  font-size: 11.5px;
  font-weight: 750;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 6px;
  background: #e0f2f1;
  color: #00828a;
  border: 1px solid rgba(0, 130, 138, 0.25);
}

.kk-btn-action {
  background: #102127 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  transition: all 0.2s ease !important;
}
.kk-btn-action:hover {
  background: #00828a !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}
