/* F&F Sicherheit · Gestaltungsüberarbeitung September 2026.
   Gemeinsame Ergänzung nach style.css; vorhandene Objektgrafiken bleiben erhalten. */
:root{
  --bg:#f8f7f5; --bg-alt:#f1efec; --surface:#fff; --surface-2:#f3f0ed;
  --text:#27333b; --text-dim:#54616a; --text-dimmer:#657179;
  --line:rgba(39,51,59,.15); --line-soft:rgba(39,51,59,.09);
  --signal:#b9463d; --signal-soft:rgba(185,70,61,.085); --flame-red:#c9473d;
  --ember:#b9463d; --ember-light:#c9473d; --ember-soft:rgba(185,70,61,.085);
  --status-green:#15945f; --radius:22px; --radius-sm:14px; --container:1240px;
}
html{scroll-padding-top:104px;}
body{line-height:1.65;}
.wrap{padding-inline:32px;}
main{min-width:0;}
main p{overflow-wrap:break-word;}
h1,h2,h3,h4{letter-spacing:-.035em; text-wrap:balance;}
.hero h1,.page-hero h1,.sec-head h2,.txt-col h3{overflow-wrap:normal; word-break:normal; hyphens:auto;}
.hero-grid > *,.feature > *,.showcase-grid > *,.cta-inner > *,
.home-grid > *,.cards-grid > *,.products-grid > *,.foot-grid > *{min-width:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--signal); outline-offset:4px;}

/* Ohne Animationsskript bleiben sämtliche Inhalte lesbar. */
.reveal,.reveal-left,.reveal-right,.reveal-zoom,
.reveal.in,.reveal-left.in,.reveal-right.in,.reveal-zoom.in{
  opacity:1; transform:none; will-change:auto;
  transition:box-shadow .25s ease,border-color .25s ease,background .25s ease; transition-delay:0s;
}
.scanline,.spot::after,.img-col .glow{display:none;}
.logo-mark,.status-card,.product-card .pimg img,.showcase-img img,
.showcase-img .orbit,.course-visual .safety-ring,.warum-inset{animation:none;}
.status-card.c1,.status-card.c2,.status-card.c3,.status-card.c4{animation:none;}
body::before{z-index:0; opacity:.055; background-position:center 55%; background-size:min(50vw,610px) auto; animation:watermark-drift 40s ease-in-out infinite;}
.hero::before,.page-hero::before{z-index:1; opacity:.07; background-position:right max(28px,7vw) center; background-size:min(27vw,340px) auto; animation:none;}
.hero > .wrap,.page-hero > .wrap{z-index:2;}

/* Marke links, beschriftetes Menü in der Mitte. */
.topstrip{background:#efeeeb; color:var(--text-dim);}
.topstrip .wrap{height:36px;}
.topstrip .live{font-size:11px; letter-spacing:.035em;}
.topstrip .phone{font-size:12px;}
#siteHeader{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.93); border-bottom:1px solid var(--line-soft); box-shadow:0 2px 12px rgba(39,51,59,.025);}
#siteHeader.scrolled{background:rgba(255,255,255,.97); box-shadow:0 6px 22px rgba(39,51,59,.065);}
#siteHeader nav.wrap{height:88px;}
#siteHeader .brand{left:max(32px,calc((100vw - var(--container))/2 + 32px));}
#siteHeader .logo-mark{height:68px; width:auto; max-width:190px; filter:none;}
.burger{width:120px; height:46px; border-radius:13px; border-color:var(--line); background:#fff; box-shadow:0 3px 9px rgba(39,51,59,.025);}
.burger::after{font-size:14px; letter-spacing:0;}
.burger span{top:22px; left:15px; width:19px;}
.burger span::before,.burger span::after{left:0; width:19px;}
.burger:hover{background:var(--signal-soft); box-shadow:none;}
.navlinks.open{gap:6px 18px; padding-top:20px; padding-bottom:24px; border-bottom:1px solid var(--line); box-shadow:0 18px 30px rgba(39,51,59,.08); background:#fff;}
.navlinks.open a{font-size:15px; padding:13px 16px; border-radius:12px;}
.navlinks.open a.active{color:var(--signal); font-weight:700;}
.dot{background:var(--signal); box-shadow:none; animation:none; flex:0 0 auto;}
.topstrip .dot,.status-card .dot{width:8px; height:8px; background:var(--status-green); animation:ff-status-pulse 1.8s ease-in-out infinite;}
@keyframes ff-status-pulse{
  0%,100%{opacity:1; box-shadow:0 0 0 0 rgba(21,148,95,.22);}
  50%{opacity:.48; box-shadow:0 0 0 5px rgba(21,148,95,0);}
}

/* Einstieg und Radar. */
.hero{padding:76px 0 82px; background:radial-gradient(ellipse at 88% 14%,rgba(185,70,61,.06),transparent 52%),var(--bg); border-bottom:1px solid var(--line-soft);}
.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:50px;}
.hero h1{font-size:clamp(40px,4.35vw,58px); line-height:1.1; max-width:640px; margin-bottom:24px;}
.hero h1 em,.page-hero h1 em{color:var(--signal); background:none; -webkit-text-fill-color:currentColor;}
.hero p.lead{font-size:17px; line-height:1.8; max-width:570px; margin-bottom:30px;}
.eyebrow{padding:6px 11px; margin-bottom:22px; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.075em; border-color:transparent;}
.eyebrow.gold{color:var(--signal);}
.hero .eyebrow{max-width:100%; font-size:10px; letter-spacing:.045em;}
.hero-ctas{gap:12px 20px; margin-bottom:28px;}
.btn{min-height:48px; padding:12px 22px; border-radius:12px; font-size:14px; line-height:1.4;}
.btn-primary{background:var(--flame-red); color:#fff; box-shadow:0 5px 14px rgba(185,70,61,.13);}
.btn-primary:hover{background:#b83f36; box-shadow:0 7px 20px rgba(185,70,61,.18); transform:translateY(-2px);}
.btn-ghost{background:rgba(255,255,255,.65); border-color:var(--line);}
.btn-ghost:hover{background:#fff;}
.btn-sm{min-height:42px; padding:10px 16px; font-size:13px;}
.call-link{font-size:14px;}
.call-link .ring{background:#fff;}
.trust-mini{gap:10px 20px;}
.trust-mini div{font-size:12px;}
.trust-mini .check{font-size:13px;}
.hero-visual{height:438px; padding:24px; border:1px solid rgba(185,70,61,.10); border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.35)); box-shadow:0 24px 52px -36px rgba(39,51,59,.26);}
.radar{width:320px; height:320px; flex:0 0 auto;}
.radar-static.s1{inset:48px; border-color:rgba(39,51,59,.13);}
.radar-static.s2{inset:108px; border-color:rgba(39,51,59,.14);}
.radar-ring{border-color:rgba(185,70,61,.22);}
.radar-sweep{background:conic-gradient(from 0deg,rgba(185,70,61,.13),transparent 65deg,transparent 360deg); animation-duration:9s;}
.radar-core{width:66px; height:66px; font-size:27px; border:1px solid rgba(185,70,61,.13); background:#fff; box-shadow:0 8px 24px rgba(39,51,59,.08); animation:none;}
.status-card{max-width:232px; gap:11px; padding:12px 15px; border-radius:14px; border-color:rgba(39,51,59,.10); background:rgba(255,255,255,.97); box-shadow:0 8px 24px rgba(39,51,59,.07); backdrop-filter:none;}
.status-card .t1{font-size:11.5px; line-height:1.45;}
.status-card .t2{font:10px/1.5 'Inter',sans-serif; letter-spacing:.01em;}
.status-card.c1{top:20px; left:15px;}
.status-card.c2{bottom:20px; right:15px;}
.status-card.c3{top:123px; right:10px;}
.status-card.c4{bottom:118px; left:10px;}
.pulse-divider{background:var(--bg);}
.pulse-divider svg{height:42px; opacity:.5;}
.pulse-divider path{stroke:var(--signal); stroke-dashoffset:0;}
.page-hero{padding:66px 0 60px; background:radial-gradient(ellipse at 95% 5%,rgba(185,70,61,.065),transparent 58%),var(--bg);}
.page-hero .crumbs{font-family:'Inter',sans-serif; font-size:12px; margin-bottom:22px;}
.page-hero h1{font-size:clamp(36px,4.2vw,54px); line-height:1.13; max-width:940px; margin-bottom:22px;}
.page-hero p.lead{font-size:17px; line-height:1.8; max-width:710px;}
.page-hero .hero-ctas{margin-top:28px; margin-bottom:0;}

/* Gemeinsamer Rhythmus und helle Inhaltskarten. */
.section-pad{padding:86px 0;}
.sec-head{max-width:720px; margin-bottom:40px;}
.sec-head h2{font-size:clamp(28px,3.2vw,40px); line-height:1.2; margin-bottom:15px;}
.sec-head p{font-size:16px; line-height:1.75;}
.trustbar{padding:28px 0; background:#fff;}
.trustbar .wrap{gap:22px;}
.trust-item{gap:12px;}
.trust-item .ico{width:38px; height:38px; background:var(--bg); border:none;}
.trust-item:hover .ico{transform:none;}
.trust-item h4{font-size:13px; letter-spacing:-.01em;}
.trust-item p{font-size:12px;}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}
.service-card{min-height:0; display:flex; flex-direction:column; background:#fff; box-shadow:0 5px 18px rgba(39,51,59,.025);}
.service-card::before{display:none;}
.service-card img{position:relative; inset:auto; width:100%; height:230px; object-fit:cover; filter:none; flex:0 0 auto;}
.service-card:hover img{transform:none; filter:none;}
.service-card .content{padding:26px; display:flex; flex-direction:column; flex:1;}
.service-card h3{font-size:23px; color:var(--text); line-height:1.25;}
.service-card p{font-size:14px; color:var(--text-dim); margin-bottom:22px; flex:1;}
.service-card .tag{font-family:'Inter',sans-serif; font-size:10px; font-weight:700; color:var(--signal); letter-spacing:.06em;}
.service-card .arrow-link{font-size:13px; color:var(--signal); margin-top:auto;}
.service-card:hover,.product-card:hover,.photo-card:hover,.team-card:hover,.info-card:hover{transform:translateY(-3px); border-color:rgba(185,70,61,.23); box-shadow:0 12px 28px rgba(39,51,59,.065);}
.service-strip{padding:26px 30px; background:#fff; border-radius:18px; margin-top:26px;}
.service-strip:hover{transform:none; border-color:rgba(185,70,61,.3);}
.service-strip .ico-lg{width:48px; height:48px; background:var(--signal-soft);}
.services-note{font-size:13px;}
.feature{gap:58px;}
.feature + .feature{margin-top:82px;}
.img-col .frame{border-color:var(--line-soft); box-shadow:0 12px 32px rgba(39,51,59,.045);}
.img-col .frame img{height:420px;}
.txt-col .tag{font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.07em; color:var(--signal);}
.txt-col h3{font-size:clamp(26px,2.8vw,34px); line-height:1.23;}
.txt-col p.desc{font-size:16px; line-height:1.8;}
.feat-list li{line-height:1.65;}
.stats-band{background:#fff; padding:44px 0;}
.stat .num{color:var(--signal); background:none; -webkit-text-fill-color:currentColor; font-size:clamp(32px,3.8vw,46px);}
.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
.cards-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.cards-grid[style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;}
.info-card{padding:30px; box-shadow:0 5px 18px rgba(39,51,59,.025);}
.info-card .ic,.info-card > .ico{width:46px; height:46px; display:grid; place-items:center; margin-bottom:19px; border-radius:13px; background:var(--signal-soft); color:var(--signal); font-size:19px; font-weight:600;}
.info-card:hover .ic{transform:none;}
.info-card h3{font-size:20px; line-height:1.3;}
.info-card p{line-height:1.75;}
.article{max-width:790px;}
.article p,.article li{font-size:16px; line-height:1.85;}
.article h2{line-height:1.25;}
.faq{max-width:840px;}
.faq details{border-radius:15px; margin-bottom:12px;}
.faq summary{padding:22px 24px; font-size:17px;}
.faq .fa-body{font-size:15px; line-height:1.8;}
.timeline-line{margin-bottom:40px;}
.timeline-line .fill{width:100%;}
.tl-step .node{top:-46px; background:var(--signal); box-shadow:none !important;}
.tl-step p{line-height:1.8; font-size:14px;}
.warum{background:rgba(241,239,236,.92);}
.warum-grid{gap:60px;}
.warum-img{border-color:var(--line-soft);}
.warum-img .badge{background:rgba(39,51,59,.87);}
.warum-inset{box-shadow:0 12px 24px rgba(39,51,59,.12);}
.mission-list{gap:24px;}
.mission-item h4{font-size:18px;}
.pull-quote{border-color:var(--signal); padding:28px 32px; background:var(--signal-soft); border-radius:0 16px 16px 0;}
.team-card .photo{height:400px;}
.team-card .body{padding:28px;}
.team-card .role{font-family:'Inter',sans-serif; font-size:11px; font-weight:700; color:var(--signal);}
.team-card .mail{word-break:normal; overflow-wrap:anywhere;}

/* Objektpaare: Haus und Gewerbe untereinander, Details jeweils rechts. */
.home-grid{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr); column-gap:28px; row-gap:40px; align-items:stretch;}
.house-stage{background:#fff; padding:15px 12px 6px; box-shadow:0 8px 28px rgba(39,51,59,.035); align-self:start;}
.business-stage{align-self:start; aspect-ratio:3 / 2; box-shadow:0 8px 28px rgba(39,51,59,.035);}
.business-stage > img{aspect-ratio:3 / 2; width:100%; height:100%; object-fit:cover;}
.stage-label{font-family:'Inter',sans-serif; font-weight:600; letter-spacing:.015em; font-size:11px; background:rgba(39,51,59,.87);}
.device-panel{padding:28px; min-height:0; height:100%; background:#fff; box-shadow:0 8px 28px rgba(39,51,59,.035);}
.device-panel .dp-tag{font-family:'Inter',sans-serif; font-size:10px; font-weight:700; letter-spacing:.055em;}
.device-panel .dp-icon{width:46px; height:46px; margin-bottom:17px;}
.device-panel h3{font-size:23px; line-height:1.25;}
.device-panel p{font-size:14px; line-height:1.75;}
.device-panel .dp-specs div{gap:14px; font-size:12px;}
.device-panel .dp-specs .k{font-family:'Inter',sans-serif; font-size:11px;}
.device-panel .dp-specs .v{text-align:right; overflow-wrap:break-word;}
.device-panel .dp-link{margin-top:20px; white-space:normal;}
.home-hint,.device-legend span{font-family:'Inter',sans-serif; font-size:12px;}
.device-legend{gap:12px 24px; margin-top:25px;}
.business-point{box-shadow:0 4px 12px rgba(39,51,59,.14);}
.business-point--window{background:#287ba2; box-shadow:0 4px 12px rgba(40,123,162,.22);}
.business-point--camera{background:var(--signal); box-shadow:0 4px 12px rgba(185,70,61,.22);}
.business-point--window:hover,.business-point--window:focus-visible,.business-point--window.is-active{background:#1c688e;}
.business-point--camera:hover,.business-point--camera:focus-visible,.business-point--camera.is-active{background:#a93931;}

/* Helles Sortiment mit lesbaren Angaben und klaren Filtern. */
.brand-marquee{padding:16px 0; background:#fff;}
.brand-marquee::before{background:linear-gradient(90deg,#fff,transparent);}
.brand-marquee::after{background:linear-gradient(270deg,#fff,transparent);}
.marquee-track{animation-duration:52s;}
.marquee-track span{font-size:12px; letter-spacing:.1em;}
.filter-tabs{gap:9px; margin-bottom:32px;}
.filter-tabs button{min-height:44px; padding:10px 18px; border-radius:12px; background:#fff;}
.filter-tabs button:hover{transform:none;}
.filter-tabs button.active{background:var(--signal); color:#fff; box-shadow:none;}
.brand-head{margin-bottom:24px; gap:16px;}
.brand-chip{background:#fff; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.065em;}
.brand-head .count{font-family:'Inter',sans-serif; font-size:12px;}
.products-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.product-card{box-shadow:0 5px 18px rgba(39,51,59,.025);}
.product-card .pimg{height:215px; background:linear-gradient(145deg,#f2f1ee,#faf9f7); border-bottom:1px solid var(--line-soft);}
.product-card .pimg::after{display:none;}
.product-card .pimg img{max-height:76%; filter:drop-shadow(0 10px 12px rgba(39,51,59,.13));}
.product-card:hover .pimg img{transform:scale(1.035);}
.product-card .pimg .pbrand,.product-card .pimg .pbrand.gold{background:#fff; border:1px solid var(--line-soft); color:var(--text-dim); font-family:'Inter',sans-serif; font-weight:700; font-size:9px;}
.product-card .pbody{padding:23px; gap:12px;}
.product-card h3{font-size:19px; line-height:1.25;}
.product-card p{font-size:14px; line-height:1.7;}
.pchips span{font-family:'Inter',sans-serif; font-size:10px; background:var(--bg);}
.product-card .plink{color:var(--signal); font-size:13px;}
.showcase{padding:44px; background:#fff; color:var(--text); border-color:var(--line); box-shadow:0 12px 32px rgba(39,51,59,.04);}
.showcase::before{display:none;}
.showcase-grid{gap:40px;}
.showcase-img{padding:28px; border-radius:20px; background:var(--bg);}
.showcase-img img{filter:drop-shadow(0 12px 20px rgba(39,51,59,.16));}
.showcase-img .orbit{display:none;}
.spec-box{padding:14px; background:var(--bg); border-color:var(--line-soft);}
.spec-box b{font-size:16px;}
.spec-box small{font-family:'Inter',sans-serif; font-size:10px; line-height:1.5;}
.spec-box:hover{transform:none;}
.photo-card .ph{height:210px;}
.photo-card .ph::after{display:none;}
.photo-card .pbody{padding:24px;}
.photo-card h3{font-size:19px;}
.photo-card p{font-size:14px; line-height:1.7;}
.course-visual{min-height:360px; background:linear-gradient(145deg,#fff,#f3efeb); box-shadow:0 12px 32px rgba(39,51,59,.04);}
.course-visual .extinguisher{box-shadow:0 20px 38px -20px rgba(185,70,61,.38);}

/* Kontaktflächen und Formulare. */
.cta-section{padding:54px; border-radius:26px; background:#fff; border-color:var(--line); box-shadow:0 12px 36px rgba(39,51,59,.035);}
.cta-section::before,.cta-section::after{display:none;}
.cta-inner{gap:44px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start;}
.cta-inner h2{color:var(--text); font-size:clamp(28px,3vw,38px); line-height:1.2;}
.cta-inner p{color:var(--text-dim); line-height:1.8;}
.cta-contact-row .ico{background:var(--signal-soft); border:0;}
.cta-contact-row a,.cta-contact-row span{color:var(--text);}
.cta-contact-row .lbl{color:var(--text-dimmer); font-family:'Inter',sans-serif; font-size:11px; margin-bottom:2px;}
.form-card{padding:26px; background:var(--bg); border-color:var(--line-soft); border-radius:18px;}
.form-card h3{font-size:20px;}
.form-row{gap:13px;}
.form-field{display:grid; gap:8px; min-width:0; color:var(--text); font-size:13px; font-weight:600; line-height:1.4;}
.form-field > span{display:block;}
.form-row input,.form-row textarea{padding:13px 14px; border-radius:11px; background:#fff; font-size:15px; font-weight:400;}
.form-row textarea{min-height:132px;}
.form-note{font-size:12px; line-height:1.6;}
.cta-inner .form-note{font-size:12px; line-height:1.6; margin-bottom:0; max-width:none;}
footer{background:#efeeeb; margin-top:74px; padding:64px 0 92px;}
.foot-grid{grid-template-columns:1.3fr .9fr .9fr 1.2fr; gap:38px; padding-bottom:40px; margin-bottom:24px;}
.foot-brand .logo-mark{height:64px; filter:none;}
.foot-brand p{font-size:14px; line-height:1.8;}
.foot-col h5{font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.07em; font-weight:700; color:var(--text); margin-bottom:18px;}
.foot-col ul{gap:9px;}
.foot-col a{font-size:13px; line-height:1.6; display:inline-block; padding-block:2px;}
.foot-col a:hover{padding-left:0; text-decoration:underline; text-underline-offset:4px;}
.foot-col a[href^="mailto:"]{overflow-wrap:anywhere;}
.foot-bottom{gap:14px 28px;}
.foot-bottom p,.foot-bottom .legal a{font-size:12px;}
.foot-bottom .legal{gap:20px; flex-wrap:wrap;}

/* Der Chatkopf darf die globale Sticky-Header-Regel nicht erben. */
.chatbot{right:22px; bottom:22px;}
.chatbot-toggle{height:54px; min-width:150px; background:var(--signal); border:0; box-shadow:0 8px 22px rgba(39,51,59,.17);}
.chatbot-toggle:hover{background:#a83d35; transform:translateY(-2px); box-shadow:0 10px 26px rgba(39,51,59,.18);}
.chatbot-toggle .chatbot-notice{display:none;}
.chatbot-panel{width:min(460px,calc(100vw - 32px)); height:min(650px,calc(100dvh - 110px)); border-radius:22px; box-shadow:0 20px 65px rgba(39,51,59,.2);}
.chatbot .chatbot-head{position:relative; top:auto; z-index:auto; flex:0 0 auto; background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:1px solid var(--line); box-shadow:none; padding:17px;}
.chatbot-title{min-width:0;}
.chatbot-title strong{letter-spacing:-.015em;}
.chatbot-title small::before{background:var(--status-green);}
.chatbot-avatar{background:#fff;}
.chatbot-messages{background:var(--bg); min-height:80px; padding:18px;}
.chatbot-message{font-size:14px; line-height:1.65;}
.chatbot-bubble{padding:12px 14px;}
.chatbot-close{width:42px; height:42px; flex:0 0 auto; background:var(--bg);}
.chatbot-form textarea{background:#fff; border-radius:12px; min-height:80px;}
.chatbot-action{min-height:38px; padding:8px 11px; border-radius:10px;}
.chatbot-quick button{min-height:40px; border-radius:10px;}
.chatbot-disclaimer{font-size:11px; line-height:1.45;}

@media (max-width:1150px){
  .hero-grid{gap:32px;}
  .hero-visual{padding:14px;}
  .status-card{padding:11px 12px; max-width:210px;}
  .status-card .t1{font-size:11px;}
  .products-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .foot-grid{gap:28px;}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr; gap:38px;}
  .hero-text{max-width:740px;}
  .hero-visual{order:initial; width:100%; max-width:560px; height:400px; margin-inline:auto;}
  .hero h1{max-width:780px; font-size:clamp(42px,5.8vw,58px);}
  .hero p.lead{max-width:700px;}
  .hero .eyebrow{font-size:11px;}
  .status-card{max-width:245px;}
  .status-card .t1{font-size:12px;}
  .status-card.c3{top:116px; right:18px;}
  .status-card.c4{bottom:111px; left:18px;}
  .services-grid{grid-template-columns:1fr;}
  .service-card{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
  .service-card img{height:100%; min-height:230px;}
  .feature,.feature.rev,.warum-grid,.showcase-grid,.cta-inner{grid-template-columns:1fr; gap:34px;}
  .home-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px 22px;}
  .device-panel{padding:23px;}
  .device-panel h3{font-size:21px;}
  .device-panel p{font-size:13px;}
  .device-panel .dp-specs div{font-size:11px;}
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .showcase-img{max-width:560px; width:100%; margin-inline:auto;}
  .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px;}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .team-card .photo{height:320px;}
  .team-card .body{padding:23px;}
  .cta-section{padding:38px;}
  .cta-inner p{max-width:650px;}
}
@media (max-width:760px){
  html{scroll-padding-top:88px;}
  .wrap{padding-inline:22px;}
  #siteHeader nav.wrap{height:76px;}
  #siteHeader .brand{left:22px;}
  #siteHeader .logo-mark{height:54px; max-width:110px;}
  .topstrip .wrap{height:36px; padding-inline:12px;}
  .topstrip .live{font-size:10px; letter-spacing:.01em; gap:9px;}
  .burger{width:112px; height:44px;}
  .burger span{top:21px;}
  .navlinks.open{grid-template-columns:1fr; padding:15px 20px 24px; max-height:calc(100dvh - 76px);}
  .navlinks.open a{font-size:15px; min-height:46px;}
  .hero{padding:44px 0 48px;}
  .hero h1{font-size:clamp(32px,7.5vw,45px); line-height:1.14; margin-bottom:20px;}
  .hero p.lead{font-size:16px; line-height:1.75; margin-bottom:25px;}
  .hero .eyebrow{font-size:9px; padding:7px 9px; letter-spacing:0; gap:7px; margin-bottom:20px;}
  .hero-ctas{gap:12px; margin-bottom:24px;}
  .hero-ctas .btn{white-space:normal; text-align:center;}
  .trust-mini{gap:8px;}
  .trust-mini div{font-size:12px;}
  .hero-visual{height:380px; border-radius:25px; margin-top:0;}
  .radar{width:280px; height:280px;}
  .radar-static.s1{inset:44px;}
  .radar-static.s2{inset:94px;}
  .status-card{max-width:216px; padding:11px 12px; border-radius:12px;}
  .status-card .t1{font-size:11px;}
  .status-card .t2{font-size:10px;}
  .status-card.c1{top:16px; left:12px;}
  .status-card.c2{bottom:16px; right:12px;}
  .status-card.c3{top:107px; right:10px;}
  .status-card.c4{bottom:101px; left:10px;}
  .hero::before,.page-hero::before{background-position:right 14px bottom 18px; background-size:min(53vw,245px) auto; opacity:.065;}
  body::before{background-size:min(78vw,450px) auto; opacity:.05;}
  .page-hero{padding:40px 0 44px;}
  .page-hero .crumbs{font-size:11px; margin-bottom:18px;}
  .page-hero h1{font-size:clamp(31px,7.6vw,42px); line-height:1.16;}
  .page-hero p.lead{font-size:16px;}
  .page-hero .hero-ctas{margin-top:24px;}
  .hero h1,.page-hero h1,.sec-head h2,.txt-col h3{overflow-wrap:normal; word-break:normal; hyphens:auto;}
  .section-pad{padding:60px 0;}
  .sec-head{margin-bottom:30px;}
  .sec-head h2{font-size:clamp(28px,6.7vw,34px); line-height:1.23;}
  .sec-head p{font-size:15px;}
  .eyebrow{font-size:10px; margin-bottom:18px;}
  .trustbar .wrap{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px;}
  .trust-item{flex-direction:column; gap:9px; align-items:flex-start;}
  .trust-item h4{font-size:12px;}
  .trust-item p{font-size:11px;}
  .feature + .feature{margin-top:58px;}
  .img-col .frame img{height:330px;}
  .service-card .content{padding:23px;}
  .service-card h3{font-size:22px;}
  .service-strip{padding:23px;}
  .service-strip .left{gap:14px;}
  .cards-grid,.cards-grid.two{grid-template-columns:1fr;}
  .cards-grid[style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  .info-card{padding:26px;}
  .home-grid{grid-template-columns:1fr; row-gap:20px;}
  .house-stage{padding:10px 7px 4px;}
  .business-stage{margin-top:14px;}
  .device-panel{padding:26px; height:auto;}
  .device-panel h3{font-size:23px;}
  .device-panel p{font-size:14px;}
  .device-panel .dp-specs div{font-size:12px;}
  .device-panel .dp-link{width:100%;}
  .stage-label{top:10px; left:10px; padding:6px 9px; font-size:10px;}
  .business-point{width:32px; height:32px; border-width:3px;}
  .business-point span{font-size:10px;}
  .device-legend{gap:10px 17px;}
  .timeline-grid{grid-template-columns:1fr; gap:25px;}
  .tl-step{padding-left:27px;}
  .tl-step .node{top:6px; left:0; width:11px; height:11px;}
  .faq summary{padding:19px 20px; font-size:16px;}
  .faq .fa-body{padding:0 20px 20px;}
  .team-grid{grid-template-columns:1fr;}
  .team-card .photo{height:350px;}
  .warum-img img{height:350px;}
  .pull-quote{padding:24px;}
  .pull-quote p{font-size:17px;}
  .filter-tabs{overflow:auto; flex-wrap:nowrap; gap:8px; padding-bottom:6px;}
  .filter-tabs button{padding-inline:14px; font-size:12px;}
  .product-card .pimg{height:190px;}
  .product-card .pbody{padding:21px;}
  .product-card h3{font-size:18px;}
  .product-card p{font-size:13px;}
  .showcase{padding:25px;}
  .showcase-img{padding:20px;}
  .brand-head{margin-bottom:20px;}
  .brand-head .count{font-size:11px;}
  .spec-row{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  .course-visual{min-height:320px;}
  .cta-section{padding:27px; border-radius:22px;}
  .cta-inner{gap:30px;}
  .cta-inner h2{font-size:30px;}
  .form-card{padding:22px;}
  .form-row input,.form-row textarea{font-size:16px;}
  .form-two{grid-template-columns:1fr;}
  footer{margin-top:48px; padding:48px 0 105px;}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 23px; padding-bottom:30px;}
  .foot-brand{grid-column:1 / -1;}
  .foot-brand p{max-width:480px;}
  .foot-col:last-child{grid-column:1 / -1;}
  .foot-bottom{align-items:flex-start; flex-direction:column;}
  .foot-bottom .legal{gap:12px 20px;}
  .chatbot{right:12px; bottom:max(12px,env(safe-area-inset-bottom));}
  .chatbot-toggle{height:51px; min-width:142px;}
  .chatbot-panel{position:fixed; left:9px; right:9px; width:auto; bottom:75px; height:calc(100dvh - 92px); max-height:650px; border-radius:19px;}
  .chatbot .chatbot-head{padding:13px;}
  .chatbot-title strong{font-size:14px;}
  .chatbot-avatar{width:42px; height:42px;}
  .chatbot-title small{font-size:10px;}
  .chatbot-messages{padding:14px;}
  .chatbot-form textarea{font-size:16px; min-height:72px; resize:none;}
  .chatbot-disclaimer{font-size:10px;}
}
@media (max-width:600px){
  .service-card{display:flex; flex-direction:column;}
  .service-card img{height:215px; min-height:0;}
  .products-grid{grid-template-columns:1fr;}
  .product-card .pimg{height:225px;}
  .product-card .pbody{padding:25px;}
}
@media (max-width:380px){
  .wrap{padding-inline:17px;}
  #siteHeader .brand{left:17px;}
  #siteHeader .logo-mark{height:46px; max-width:88px;}
  .burger{width:103px; padding-left:40px; padding-right:13px;}
  .burger span{left:12px;}
  .topstrip .live{font-size:0;}
  .topstrip .live::after{font-size:10px;}
  .hero h1{font-size:32px;}
  .hero .eyebrow{font-size:8.5px;}
  .hero-visual{height:366px;}
  .radar{width:245px; height:245px;}
  .radar-static.s1{inset:37px;}
  .radar-static.s2{inset:83px;}
  .status-card{max-width:206px; padding:9px 10px;}
  .status-card .t1{font-size:10.5px;}
  .status-card .t2{font-size:9px;}
  .status-card.c1{left:9px;}
  .status-card.c2{right:9px;}
  .status-card.c3{right:8px; top:103px;}
  .status-card.c4{left:8px; bottom:99px;}
  .hero p.lead,.page-hero p.lead{font-size:15px;}
  .cta-section{padding:22px;}
  .form-card{padding:17px;}
  .device-panel{padding:23px;}
  .chatbot-avatar{width:36px; height:36px;}
  .chatbot-title strong{font-size:12.5px;}
  .chatbot-title small{font-size:9px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  body::before,.hero::before,.page-hero::before,.topstrip .dot,.status-card .dot,
  .radar-sweep,.radar-ring,.marquee-track{animation:none !important;}
  .topstrip .dot,.status-card .dot{opacity:1; box-shadow:none;}
  .reveal,.reveal-left,.reveal-right,.reveal-zoom{opacity:1; transform:none;}
}

/* Gewünschter Glaslook: Licht bleibt hinter allen Inhalten. */
:root{
  --bg:#f5f8fa;
  --bg-alt:rgba(238,243,247,.38);
  --surface:rgba(255,255,255,.64);
  --surface-2:rgba(246,248,251,.58);
  --glass-action:linear-gradient(110deg,rgba(225,112,99,.3864) 0%,rgba(237,172,120,.3128) 48%,rgba(245,210,87,.4416) 100%);
  --glass-action-hover:linear-gradient(110deg,rgba(225,112,99,.506) 0%,rgba(237,172,120,.3956) 48%,rgba(245,210,87,.5612) 100%);
}
body{background:var(--bg);}
/* Durch die transparenten Banner reicht ein einziges, durchgehendes Wasserzeichen. */
body::before{background-position:right 6vw bottom 6vh;background-size:min(32vw,440px) auto;}
.hero::before,.page-hero::before{content:none;}
@media (max-width:760px){
  body::before{background-position:right 14px bottom 30px;background-size:min(62vw,285px) auto;}
}
body::after{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 18% 15%,rgba(224,132,124,.16),transparent 55%),
    radial-gradient(ellipse at 82% 58%,rgba(145,166,235,.12),transparent 55%),
    radial-gradient(ellipse at 20% 100%,rgba(244,215,111,.16),transparent 52%);
}
#cursorGlow{
  z-index:1;pointer-events:none;
  background:radial-gradient(460px circle at var(--gx,-500px) var(--gy,-500px),
    rgba(255,220,110,.28),rgba(225,112,99,.15) 42%,transparent 72%);
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#cursorGlow{display:block;}}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#cursorGlow{display:none;}}
.hero,.page-hero{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));}
.aurora{display:block;}
.aurora .a1{background:#df897f;opacity:.20;}
.aurora .a2{background:#f1cc50;opacity:.20;}
.aurora .a3{background:#91a6ed;opacity:.13;}
.hero-visual{border-color:transparent;background:transparent;box-shadow:none;}
.pulse-divider{background:transparent;}
.trustbar,.stats-band,.brand-marquee{background:rgba(255,255,255,.48);}
.brand-marquee::before{background:linear-gradient(90deg,rgba(245,248,250,.9),transparent);}
.brand-marquee::after{background:linear-gradient(270deg,rgba(245,248,250,.9),transparent);}
.warum{background:rgba(237,242,247,.32);}
footer{background:rgba(233,239,244,.55);}
.topstrip{background:rgba(239,244,247,.64);}
#siteHeader,#siteHeader.scrolled{background:rgba(255,255,255,.73);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
.navlinks.open{background:rgba(250,252,254,.96);}
.status-card,.info-card,.service-card,.service-strip,.product-card,.photo-card,.team-card,
.device-panel,.showcase,.cta-section,.faq details{
  background:rgba(255,255,255,.64);border-color:rgba(151,164,173,.24);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 12px 32px -18px rgba(45,65,83,.17),inset 0 1px 0 rgba(255,255,255,.84);
}
.form-card,.showcase-img,.spec-box{background:rgba(244,247,250,.48);}
.radar-core{background:radial-gradient(circle at 35% 28%,rgba(255,250,220,.95),rgba(237,194,61,.74));box-shadow:0 8px 28px rgba(224,186,52,.19);}
.btn,.btn-primary,.btn-ghost,.burger,.chatbot-toggle,.chatbot-action,.chatbot-send,
.chatbot-close,.chatbot-quick button,.filter-tabs button,.filter-tabs button.active{
  color:#25343e;background:var(--glass-action);border:1px solid rgba(255,255,255,.85);
  backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(164,116,86,.12),0 8px 24px -14px rgba(142,77,44,.35);
}
.btn:hover,.btn-primary:hover,.btn-ghost:hover,.burger:hover,.chatbot-toggle:hover,
.chatbot-action:hover,.chatbot-send:hover,.chatbot-close:hover,.chatbot-quick button:hover,
.filter-tabs button:hover{
  color:#25343e;background:var(--glass-action-hover);border-color:rgba(255,255,255,.95);
  box-shadow:inset 0 1px 0 #fff,0 10px 26px -13px rgba(160,99,54,.38);
}
.filter-tabs button.active{border-color:rgba(171,76,56,.64);box-shadow:inset 0 0 0 1px rgba(171,76,56,.32);font-weight:700;}
.burger span,.burger span::before,.burger span::after{background:#25343e;}
.chatbot-send{color:#25343e;}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.form-status:not(:empty){padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid var(--line);line-height:1.55;}
.form-status[data-state="error"]{color:#913a32;border-color:rgba(171,76,56,.4);}
.form-status[data-state="success"]{color:#176744;border-color:rgba(21,148,95,.35);}
.btn:disabled{cursor:wait;transform:none;opacity:.75;}
@media (prefers-reduced-motion:reduce){.aurora span{animation:none!important;}}
