/* Generated semantic bundle from ssr-styles.css. */
@font-face{font-family:'BRIGE';src:url('/fonts/brige_font.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

.skip-link{position:absolute;top:-100%;left:16px;z-index:10000;padding:10px 18px;background:#a3184d;color:#fff;font-size:15px;font-family:'Roboto',sans-serif;text-decoration:none;border-radius:0 0 4px 4px}
.skip-link:focus{top:0}
.map-consent-wrap{min-height:180px;background:#f2f2f2;display:grid;place-items:center}
.map-consent-placeholder{padding:28px;text-align:center;max-width:560px}
.map-consent-placeholder p{margin-bottom:14px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand-primary: #a3184d;
  --brand-primary-dark: #640e34;
  --brand-primary-light: #c42060;
  --brand-secondary: #f9eef2;
  --brand-accent: #1bce7c;
  --nav-link-color: #861845;
  --bg: #f7f7f7;
  --bg-alt: #ffffff;
  --bg-dark: #640e34;
  --text: #3c3c3b;
  --text-secondary: #555555;
  --text-muted: #AEAEAE;
  --text-on-dark: #ffffff;
  --border: #ededed;
  --border-light: #f4f4f4;
  --radius: 0px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.04);
  --font-brand: 'BRIGE', sans-serif;
  --font-heading: 'Roboto', Helvetica, Arial, sans-serif;
  --font-sans: 'Roboto', Helvetica, Arial, Verdana, sans-serif;
  --max-width: 1280px;
  --nav-height: 150px;
  --top-bar-height: 50px;
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);
  color:var(--text);
  background:var(--bg);
  font-size:15px;
  line-height:27px;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  min-width:0;
}
a{color:var(--brand-primary);text-decoration:none;transition:color .15s}
a:hover{color:var(--brand-primary-light)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:var(--brand-primary);line-height:1.4;text-transform:uppercase}
h1{font-size:30px;line-height:44px;margin:0}
h2{font-size:22px;line-height:32px;margin:0 0 10px}
h3{font-size:18px;line-height:24px;margin:0 0 10px}
h4{font-size:16px;margin:0 0 10px}
p{font-size:15px;line-height:27px;color:var(--text);margin:0 0 10px}
table{width:100%;table-layout:fixed}

.container{max-width:var(--max-width);margin:0 auto;padding:0 50px;overflow-wrap:break-word;word-wrap:break-word}

/* TOP BAR */
.top-bar{
  background:#a3184d;
  color:white;
  height:var(--top-bar-height);
  line-height:27px;
  font-size:15px;
  padding:0 50px;
}
.top-bar-inner{
  max-width:1280px;margin:0 auto;padding:0;
  display:flex;align-items:center;justify-content:space-between;
  height:100%;
}
.top-bar-text{flex:1;min-width:0}
.top-bar a{color:white;text-decoration:underline}
.top-bar a:hover{color:rgba(255,255,255,0.8)}

/* NAV */
.main-nav{
  position:relative;z-index:1000;
  background:#ffffff;
  border-bottom:none;
  height:var(--nav-height);
  box-shadow:rgba(0, 0, 0, 0.07) 0px 0px 15px 1px;
}
.nav-container{
  max-width:var(--max-width);margin:0 auto;padding:0 50px;
  display:flex;align-items:center;justify-content:space-between;
  height:100%;gap:2rem;
}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.nav-logo img{width:300px;height:70px;object-fit:contain}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);transition:all .2s}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-list{
  display:flex;list-style:none;gap:0;align-items:center;flex-wrap:nowrap;
}
.nav-item{
  margin:18px 0 18px 30px;
}
.nav-item>a{
  display:flex;padding:4px;position:relative;
  font-family:'Roboto',sans-serif;font-size:24px;font-weight:500;color:var(--nav-link-color);
  transition:color .15s;
  white-space:nowrap;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:normal;
}
.nav-item>a::after{
  content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;
  background:linear-gradient(to left,#a3184d 30%,#640e34 100%);transition:width .3s ease;
}
.nav-item>a:hover::after,.nav-item[data-active="true"]>a::after{
  width:100%;
}
.nav-item>a:hover,.nav-item[data-active="true"]>a{
  color:var(--brand-primary);
}
.nav-item.has-dropdown{position:relative}
.nav-dropdown{
  display:none;position:absolute;top:100%;left:0;
  background:#fff;
  padding:10px;
  min-width:340px;box-shadow:var(--shadow-md);
  list-style:none;z-index:100;
}
.nav-item.has-dropdown:hover .nav-dropdown{display:block}
.nav-dropdown li a{
  display:block;padding:10px 10px;font-family:'Roboto',sans-serif;font-size:20px;font-weight:500;
  color:#3c3c3b;white-space:nowrap;
}
.nav-dropdown li a:hover{background:linear-gradient(135deg,rgba(163,24,77,0.07) 30%,rgba(100,14,52,0.07) 100%);color:var(--brand-primary)}

.nav-mobile-list{display:none}
.nav-request-cta{display:inline-flex;align-items:center;justify-content:center;margin-left:18px;padding:11px 20px;background:var(--brand-primary);color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.nav-request-cta:hover{background:var(--brand-primary-dark);color:#fff}

@media(min-width:768px){
  .nav-container{gap:10px}
  .nav-logo img{width:250px}
  .nav-item{margin:18px 0 18px 12px}
  .nav-item>a{font-size:15px}
  .nav-dropdown{min-width:260px}
  .nav-dropdown li a{font-size:15px}
}

.nav-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:16px}
.nav-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:rgba(255,255,255,0.85);transition:color .15s,background .15s;text-decoration:none}
.nav-icon-btn:hover{color:#fff;background:rgba(255,255,255,0.15)}
.nav-icon-btn svg{display:block}
.nav-icon-badge{position:absolute;top:0;right:-2px;min-width:17px;height:17px;border-radius:9px;background:#fff;color:#a3184d;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none}

/* MOBILE NAV */
@media(max-width:767px){
  .top-bar{font-size:12px;padding:0 15px;height:auto;min-height:36px;line-height:1.4}
  .top-bar-inner{flex-wrap:nowrap;gap:8px}
  .top-bar-text{text-align:center}
  .nav-icons{gap:2px;margin-left:8px}
  .nav-icon-btn{width:30px;height:30px}
  .nav-icon-btn svg{width:16px;height:16px}
  .nav-icon-badge{top:-1px;right:-3px;min-width:15px;height:15px;font-size:9px}
  .main-nav{height:60px}
  .nav-container{padding:0 15px}
  .nav-toggle{display:flex}
  .nav-logo img{width:200px;height:auto}
  .nav-list{display:none}
  .nav-request-cta{display:none}
  .nav-mobile-list{
    display:none;position:fixed;top:0;right:-280px;bottom:0;
    width:280px;
    background:var(--bg-alt);
    flex-direction:column;padding:60px 0 1rem;gap:0;
    box-shadow:-2px 0 8px rgba(0,0,0,0.15);
    z-index:999;
    overflow-y:auto;
    transition:right .3s ease;
    list-style:none;
  }
  .nav-mobile-list.nav-open{display:flex;right:0}
  .nav-mobile-list .nav-item>a{padding:12px 20px;font-size:15px;color:var(--text);border-bottom:1px solid var(--border);display:block}
  .nav-mobile-list .nav-dropdown{position:static;box-shadow:none;border:none;padding-left:0;min-width:0;width:100%;list-style:none}
  .nav-mobile-list .nav-dropdown li a{padding:10px 20px 10px 35px;font-size:14px;border-bottom:1px solid var(--border-light);display:block}
  .nav-mobile-list .nav-item.has-dropdown .nav-dropdown{display:none}
  .nav-mobile-list .nav-item.has-dropdown.dropdown-open .nav-dropdown{display:block}
  .container{padding:0 15px}
}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-sans);padding:10px 20px;font-size:15px;font-weight:400;
  border:none;
  cursor:pointer;transition:all .15s;text-decoration:none;
  white-space:nowrap;
}
.btn-primary{
  background:var(--brand-primary);color:white;
}
.btn-primary:hover{background:var(--brand-primary-dark);color:white}
.btn-secondary{
  background:var(--brand-secondary);color:var(--brand-primary);border:1px solid var(--border);
}
.btn-secondary:hover{background:var(--border)}
.btn-outline{
  background:rgba(255,255,255,0.1);color:white;border:1px solid rgba(255,255,255,0.3);
  backdrop-filter:blur(4px);
}
.btn-outline:hover{background:rgba(255,255,255,0.2);color:white}

/* SECTIONS */
.section{padding:30px 0}
.section-title{margin-bottom:10px;font-size:22px}
.welcome-heading{font-size:18px;line-height:27px;margin-bottom:15px;color:var(--text)}
.section-cta{background:var(--bg);padding:40px 35px;text-align:center}
.section-cta .container{max-width:1240px;padding:0}
.section-cta h3{font-size:18px;font-weight:400;color:var(--brand-primary);text-transform:uppercase;margin-bottom:10px}
.section-cta p{line-height:27px;font-size:15px;color:var(--text);margin-bottom:10px}

/* FOOTER */
.site-footer{
  background:#640e34;color:var(--text-on-dark);
  padding:0;margin-top:0;
}
.footer-container{
  max-width:1280px;margin:0 auto;padding:60px 25px 22px;
  display:grid;grid-template-columns:repeat(3,308px);
  gap:0;
}
.footer-6col{grid-template-columns:repeat(6,1fr)}
.footer-social-label{font-size:14px;color:rgba(255,255,255,0.7);margin-bottom:5px}
.footer-news-list{list-style:none;padding:0}
.footer-news-list li{margin-bottom:12px}
.footer-news-list li a{font-size:14px;color:rgba(255,255,255,0.85);text-decoration:none;display:block;line-height:25px}
.footer-news-list li a:hover{color:white}
.footer-news-date{font-size:13px;color:rgba(255,255,255,0.5);display:block;margin-top:3px}
.footer-col{
  padding:0 25px;margin:0 0 30px;
  font-size:14px;line-height:25px;
}
.footer-col .footer-heading{
  font-family:var(--font-heading);font-size:18px;font-weight:600;
  text-transform:uppercase;color:white;margin:0 0 15px;
}
.footer-col p{font-size:14px;color:rgba(255,255,255,0.85);line-height:25px;margin-bottom:5px}
.footer-col a{color:white;text-decoration:none}
.footer-col a:hover{color:white;text-decoration:underline}
.footer-col ul{list-style:none;padding:0}
.footer-col ul li{margin-bottom:5px}
.footer-col ul li a{font-size:14px;color:white;line-height:25px;text-decoration:none}
.footer-col ul li a:hover{color:white}
.footer-social{display:flex;gap:15px;margin-top:10px}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;
  background:rgba(255,255,255,0.15);color:white;
  font-size:16px;transition:background .2s;
}
.footer-social a:hover{background:rgba(255,255,255,0.3)}
.footer-bottom{
  margin-top:0;padding:10px 0;
  min-height:86px;
  border-top:1px solid rgba(255,255,255,0.15);
  background:#640e34;
}
.footer-bottom-inner{
  max-width:1280px;margin:0 auto;padding:0 25px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:15px;
}
.footer-bottom-logo img{height:40px;width:auto;opacity:0.9}
.footer-bottom-text{font-size:13px;color:rgba(255,255,255,0.5);flex:1;text-align:center}
.footer-bottom-nav{display:flex;gap:15px}
.footer-bottom-nav a{font-size:13px;color:rgba(255,255,255,0.6);text-decoration:none}
.footer-bottom-nav a:hover{color:white}

/* GO TO TOP */
.go-to-top{
  position:fixed;bottom:20px;right:20px;
  width:40px;height:40px;
  background:var(--brand-primary);color:white;
  border:none;cursor:pointer;
  display:none;align-items:center;justify-content:center;
  font-size:18px;z-index:999;
  transition:opacity .3s;opacity:0.8;
}
.go-to-top:hover{opacity:1}
.go-to-top.visible{display:flex}

@media(max-width:900px){
  .footer-container{grid-template-columns:1fr 1fr;padding:0 15px}
  .footer-6col{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:700px){
  .footer-6col{grid-template-columns:1fr 1fr}
}
@media(max-width:479px){
  .footer-container{grid-template-columns:1fr;padding:0 15px}
  .footer-bottom-inner{flex-direction:column;text-align:center;padding:0 15px}
  .footer-bottom-nav{flex-wrap:wrap;justify-content:center}
}

/* UTILITY - OVERFLOW PROTECTION */

/* COOKIE CONSENT BANNER */
.cookie-consent{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:10000;
  justify-content:center;align-items:flex-end;
  padding:0.75rem;
  background:rgba(0,0,0,0.4);
}
.cookie-consent-inner{
  background:var(--bg-alt);border:1px solid var(--border);
  padding:1.25rem 1.5rem;
  max-width:680px;width:100%;
  box-shadow:0 -4px 24px rgba(0,0,0,0.15);
}
.cookie-consent-title{
  font-family:var(--font-heading);font-weight:700;font-size:22px;
  margin-bottom:0.5rem;color:var(--text);
}
.cookie-consent-text p{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:0.75rem}
.cookie-consent-text a{color:var(--brand-primary);text-decoration:underline}
.cookie-consent-options{margin-bottom:1rem;padding:0.75rem 0;border-top:1px solid var(--border)}
.cookie-option{display:flex;align-items:center;gap:0.5rem;font-size:15px;color:var(--text);padding:0.35rem 0;cursor:pointer}
.cookie-option input[type="checkbox"]{width:16px;height:16px;accent-color:var(--brand-primary)}
.cookie-option-hint{font-size:13px;color:var(--text-secondary)}
.cookie-consent-buttons{display:flex;flex-wrap:wrap;gap:0.5rem}
.cookie-btn{
  padding:0.5rem 1rem;font-size:15px;
  font-weight:600;cursor:pointer;border:1px solid var(--border);
  font-family:var(--font-sans);transition:background 0.2s,color 0.2s;
}
.cookie-btn-accept{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}
.cookie-btn-accept:hover{background:var(--brand-primary-dark)}
.cookie-btn-reject{background:var(--bg-alt);color:var(--text)}
.cookie-btn-reject:hover{background:var(--bg)}
.cookie-btn-save{background:var(--brand-primary);color:white;border-color:var(--brand-primary)}
.cookie-btn-save:hover{background:var(--brand-primary-dark)}
.cookie-btn-settings{background:transparent;color:var(--text-secondary);border-color:transparent}
.cookie-btn-settings:hover{color:var(--text)}

@media(max-width:479px){
  .cookie-consent{padding:0}
  .cookie-consent-inner{padding:1rem}
  .cookie-consent-buttons{flex-direction:column}
  .cookie-btn{width:100%;text-align:center}
}

#ssb-container{position:fixed;top:30%;right:0;z-index:200}
#ssb-container ul{padding:0;margin:0;list-style:none}
#ssb-container ul li{margin:0;line-height:45px}
#ssb-container ul li p{margin:0}
#ssb-container ul li a{display:block;line-height:45px;text-align:left;white-space:nowrap;text-decoration:none;padding:0 15px 0 0;color:#fff}
#ssb-container ul li a:hover{text-decoration:none}
.ssb-icon{display:inline-block;width:50px;text-align:center;line-height:45px;vertical-align:middle}
.ssb-icon svg{vertical-align:middle}
.ssb-text{line-height:45px;font-size:14px;font-family:'Roboto',sans-serif}
.ssb-btn-phone{background:#640e34}
.ssb-btn-phone:hover{background:rgba(100,14,52,0.9)}
.ssb-btn-mail{background:#861845}
.ssb-btn-mail:hover{background:rgba(134,24,69,0.9)}
.ssb-btn-anfrage{background:#a3184d}
.ssb-btn-anfrage:hover{background:rgba(163,24,77,0.9)}
#ssb-container.ssb-anim-slide{min-width:200px;overflow:hidden}
#ssb-container.ssb-anim-slide ul li{transform:translateX(calc(100% - 50px));transition:transform .3s ease}
#ssb-container.ssb-anim-slide ul li:hover,#ssb-container.ssb-anim-slide ul li:focus-within{transform:translateX(0)}
#ssb-container a[data-tooltip]{position:relative}
#ssb-container a[data-tooltip]::before{content:attr(data-tooltip);position:absolute;right:55px;top:50%;z-index:5;transform:translateY(-50%);padding:7px 10px;border-radius:3px;background:#222;color:#fff;font-size:13px;line-height:1.2;box-shadow:0 3px 12px rgba(0,0,0,.25);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease;white-space:nowrap}
#ssb-container a[data-tooltip]:hover::before,#ssb-container a[data-tooltip]:focus-visible::before{opacity:1;visibility:visible}
@media(max-width:640px){#ssb-container{display:none}}
.mobile-action-bar{display:none}
@media(max-width:640px){
  body{padding-bottom:58px}
  .mobile-action-bar{position:fixed;z-index:998;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 -4px 18px rgba(0,0,0,.16)}
  .mobile-action-bar a{min-height:56px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;color:#fff;background:#640e34}
  .mobile-action-bar a:last-child{background:#a3184d}
  .cb-container{bottom:72px}
}

.fts-hero{background:#f1f1f1;padding:60px 0 40px;text-align:center}
.fts-hero-inner{max-width:900px;margin:0 auto}
.fts-cube-icon{display:block;margin:0 auto 20px;width:60px;height:60px}
.fts-subtitle{font-family:'Roboto',sans-serif;font-weight:600;font-size:18px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin:0 0 10px}
.fts-title{font-family:'Roboto',sans-serif;font-weight:600;font-size:32px;color:var(--text);margin:0 0 20px;text-transform:uppercase}
.fts-intro{font-size:15px;line-height:27px;color:var(--text-secondary);max-width:800px;margin:0 auto}

.fts-services{padding:60px 0}
.fts-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.fts-card{background:#fff;border:1px solid #e0e0e0;padding:0;text-align:left}
.fts-card-img{width:100%;overflow:hidden}
.fts-card-img img{width:100%;height:auto;display:block}
.fts-card h2{font-family:'Roboto',sans-serif;font-weight:600;font-size:22px;margin:20px 25px 8px;text-transform:uppercase}
.fts-card h2 a{color:var(--text);text-decoration:none}
.fts-card h2 a:hover{color:var(--brand-primary)}
.fts-prefix{color:var(--text-secondary)}
.fts-card h4{font-family:'Roboto',sans-serif;font-weight:400;font-size:15px;color:var(--text-secondary);margin:0 25px 15px;font-style:italic}
.fts-card p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 25px 12px}
.fts-card ul{margin:0 25px 15px 40px;padding:0;list-style:disc}
.fts-card li{font-size:14px;line-height:24px;color:var(--text-secondary);margin-bottom:4px}
.fts-mehr{display:inline-block;margin:10px 25px 25px;padding:10px 28px;border:2px solid var(--brand-primary);color:var(--brand-primary);font-family:'Roboto',sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;text-decoration:none;transition:all .3s}
.fts-mehr:hover{background:var(--brand-primary);color:#fff}

.fts-warum{background:#f1f1f1;padding:50px 0}
.fts-warum h3{font-family:'Roboto',sans-serif;font-weight:600;font-size:24px;color:var(--text);margin:0 0 20px;text-transform:uppercase}
.fts-warum ul{margin:0 0 20px 20px;padding:0;list-style:disc}
.fts-warum li{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:6px}
.fts-warum p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 0 12px}

.fts-branchen{padding:50px 0}
.fts-branchen h3{font-family:'Roboto',sans-serif;font-weight:600;font-size:24px;color:var(--text);margin:0 0 15px;text-transform:uppercase}
.fts-branchen p{font-size:15px;line-height:27px;color:var(--text-secondary);margin:0 0 12px}
.fts-branchen-list{margin:0 0 20px 20px;padding:0;list-style:disc;columns:2;column-gap:40px}
.fts-branchen-list li{font-size:15px;line-height:27px;color:var(--text-secondary);margin-bottom:4px}

@media(max-width:767px){
  .fts-cards{grid-template-columns:1fr}
  .fts-branchen-list{columns:1}
  .fts-title{font-size:24px}
}
