:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f5f7fb;
  --text:#111827;
  --muted:#667085;
  --line:#dbe3ef;
  --blue:#2b62c9;
  --blue-2:#18459b;
  --navy:#071522;
  --navy-2:#0a1320;
  --shadow:0 18px 44px rgba(7,18,32,.12);
  --container:1280px;
}

[id]{
    scroll-margin-top:110px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%}
body{
  font-family: Arial, Helvetica, sans-serif;
  color:var(--text);
  background:var(--bg);
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
main{display:block}

.container{
  width:min(var(--container), calc(100% - 48px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:9999;

  background:#fff;
  border-bottom:1px solid rgba(16,24,40,.07);

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:inherit;
  min-width:170px;
}
.brand-mark{
  line-height:.86;
  font-weight:900;
  letter-spacing:-.07em;
}
.brand-mark .kfz{
  display:block;
  font-size:34px;
  color:#1a4baf;
}
.brand-mark .small{
  display:block;
  font-size:12px;
  color:#263043;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.brand-mark .nesim{
  display:block;
  font-size:12px;
  color:#263043;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-top:1px;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:38px;
  flex:1;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.nav a{
  color:#1d2430;
  padding:8px 0;
}
.nav a.active,
.nav a:hover{color:#2a5ac1}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 26px;
  border-radius:8px;
  background:linear-gradient(180deg,#15263c 0%, #08111b 100%);
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 22px rgba(4,10,18,.18);
}

.hero{
  background:#fff;
  overflow:hidden;
}

.hero-inner{
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  align-items:stretch;
  min-height:510px;
}

.hero-copy{
  padding:70px 30px 34px 4px;
  max-width:620px;
  position:relative;
  z-index:2;
}
.eyebrow{
  margin:0 0 16px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#4f648d;
}
.hero h1{
  margin:0;
  font-size:clamp(46px, 4.9vw, 74px);
  line-height:.92;
  letter-spacing:-.07em;
  text-transform:uppercase;
  color:#0e1624;
}
.hero h1 .accent{display:block;color:#2a5bc1}
.hero p{
  margin:24px 0 0;
  max-width:520px;
  font-size:19px;
  line-height:1.48;
  color:#566171;
}
.actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:34px;
  flex-wrap:wrap;
}
.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 26px;
  border-radius:7px;
  background:linear-gradient(180deg,#3c79e8 0%, #245ccc 100%);
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:0 10px 20px rgba(36,92,204,.25);
}

.btn-primary:hover,
.btn-primary:focus-visible{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
	box-shadow:0 12px 20px rgba(9,20,34,.26) !important;
}

.btn-primary i{
    margin-right:8px;
}

.btn-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:#1f2a39;
}
.play{
  width:48px;height:48px;border-radius:999px;
  border:2px solid #c8d3e4;
  display:grid;place-items:center;
  background:#fff;
  box-shadow:0 6px 14px rgba(9,16,28,.06);
}
.play svg{width:15px;height:15px;fill:#2458b9;margin-left:2px}

.hero-visual{
  position:relative;
  min-height:510px;
  background:#e7edf7;
  overflow:hidden;
  margin-right:calc((100vw - min(var(--container), calc(100% - 48px))) / -2);
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=1800&q=80');
  background-size:cover;
  background-position:center;
  animation:heroSlider 28s infinite;
}

.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.82) 0 8%, rgba(255,255,255,0) 31%);
  pointer-events:none;
}

@keyframes heroSlider{
  0%,24%{
    background-image:url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=1800&q=80');
  }
  25%,49%{
    background-image:url('https://images.unsplash.com/photo-1555215695-3004980ad54e?auto=format&fit=crop&w=1800&q=80');
  }
  50%,74%{
    background-image:url('https://images.unsplash.com/photo-1541348263662-e068662d82af?auto=format&fit=crop&w=1800&q=80');
  }
  75%,100%{
    background-image:url('https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?auto=format&fit=crop&w=1800&q=80');
  }
}



.field select{
  width:100%;
  padding:14px 14px;
  border:1px solid #cfd8e6;
  background:#fff;
  border-radius:6px;
  outline:none;
  font:inherit;
}

.field input[type="file"]{
  width:100%;
  padding:12px 14px;
  border:1px solid #cfd8e6;
  background:#fff;
  border-radius:6px;
  outline:none;
  font:inherit;
}

.field select:focus,
.field input[type="file"]:focus,
.field input:focus,
.field textarea:focus{
  border-color:#4f648d;
}




.trust{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border-top:1px solid rgba(16,24,40,.05);
  border-bottom:1px solid rgba(16,24,40,.05);
}
.trust-item{
  display:flex;
  align-items:center;
  gap:15px;
  padding:22px 24px;
  border-right:1px solid rgba(16,24,40,.06);
}
.trust-item:last-child{border-right:0}
.icon{
  flex:0 0 42px;
  width:42px;height:42px;border-radius:50%;
  background:#eef3fb;
  border:1px solid #d5dfed;
  display:grid;place-items:center;
  color:#2458b9;
}
.icon svg{
  width:22px;height:22px;
  stroke:#2458b9;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trust h3{
  margin:0;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.01em;
  color:#202734;
}
.trust p{
  margin:5px 0 0;
  font-size:14px;
  color:#5f6a78;
}

.services{
  background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);
  color:#fff;
  padding:38px 0 52px;
  margin-bottom: 50px;
}
.services-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.services-actions{
    display:flex;
    gap:10px;
}
.services-head h2,
.section-title{
  margin:0;
  font-size:20px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.services-head p{
  margin:10px 0 0;
  color:rgba(255,255,255,.74);
  font-size:15px;
}
.btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:6px;
  background:linear-gradient(180deg,#3472df 0%, #245fcd 100%);
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px;
  box-shadow:0 12px 20px rgba(9,20,34,.26);
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.card{
  background:#fff;
  overflow:hidden;
  border-radius:0 0 10px 10px;
  box-shadow:0 12px 26px rgba(4,11,19,.22);
  border:1px solid rgba(64,111,190,.56);
}
.card .img{
  aspect-ratio:1/1;
  overflow:hidden;
  background:#101826;
}
.card .img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.card .label{
  padding:12px 12px 13px;
  color:#101a28;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  line-height:1.25;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.section{
  background:#fff;
  padding:20px 0 0px;
  
  opacity:0;
  transform:translateY(30px);
  transition:opacity 1s ease, transform 1s ease;
}

.section.is-visible{
  opacity:1;
  transform:translateY(0);
}

.price-box.section{
  padding:0;
}


.split{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.box{
  background:#fff;
  padding:26px 28px 28px;

}
.box-backup{
  background:#fff;
  border:1px solid var(--line);
  padding:26px 28px 28px;
  min-height:240px;
}
.box h2{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.04em;
  text-transform:uppercase;
  color:#0e1624;
}
.box p{
  margin:0;
  color:#5c6674;
  line-height:1.65;
  font-size:16px;
}
.mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  
}
.mini{
  border:1px solid var(--line);
  background:#f8fafc;
  padding:14px;
}
.mini strong{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  text-transform:uppercase;
}
.mini span{
  color:#627082;
  font-size:14px;
  line-height:1.5;
}

.pricing{
  background:#fff;
  padding:46px 0 58px;
}
.price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:20px;
}
.price-card{
  border:1px solid var(--line);
  background:#fff;
  padding:24px;
}
.price-card h3{
  margin:0 0 10px;
  font-size:20px;
  text-transform:uppercase;
}
.price-card .price{
  font-size:34px;
  font-weight:900;
  color:#2458b9;
  margin:0 0 16px;
}
.price-card ul{
  margin:0;
  padding-left:18px;
  color:#5b6573;
  line-height:1.7;
}

.contact{
  background:#fff;
  padding:46px 0 58px;
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  padding: 26px 28px 28px;
}
.contact-card{
  border:1px solid var(--line);
  padding:26px 28px;
  background:#fff;
}
.contact-card h2{
  margin:0 0 14px;
  font-size:28px;
  text-transform:uppercase;
  letter-spacing:-.04em;
}
.contact-list{
  display:grid;
  gap:14px;
  color:#5c6674;
  font-size:16px;
}
.contact-list strong{
  display:block;
  color:#172032;
  margin-bottom:4px;
}
.form{
  display:grid;
  gap:12px;
}
.field{
  display:grid;
  gap:6px;
}
.field label{
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  color:#39475b;
  letter-spacing:.03em;
}
.field input,
.field textarea{
  width:100%;
  padding:14px 14px;
  border:1px solid #cfd8e6;
  background:#fff;
  border-radius:6px;
  outline:none;
}
.field textarea{min-height:140px;resize:vertical}
.form button{
  border:0;
  cursor:pointer;
}

.legal{
  background:#fff;
  padding:42px 0 58px;
}
.legal-box{
  border:1px solid var(--line);
  background:#fff;
  padding:26px 28px;
}
.legal-box h1,
.legal-box h2{
  margin:0 0 14px;
  text-transform:uppercase;
  letter-spacing:-.04em;
}
.legal-box p, .legal-box li{
  color:#5c6674;
  line-height:1.7;
  font-size:16px;
}
.legal-box ul{
  margin:0 0 0 18px;
  padding:0;
}

.legal-grid{
    display:flex;
    flex-direction:column;
    gap:24px;
    margin-top:30px;
}

.legal-content{
    padding:24px;
    line-height:1.75;
    color:#5b6573;
    font-size:16px;
}

.footer{
  background:var(--navy);
  color:#dce4f2;
  padding:22px 0;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:14px;
}
.footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.footer a{color:#dce4f2}
.footer a:hover{color:#fff}


.section-divider{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;


    color:#4f648d;
    font-size:14px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.section-divider::before,
.section-divider::after{
    content:"";
    width:2px;
    height:50px;
	background:#4f648d;
}

.section-divider::before{
    margin-bottom:12px;
}

.section-divider::after{
    margin-top:12px;
}



.weg-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}



.modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(7,21,34,.75);

    display:none;
    justify-content:center;
    align-items:center;

    z-index:99999;
}

.modal-overlay.open{
    display:flex;
}

.modal{
    width:min(700px,95vw);
    height:min(700px,90vh);

    background:#fff;

    border-radius:8px;
    overflow:hidden;

    box-shadow:var(--shadow);

    display:flex;
    flex-direction:column;
}

.modal-bar{
    height:70px;

    background:linear-gradient(
        180deg,
        var(--navy) 0%,
        var(--navy-2) 100%
    );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 20px;
}

.modal-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
}

.modal-bar-name{
    display:flex;
    flex-direction:column;
    gap:3px;
    font-size:16px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.online-status{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:500;
}

.online-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#31d158;
    box-shadow:0 0 0 4px rgba(49,209,88,.18);
    flex-shrink:0;
}

.online-text{
	text-transform:none;
    color:#31d158;
}

.step-text{
    color:rgba(255,255,255,.75);
    margin-left:8px;
}

.modal-close{
    border:0;
    background:none;
    color:#fff;
    font-size:28px;
    cursor:pointer;
}

.modal-messages{
    flex:1;

    overflow-y:auto;

    padding:15px;

    display:flex;
    flex-direction:column;
    gap:14px;

    background:#fff;
}

.chat-calendar-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:10px;
}

.chat-calendar-head button{
	width:34px;
	height:34px;
	border:0;
	border-radius:8px;
	background:rgba(204,138,0,.12);
	color:#cc8a00;
	font-size:24px;
	cursor:pointer;
}

.chat-calendar-head strong{
	font-size:15px;
	font-weight:800;
}

.chat-calendar-weekdays,
.chat-calendar{
	display:grid;
	grid-template-columns:repeat(7,1fr);
	gap:6px;
}

.chat-calendar-weekdays{
	margin-bottom:6px;
}

.chat-calendar-weekdays span{
	font-size:11px;
	font-weight:700;
	color:#777;
	text-align:center;
}

.chat-calendar-empty{
	min-height:34px;
}

.chat-calendar-day{
	min-height:34px;
	border:1px solid rgba(204,138,0,.25);
	border-radius:8px;
	background:#fff;
	color:#222;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
}

.chat-calendar-day:hover{
	background:rgba(204,138,0,.12);
}

.chat-calendar-day.is-active{
	background:#111827;
	color:#fff;
}

.chat-calendar-day.is-disabled,
.chat-calendar-day:disabled{
	opacity:.35;
	cursor:not-allowed;
	background:#eee;
	color:#777;
}

.termin-picker{
	width:100%;
	max-width:400px;
	overflow:hidden;
}

.termin-slots{
	max-width:100%;
	overflow-wrap:anywhere;
	word-break:break-word;
}


.termin-selected{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:10px 12px;
	border:1px solid rgba(204,138,0,.3);
	border-radius:8px;
	background:rgba(204,138,0,.08);
}

.termin-selected span{
	font-size:14px;
	font-weight:700;
	color:#222;
	word-break:break-word;
}

.termin-selected button{
	border:0;
	background:#cc8a00;
	color:#fff;
	border-radius:7px;
	padding:8px 10px;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	white-space:nowrap;
}

.termin-slot-list{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:8px;
}

.termin-slot{
	border:1px solid rgba(204,138,0,.35);
	background:rgba(204,138,0,.08);
	color:#cc8a00;
	border-radius:8px;
	padding:9px 14px;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
}

.termin-slot:hover{
	background:#cc8a00;
	color:#fff;
}

.termin-error{
	font-size:13px;
	color:#b00020;
	margin:10px 0 8px;
	max-width:100%;
	white-space:normal;
	overflow-wrap:anywhere;
	word-break:break-word;
	line-height:1.45;
}


.typing{
    display:flex;
    align-items:center;
    gap:4px;
    min-height:20px;
}

.typing span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#667085;
    display:block;

    animation: typingDot 1.4s infinite;
}

.typing span:nth-child(2){
    animation-delay:.2s;
}

.typing span:nth-child(3){
    animation-delay:.4s;
}

@keyframes typingDot{
    0%,80%,100%{
        opacity:.3;
        transform:translateY(0);
    }

    40%{
        opacity:1;
        transform:translateY(-4px);
    }
}


.msg{
    display:flex;
    align-items:center;
    gap:10px;
    margin:12px 0;
}

.bot-wrap{
    justify-content:flex-start;
}

.user-wrap{
    justify-content:flex-end;
}

.avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.bot-avatar{
    background-image:url(logo.png);
    background-size:cover;
    background-position:center;
	width:80px !important;
    height:80px !important;
}

.bot,
.user{
    padding:14px 18px;
    border-radius:6px;
    max-width:85%;
    line-height:1.5;
}

.bot{
    background:#efefef;
    border-radius:18px 18px 18px 6px;
    box-shadow:0 3px 12px rgba(0,0,0,.08);
}

.user{
    background:#4f648d;
    color:#fff;
    border-radius:18px 18px 6px 18px;
    box-shadow:0 3px 12px rgba(0,0,0,.08);
}

.user-avatar{
    background:#cc8a00;
    color:#fff;
}


.tire-selects{
    display:flex;
    gap:8px;
    margin-top:10px;
}

.tire-selects select{
    flex:1;
}

.tire-box button{
    margin-top:10px;
}


.opts{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.typing{
    color:#667085;
    font-style:italic;
}

.chat-footer{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:14px;
    background:#fff;
    border-top:1px solid #e5e7eb;
}

.chat-hint{
    width:100%;
    text-align:center;
}

.chat-footer input{
    flex:1;
    height:48px;
    border:1px solid #dbe2ea;
    border-radius:12px;
    padding:0 16px;
    font-size:15px;
    outline:none;
    transition:0.2s;
}

.chat-footer input:focus{
    border-color:#0b3d91;
    box-shadow:0 0 0 3px rgba(11,61,145,.15);
}

.chat-footer button{
    min-width:120px;
    height:48px;
    border:none;
    border-radius:12px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    color:#fff;
    background:linear-gradient(
        90deg,
        #00142f,
        #003a8c
    );
    transition:.2s;
}

.chat-footer button:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.chat-footer button:active{
    transform:translateY(0);
}

.modal .opts button{
    border:0 !important;
    cursor:pointer !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:30px !important;
    padding:10px 22px !important;

    border-radius:6px !important;

    background:linear-gradient(180deg,#3472df 0%, #245fcd 100%) !important;
    color:#fff !important;

    font-size:13px !important;
    font-weight:800 !important;

    box-shadow:0 12px 20px rgba(9,20,34,.26) !important;
}

.modal .opts button:hover,
.modal .opts button:focus-visible{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
	box-shadow:0 12px 20px rgba(9,20,34,.26) !important;
}

.modal .tire-btn{
    border:0 !important;
    cursor:pointer !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:30px !important;
    padding:10px 22px !important;

    border-radius:6px !important;

    background:linear-gradient(180deg,#3472df 0%, #245fcd 100%) !important;
    color:#fff !important;

    font-size:13px !important;
    font-weight:800 !important;

    box-shadow:0 12px 20px rgba(9,20,34,.26) !important;
	margin-top: 20px !important;
}

.modal .tire-btn:hover,
.modal .tire-btn:focus-visible{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
	box-shadow:0 12px 20px rgba(9,20,34,.26) !important;
}



.checkbox-label{
    display:flex !important;
    align-items:flex-start;
    gap:8px;

    font-size:14px;
    line-height:1.4;

    font-weight:400 !important;
    text-transform:none !important;
    letter-spacing:normal !important;
}

.checkbox-label input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    margin:2px 0 0 0 !important;
    flex:0 0 18px;
}

.checkbox-label span{
    flex:1;
}



.modal form{
    display:grid;
    gap:12px;
}

.modal input,
.modal select,
.modal textarea{
    width:100%;
    padding:14px;
    border:1px solid #cfd8e6;
    border-radius:6px;
    background:#fff;
    outline:none;
}

.modal input:focus,
.modal select:focus,
.modal textarea:focus{
    border-color:#4f648d;
}

.modal label{
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    color:#39475b;
    margin-bottom:6px;
    display:block;
}


@media (max-width: 1120px){
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{padding:54px 0 26px}
  .hero-visual{
    min-height:360px;
    margin-right:0;
  }
  .trust{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .services-head{flex-direction:column;align-items:start}
  .split,.contact-grid,.price-grid{grid-template-columns:1fr}
}

@media (max-width: 760px){
  .container{
    width:min(100% - 20px, var(--container));
  }

  .header-inner{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand cta"
      "nav nav";
    gap:12px;
    align-items:center;
    padding:14px 0 14px;
    min-height:auto;
  }

  .brand{
    grid-area:brand;
    min-width:0;
  }

  .brand-mark .kfz{
    font-size:28px;
  }

  .brand-mark .small,
  .brand-mark .nesim{
    font-size:10px;
  }

  .cta{
    grid-area:cta;
    min-height:42px;
    padding:0 14px;
    font-size:11px;
    border-radius:7px;
    white-space:nowrap;
  }

  .nav{
    grid-area:nav;
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px 16px;
    font-size:11px;
    line-height:1.2;
    padding-top:4px;
    padding-bottom:2px;
    overflow:visible;
  }

  .nav a{
    padding:4px 0;
  }

  .hero-copy{padding:38px 0 20px}
  .hero p{font-size:16px}
  .hero h1{font-size:40px}
  .hero-visual{
    min-height:280px;
    margin-right:0;
  }
  .trust{grid-template-columns:1fr}
  .trust-item{padding:18px 16px}
  .services{padding:30px 0 40px}
  .services-grid{grid-template-columns:1fr}
  .box,.price-card,.contact-card,.legal-box{padding:20px}
  .mini-grid{grid-template-columns:1fr}
}

.price-box-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    margin-top:30px;
}

.price-box{
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 10px 20px rgba(0,0,0,.05);
}

.price-box h2{
    margin:0;
    padding:18px 24px;
    background:var(--navy);
    color:#fff;
    font-size:18px;
    line-height:1.25;
    text-transform:uppercase;
    white-space:normal;
    word-break:break-all;
    overflow-wrap:anywhere;
    max-width:100%;
}


.price-table{
    width:100%;
    border-collapse:collapse;
}

.price-table th{
    background:#f5f7fb;
    text-align:left;
    padding:14px 18px;
    font-size:13px;
    text-transform:uppercase;
    color:#555;
}

.price-table td{
    padding:16px 18px;
    border-top:1px solid var(--line);
    vertical-align:top;
}

.price-table th:last-child{
	text-align:right;
}

.price-table td:last-child{
    font-weight:800;
    color:var(--blue);
    white-space:nowrap;
	text-align:right;
}

.desc{
    color:#666;
    font-size:12px;
}

.badge-action{
    display:inline-block;
    margin-top:8px;
    padding:4px 10px;

    background:#e63946;
    color:#fff;

    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    border-radius:999px;
}

.old-price{
    display:block;
    font-size:14px;
    color:#9ca3af;
    text-decoration:line-through;
    font-weight:400;
}

.new-price{
    display:block;
    font-size:18px;
    color:#e63946;
    font-weight:900;
}



@media (max-width:900px){
    .price-box-grid{
        grid-template-columns:1fr;
    }
	.weg-grid{
		grid-template-columns:1fr;
	}
}

@media (max-width:760px){
    .price-box h2{
        padding:16px 18px;
        font-size:16px;
        line-height:1.25;
    }
}

.modal .opts .termin-slot:hover,
.modal .opts .termin-slot:focus-visible{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
}

.modal .opts .termin-slot.is-active,
.modal .opts .termin-slot.is-active:hover,
.modal .opts .termin-slot.is-active:focus-visible{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
}

.pac-container{
    z-index: 100000 !important;
}

.chat-float{
    position:fixed;
    right:25px;
    bottom:25px;
    z-index:9999;

    display:flex;
    align-items:center;
    gap:10px;

    padding:14px 18px;
    border-radius:999px;

    background:#3c79e8;
    color:#fff;
    text-decoration:none;
    font-weight:600;

    box-shadow:0 10px 25px rgba(0,0,0,.2);
	
	box-shadow:0 10px 25px rgba(0,0,0,.2);

    transition:
        opacity .3s ease,
        transform .3s ease,
        box-shadow .2s ease;
}

.chat-float.hide{
    opacity:0;
    transform:translateY(20px);
    pointer-events:none;
}

.chat-float:hover{
    transform:translateY(-3px);
}

.chat-float i{
    font-size:22px;
}

.chat-float::before{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:999px;
    border:2px solid #3c79e8;
    animation:pulse 2s infinite;
    pointer-events:none;
}

@keyframes pulse{
    from{
        transform:scale(1);
        opacity:1;
    }
    to{
        transform:scale(1.15);
        opacity:0;
    }
}