/* Shared design of the public pages, using locally available system fonts. */
.public-nav-header {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(250,248,245,.92);
  border-bottom: 1px solid #E7E3DC;
}
.public-nav-nav {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
}
.public-nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #151A2D;
}
.public-nav-label {
  font-weight: 800;
  font-size: 21px;
  letter-spacing: -.02em;
}
.public-nav-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  flex: 1 1 auto;
  font-size: 15px;
  font-weight: 500;
}
.public-nav-link-2 {
  color: #3B4357;
  text-decoration: none;
  padding: 8px 0;
}
.public-nav-row-2 {
  display: flex;
  gap: 10px;
  align-items: center;
}
.public-nav-link-3 {
  color: #151A2D;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  padding: 10px 12px;
}
.public-nav-button {
  background: #3555CF;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 12px 18px;
  border-radius: 12px;
}
.public-footer-footer {
  border-top: 1px solid #E7E3DC;
}
.public-footer-row {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 24px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
.public-footer-label {
  font-size: 14px;
  font-weight: 700;
  color: #3B4357;
}
.public-footer-row-2 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  font-size: 14px;
  color: #5A6275;
}
.public-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}
.public-footer-link {
  color: #3B4357;
}
.home-top-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px 56px;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,440px),1fr));
  gap: 56px;
  align-items: center;
}
.home-top-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}
.home-top-copy {
  margin: 0;
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  background: #ECEFFC;
  color: #23399A;
  font-weight: 700;
  font-size: 14px;
  padding: 8px 14px;
  border-radius: 999px;
}
.home-top-headline {
  margin: 0;
  font-size: clamp(38px,5.2vw,64px);
  line-height: 1.04;
  letter-spacing: -.035em;
  font-weight: 800;
}
.home-top-copy-2 {
  margin: 0;
  font-size: clamp(17px,1.6vw,20px);
  line-height: 1.55;
  color: #4A5266;
  max-width: 540px;
}
.home-top-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.home-top-button {
  background: #3555CF;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 17px;
  padding: 16px 24px;
  border-radius: 14px;
}
.home-top-button-2 {
  background: #FFFFFF;
  color: #151A2D;
  text-decoration: none;
  font-weight: 700;
  font-size: 17px;
  padding: 16px 24px;
  border-radius: 14px;
  border: 1px solid #D9D4CB;
}
.home-top-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,max-content));
  gap: 10px 28px;
  font-size: 15px;
  color: #3B4357;
  font-weight: 500;
}
.home-top-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.home-top-stack-2 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.home-top-copy-3 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #3B4357;
}
.home-top-figure {
  margin: 0;
  min-width: 0;
}
.home-top-panel {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 30px 60px -30px rgba(21,26,45,.28);
}
.home-top-row-2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  gap: 12px;
  flex-wrap: wrap;
}
.home-top-detail {
  font-weight: 800;
  font-size: 17px;
}
.home-top-row-3 {
  display: flex;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
}
.home-top-badge {
  background: #ECEFFC;
  color: #23399A;
  padding: 5px 10px;
  border-radius: 999px;
}
.home-top-badge-2 {
  color: #7A3E14;
  padding: 5px 10px;
  border-radius: 999px;
}
.home-top-grid {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) minmax(0,1fr);
  gap: 8px;
  font-size: 12px;
}
.home-top-panel-2 {
  font-weight: 700;
  font-size: 13px;
  padding: 6px 8px;
  background: #F4F2EE;
  border-radius: 8px;
}
.home-top-detail-2 {
  position: relative;
  height: 360px;
  color: #52596d;
  font-weight: 600;
}
.home-top-time {
  position: absolute;
  top: 0;
}
.home-top-time-2 {
  position: absolute;
  top: 120px;
}
.home-top-time-3 {
  position: absolute;
  top: 240px;
}
.home-top-time-4 {
  position: absolute;
  top: 344px;
}
.home-top-detail-3 {
  position: relative;
  height: 360px;
  border-left: 1px dashed #E2DDD4;
}
.home-top-event {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
}
.home-top-emphasis {
  display: block;
  font-size: 13px;
}
.home-top-event-2 {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  height: 86px;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
  color: #7A3E14;
}
.home-top-event-3 {
  position: absolute;
  top: 74px;
  left: 42%;
  right: 6px;
  height: 62px;
  background: #FFFFFF;
  border: 2px solid #3555CF;
  color: #151A2D;
  border-radius: 10px;
  padding: 6px 8px;
  box-sizing: border-box;
  box-shadow: 0 8px 18px -10px rgba(53,85,207,.6);
}
.home-top-emphasis-2 {
  display: block;
  font-size: 12.5px;
  color: #23399A;
}
.home-top-event-4 {
  position: absolute;
  top: 150px;
  left: 0;
  right: 0;
  height: 86px;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
}
.home-top-event-5 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 86px;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
}
.home-top-event-6 {
  position: absolute;
  top: 120px;
  left: 0;
  right: 0;
  height: 86px;
  background: #ECEFFC;
  color: #23399A;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
}
.home-top-event-7 {
  position: absolute;
  top: 240px;
  left: 0;
  right: 0;
  height: 76px;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 8px 10px;
  box-sizing: border-box;
}
.home-top-badge-3 {
  display: inline-block;
  margin-top: 4px;
  background: #FFFFFF;
  color: #23399A;
  font-weight: 700;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
}
.home-top-caption {
  margin-top: 14px;
  font-size: 14px;
  color: #5A6275;
  line-height: 1.5;
}
.home-warum-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 24px 40px;
}
.home-warum-title {
  margin: 0 0 12px;
  font-size: clamp(28px,3.4vw,42px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
  max-width: 720px;
}
.home-warum-copy {
  margin: 0 0 40px;
  font-size: 18px;
  color: #4A5266;
  max-width: 640px;
  line-height: 1.55;
}
.home-warum-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap: 20px;
}
.home-warum-card {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 20px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-warum-panel {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #FBE6D4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-warum-subtitle {
  margin: 0;
  font-size: 21px;
  letter-spacing: -.01em;
}
.home-warum-copy-2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #4A5266;
}
.home-warum-panel-2 {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #ECEFFC;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-warum-panel-3 {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #E3F2EA;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-funktionen-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px;
}
.home-funktionen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap: 56px;
  align-items: start;
}
.home-funktionen-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.home-funktionen-copy {
  margin: 0;
  color: #3555CF;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .08em;
}
.home-funktionen-title {
  margin: 0;
  font-size: clamp(28px,3.4vw,42px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
}
.home-funktionen-copy-2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #4A5266;
}
.home-funktionen-panel {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 20px;
  padding: 24px;
  margin-top: 8px;
}
.home-funktionen-copy-3 {
  margin: 0 0 14px;
  font-weight: 700;
  font-size: 15px;
}
.home-funktionen-row {
  display: flex;
  gap: 4px;
  height: 58px;
  font-size: 12.5px;
  font-weight: 700;
}
.home-funktionen-panel-2 {
  flex: 30 1 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px 4px 4px 10px;
  padding: 8px 10px;
  box-sizing: border-box;
  min-width: 0;
}
.home-funktionen-label {
  font-weight: 500;
}
.home-funktionen-panel-3 {
  flex: 45 1 0;
  color: #7A3E14;
  border-radius: 4px;
  padding: 8px 10px;
  box-sizing: border-box;
  min-width: 0;
}
.home-funktionen-panel-4 {
  flex: 30 1 0;
  background: #4864c6;
  color: #FFFFFF;
  border-radius: 4px 10px 10px 4px;
  padding: 8px 10px;
  box-sizing: border-box;
  min-width: 0;
}
.home-funktionen-row-2 {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  font-size: 13px;
  color: #5A6275;
  font-weight: 600;
  gap: 8px;
  flex-wrap: wrap;
}
.home-funktionen-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap: 16px;
  min-width: 0;
}
.home-funktionen-panel-5 {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-funktionen-subtitle {
  margin: 0;
  font-size: 18px;
}
.home-funktionen-copy-4 {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #4A5266;
}
.home-funktionen-copy-5 {
  margin: 32px 0 0;
}
.home-funktionen-link {
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
}
.home-buchung-section {
  background: #ECEFFC;
  padding: 88px 24px;
}
.home-buchung-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap: 56px;
  align-items: center;
}
.home-buchung-row {
  display: flex;
  justify-content: center;
  min-width: 0;
}
.home-buchung-panel {
  width: 300px;
  max-width: 100%;
  background: #151A2D;
  border-radius: 44px;
  padding: 12px;
  box-shadow: 0 40px 70px -35px rgba(21,26,45,.55);
}
.home-buchung-panel-2 {
  background: #FFFFFF;
  border-radius: 34px;
  padding: 26px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 540px;
  box-sizing: border-box;
}
.home-buchung-panel-3 {
  width: 72px;
  height: 6px;
  background: #E7E3DC;
  border-radius: 4px;
  align-self: center;
}
.home-buchung-copy {
  margin: 0;
  font-size: 12px;
  color: #5A6275;
  font-weight: 600;
}
.home-buchung-copy-2 {
  margin: 2px 0 0;
  font-size: 19px;
  font-weight: 800;
}
.home-buchung-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-buchung-panel-4 {
  border: 2px solid #3555CF;
  border-radius: 14px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}
.home-buchung-emphasis {
  display: block;
}
.home-buchung-label {
  color: #5A6275;
}
.home-buchung-panel-5 {
  border: 1px solid #E7E3DC;
  border-radius: 14px;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}
.home-buchung-copy-3 {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 700;
}
.home-buchung-grid-2 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.home-buchung-badge {
  border: 1px solid #E7E3DC;
  border-radius: 10px;
  padding: 10px 0;
}
.home-buchung-badge-2 {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 10px 0;
}
.home-buchung-panel-6 {
  margin-top: auto;
  background: #3555CF;
  color: #FFFFFF;
  text-align: center;
  font-weight: 700;
  border-radius: 14px;
  padding: 14px;
  font-size: 15px;
}
.home-buchung-copy-4 {
  margin: 0;
  text-align: center;
  font-size: 11.5px;
  color: #5A6275;
}
.home-buchung-stack-2 {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.home-buchung-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 17px;
  line-height: 1.5;
  color: #2A3146;
}
.home-buchung-item {
  display: flex;
  gap: 12px;
}
.home-buchung-svg {
  flex: none;
  margin-top: 2px;
}
.home-buchung-button {
  display: inline-block;
  background: #151A2D;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  padding: 15px 22px;
  border-radius: 14px;
  margin-top: 6px;
}
.home-app-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 24px 24px;
}
.home-app-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap: 56px;
  align-items: center;
}
.home-app-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #2A3146;
}
.home-app-copy {
  margin: 0;
  font-size: 15px;
  color: #5A6275;
  font-weight: 600;
}
.home-app-panel {
  background: #FAF8F5;
  border-radius: 34px;
  padding: 22px 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 560px;
  box-sizing: border-box;
}
.home-app-panel-2 {
  width: 72px;
  height: 6px;
  background: #E2DDD4;
  border-radius: 4px;
  align-self: center;
}
.home-app-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 4px;
}
.home-app-copy-2 {
  margin: 2px 0 0;
  font-size: 20px;
  font-weight: 800;
}
.home-app-badge {
  background: #3555CF;
  color: #FFFFFF;
  font-weight: 800;
  font-size: 20px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home-app-panel-3 {
  background: #ECEFFC;
  border-radius: 14px;
  padding: 12px;
  font-size: 13px;
  color: #23399A;
  font-weight: 700;
}
.home-app-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13.5px;
}
.home-app-grid-2 {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 8px;
  align-items: stretch;
}
.home-app-label {
  color: #5A6275;
  font-weight: 700;
  padding-top: 10px;
}
.home-app-panel-4 {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 12px;
  padding: 10px;
}
.home-app-panel-5 {
  background: #FFFFFF;
  border: 2px solid #3555CF;
  border-radius: 12px;
  padding: 8px 10px;
}
.home-app-emphasis {
  display: block;
  color: #23399A;
}
.home-app-panel-6 {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 12px;
  padding: 10px;
}
.home-app-badge-2 {
  display: inline-block;
  margin-top: 3px;
  background: #ECEFFC;
  color: #23399A;
  font-weight: 700;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 999px;
}
.home-app-grid-3 {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  color: #5A6275;
  border-top: 1px solid #E7E3DC;
  padding-top: 10px;
}
.home-app-label-2 {
  color: #3555CF;
}
.home-alltag-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 24px 72px;
}
.home-alltag-copy {
  margin: 0 0 12px;
  color: #3555CF;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .08em;
}
.home-alltag-title {
  margin: 0 0 40px;
  font-size: clamp(28px,3.4vw,42px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
  max-width: 720px;
}
.home-alltag-panel {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap: 1px;
  background: #E7E3DC;
  border: 1px solid #E7E3DC;
  border-radius: 20px;
  overflow: hidden;
}
.home-alltag-stack {
  background: #FFFFFF;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-daten-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 24px;
}
.home-daten-panel {
  background: #151A2D;
  color: #FFFFFF;
  border-radius: 28px;
  padding: clamp(32px,5vw,64px);
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,380px),1fr));
  gap: 40px;
  align-items: center;
}
.home-daten-copy {
  margin: 0;
  color: #F4B98C;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .08em;
}
.home-daten-copy-2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: #C9CEDB;
}
.home-daten-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap: 14px;
}
.home-daten-item {
  background: #20263D;
  border-radius: 16px;
  padding: 20px;
}
.home-daten-emphasis {
  display: block;
  font-size: 16px;
  margin-bottom: 6px;
}
.home-daten-label {
  font-size: 14.5px;
  line-height: 1.55;
  color: #C9CEDB;
}
.home-preise-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 24px 48px;
}
.home-preise-stack {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 44px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}
.home-preise-title {
  margin: 0;
  font-size: clamp(30px,3.8vw,46px);
  letter-spacing: -.03em;
  line-height: 1.08;
  font-weight: 800;
}
.home-preise-copy {
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: #4A5266;
}
.home-preise-panel {
  max-width: 960px;
  margin: 24px auto 0;
  background: #F4F2EE;
  border-radius: 20px;
  padding: 26px 30px;
}
.home-preise-copy-2 {
  margin: 0 0 14px;
  font-weight: 800;
  font-size: 16px;
}
.home-preise-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap: 10px 24px;
  font-size: 15px;
  color: #2A3146;
}
.home-preise-copy-3 {
  max-width: 960px;
  margin: 20px auto 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: #5A6275;
}
.home-preise-copy-4 {
  max-width: 960px;
  margin: 16px auto 0;
}
.home-start-title {
  margin: 0 0 36px;
  font-size: clamp(28px,3.4vw,42px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
}
.home-start-ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap: 20px;
}
.home-start-item {
  border-top: 3px solid #3555CF;
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.home-start-label {
  font-size: 15px;
  font-weight: 800;
  color: #3555CF;
}
.home-start-subtitle {
  margin: 0;
  font-size: 20px;
}
.home-start-copy {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.6;
  color: #4A5266;
}
.home-gruender-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 72px;
}
.home-gruender-panel {
  background: #FBE6D4;
  border-radius: 28px;
  padding: clamp(28px,5vw,56px);
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
}
.home-gruender-panel-2 {
  width: 120px;
  height: 120px;
  border-radius: 32px;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.home-gruender-stack {
  flex: 1 1 420px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.home-gruender-title {
  margin: 0;
  font-size: clamp(24px,2.8vw,34px);
  letter-spacing: -.02em;
  font-weight: 800;
}
.home-gruender-copy {
  margin: 0;
  font-size: 17px;
  line-height: 1.65;
  color: #3B2A1E;
}
.home-gruender-button {
  display: inline-block;
  background: #151A2D;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 20px;
  border-radius: 14px;
}
.home-faq-section {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px 24px 88px;
}
.home-faq-title {
  margin: 0 0 28px;
  font-size: clamp(28px,3.4vw,42px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
}
.home-faq-stack {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #E2DDD4;
}
.home-faq-details {
  border-bottom: 1px solid #E2DDD4;
  padding: 20px 0;
}
.home-faq-summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-weight: 700;
  font-size: 18px;
}
.home-faq-label {
  color: #3555CF;
  font-size: 24px;
  line-height: 1;
  transition: transform .2s;
}
.home-faq-copy {
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.65;
  color: #4A5266;
}
.home-los-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 88px;
}
.home-los-panel {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 28px;
  padding: clamp(36px,6vw,72px);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
}
.home-los-title {
  margin: 0;
  font-size: clamp(30px,4vw,48px);
  letter-spacing: -.03em;
  line-height: 1.08;
  font-weight: 800;
  max-width: 760px;
}
.home-los-copy {
  margin: 0;
  font-size: 18px;
  color: #DCE2FA;
  max-width: 560px;
  line-height: 1.55;
}
.home-los-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.home-los-button {
  background: #FFFFFF;
  color: #23399A;
  text-decoration: none;
  font-weight: 800;
  font-size: 17px;
  padding: 16px 24px;
  border-radius: 14px;
}
.home-los-button-2 {
  background: transparent;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 17px;
  padding: 16px 24px;
  border-radius: 14px;
  border: 1.5px solid #FFFFFF;
}
.features-hero-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px 40px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.features-hero-headline {
  margin: 0;
  font-size: clamp(36px,5vw,60px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 800;
  max-width: 860px;
}
.features-hero-copy {
  margin: 0;
  font-size: clamp(17px,1.6vw,20px);
  line-height: 1.55;
  color: #4A5266;
  max-width: 640px;
}
.features-hero-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.features-hero-button {
  background: #FFFFFF;
  border: 1px solid #D9D4CB;
  color: #151A2D;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  padding: 10px 16px;
  border-radius: 999px;
}
.features-planung-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 24px;
}
.features-planung-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap: 48px;
  align-items: center;
}
.features-planung-copy {
  margin: 0;
  font-weight: 800;
  font-size: 14px;
  color: #A4531C;
  letter-spacing: .08em;
}
.features-planung-title {
  margin: 0;
  font-size: clamp(28px,3.4vw,40px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
}
.features-planung-copy-2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: #4A5266;
}
.features-planung-list {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #2A3146;
}
.features-planung-figure {
  margin: 0;
  min-width: 0;
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 30px 60px -34px rgba(21,26,45,.28);
}
.features-planung-copy-3 {
  margin: 0 0 4px;
  font-weight: 800;
  font-size: 16px;
}
.features-planung-copy-4 {
  margin: 0 0 18px;
  font-size: 14px;
  color: #5A6275;
}
.features-planung-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 14px;
}
.features-planung-grid-2 {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
.features-planung-label {
  color: #5A6275;
  font-weight: 600;
}
.features-planung-panel {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 10px 12px;
}
.features-planung-panel-2 {
  color: #7A3E14;
  border-radius: 10px;
  padding: 10px 12px;
}
.features-planung-panel-3 {
  background: #4864c6;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 10px 12px;
}
.features-planung-panel-4 {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F4F2EE;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #3B4357;
}
.features-planung-caption {
  margin-top: 12px;
  font-size: 13px;
  color: #5A6275;
}
.features-buchung-section {
  background: #ECEFFC;
  padding: 80px 24px;
}
.features-buchung-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap: 48px;
  align-items: center;
}
.features-buchung-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.features-buchung-panel {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 24px 50px -32px rgba(21,26,45,.35);
}
.features-buchung-copy {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #5A6275;
  letter-spacing: .04em;
}
.features-buchung-panel-2 {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F4F2EE;
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.features-buchung-grid-2 {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.features-buchung-badge {
  background: #ECEFFC;
  color: #23399A;
  border-radius: 10px;
  padding: 12px 6px;
}
.features-buchung-badge-2 {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 12px 6px;
}
.features-buchung-panel-3 {
  background: #FFFFFF;
  border-radius: 20px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 24px 50px -32px rgba(21,26,45,.35);
}
.features-buchung-panel-4 {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #E3F2EA;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.features-buchung-copy-2 {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}
.features-buchung-copy-3 {
  margin: 0;
  font-weight: 800;
  font-size: 14px;
  color: #3555CF;
  letter-spacing: .08em;
}
.features-buchung-button {
  display: inline-block;
  background: #151A2D;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 20px;
  border-radius: 14px;
  margin-top: 6px;
}
.features-team-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 56px;
}
.features-team-copy {
  margin: 0;
  font-weight: 800;
  font-size: 14px;
  color: #276f49;
  letter-spacing: .08em;
}
.features-team-panel {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 22px;
  padding: 24px;
  min-width: 0;
  box-shadow: 0 30px 60px -34px rgba(21,26,45,.28);
}
.features-team-copy-2 {
  margin: 0 0 16px;
  font-weight: 800;
  font-size: 16px;
}
.features-team-grid {
  display: grid;
  grid-template-columns: 80px repeat(5,minmax(0,1fr));
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  text-align: center;
}
.features-team-label {
  text-align: left;
  padding: 10px 0;
}
.features-team-badge {
  background: #ECEFFC;
  color: #23399A;
  border-radius: 8px;
  padding: 10px 2px;
}
.features-team-badge-2 {
  background: #FBE6D4;
  color: #7A3E14;
  border-radius: 8px;
  padding: 10px 2px;
}
.features-team-badge-3 {
  background: #F4F2EE;
  color: #5A6275;
  border-radius: 8px;
  padding: 10px 2px;
}
.features-team-copy-3 {
  margin: 14px 0 0;
  font-size: 13px;
  color: #5A6275;
}
.features-kunden-copy {
  margin: 0 0 12px;
  font-weight: 800;
  font-size: 14px;
  color: #3555CF;
  letter-spacing: .08em;
}
.features-kunden-title {
  margin: 0 0 32px;
  font-size: clamp(28px,3.4vw,40px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
  max-width: 760px;
}
.features-kunden-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap: 16px;
}
.features-kunden-panel {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 18px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.features-daten-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px 56px;
}
.features-daten-panel {
  background: #151A2D;
  color: #FFFFFF;
  border-radius: 28px;
  padding: clamp(32px,5vw,60px);
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.features-daten-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 760px;
}
.features-daten-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap: 14px;
}
.features-geraete-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px;
}
.features-geraete-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap: 20px;
  align-items: stretch;
}
.features-geraete-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
}
.features-geraete-title {
  margin: 0;
  font-size: clamp(26px,3vw,36px);
  letter-spacing: -.03em;
  line-height: 1.1;
  font-weight: 800;
}
.features-geraete-badge {
  align-self: flex-start;
  background: #E3F2EA;
  color: #1D5E3C;
  font-weight: 700;
  font-size: 12.5px;
  padding: 4px 10px;
  border-radius: 999px;
}
.features-geraete-badge-2 {
  align-self: flex-start;
  background: #FBE6D4;
  color: #7A3E14;
  font-weight: 700;
  font-size: 12.5px;
  padding: 4px 10px;
  border-radius: 999px;
}
.features-geraete-detail {
  margin-top: 8px;
}
.features-nocnicht-panel {
  border: 2px dashed #D9D4CB;
  border-radius: 24px;
  padding: clamp(24px,4vw,44px);
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.features-nocnicht-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 720px;
}
.features-nocnicht-title {
  margin: 0;
  font-size: clamp(24px,2.8vw,32px);
  letter-spacing: -.02em;
  font-weight: 800;
}
.features-nocnicht-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap: 14px;
}
.features-nocnicht-subtitle {
  margin: 0;
  font-size: 17px;
}
.features-nocnicht-link {
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  margin-top: 2px;
}
.features-cta-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 24px 88px;
}
.features-cta-panel {
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 28px;
  padding: clamp(36px,6vw,64px);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
}
.features-cta-title {
  margin: 0;
  font-size: clamp(28px,3.6vw,44px);
  letter-spacing: -.03em;
  line-height: 1.08;
  font-weight: 800;
}
.sectors-hero-headline {
  margin: 0;
  font-size: clamp(36px,5vw,60px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 800;
  max-width: 880px;
}
.sectors-hero-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap: 14px;
  margin-top: 10px;
}
.sectors-hero-button {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 18px;
  padding: 20px;
  text-decoration: none;
  color: #151A2D;
  display: flex;
  align-items: center;
  gap: 14px;
}
.sectors-hero-badge {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #ECEFFC;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.sectors-hero-emphasis {
  display: block;
  font-size: 17px;
}
.sectors-hero-label {
  font-size: 14px;
  color: #5A6275;
}
.sectors-hero-badge-2 {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #E3F2EA;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.sectors-hero-badge-3 {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #FBE6D4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.sectors-friseur-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px;
}
.sectors-friseur-row {
  display: flex;
  gap: 4px;
  height: 64px;
  font-size: 12.5px;
  font-weight: 700;
}
.sectors-friseur-panel {
  flex: 30 1 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 10px 4px 4px 10px;
  padding: 8px;
  box-sizing: border-box;
  min-width: 0;
}
.sectors-friseur-panel-2 {
  flex: 35 1 0;
  color: #7A3E14;
  border-radius: 4px;
  padding: 8px;
  box-sizing: border-box;
  min-width: 0;
}
.sectors-friseur-panel-3 {
  flex: 15 1 0;
  background: #4864c6;
  color: #FFFFFF;
  border-radius: 4px;
  padding: 8px;
  box-sizing: border-box;
  min-width: 0;
}
.sectors-friseur-panel-4 {
  flex: 40 1 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 4px 10px 10px 4px;
  padding: 8px;
  box-sizing: border-box;
  min-width: 0;
}
.sectors-friseur-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr));
  gap: 10px;
  font-size: 13.5px;
}
.sectors-friseur-panel-5 {
  background: #F4F2EE;
  border-radius: 12px;
  padding: 12px;
}
.sectors-barber-section {
  background: #151A2D;
  color: #FFFFFF;
  padding: 80px 24px;
}
.sectors-barber-figure {
  margin: 0;
  min-width: 0;
  background: #20263D;
  border-radius: 22px;
  padding: 24px;
}
.sectors-barber-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.sectors-barber-panel {
  background: #2A3150;
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sectors-barber-label {
  font-size: 12px;
  font-weight: 700;
  color: #A9B3D1;
  letter-spacing: .06em;
}
.sectors-barber-label-2 {
  font-size: 13px;
  color: #C9CEDB;
}
.sectors-barber-label-3 {
  font-size: 13px;
  color: #8FD3AE;
}
.sectors-barber-panel-2 {
  background: #3A2A35;
  border: 1px solid #F4B98C;
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sectors-barber-label-4 {
  font-size: 12px;
  font-weight: 700;
  color: #F4B98C;
  letter-spacing: .06em;
}
.sectors-barber-caption {
  margin-top: 12px;
  font-size: 13px;
  color: #A9B3D1;
}
.sectors-barber-copy {
  margin: 0;
  font-weight: 800;
  font-size: 14px;
  color: #8FD3AE;
  letter-spacing: .08em;
}
.sectors-barber-list {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: #E3E6EF;
}
.sectors-barber-emphasis {
  color: #FFFFFF;
}
.sectors-kosmetik-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 64px;
}
.sectors-kosmetik-grid {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr);
  gap: 12px;
  align-items: center;
}
.sectors-kosmetik-row {
  display: flex;
  gap: 4px;
}
.sectors-kosmetik-badge {
  flex: 2 1 0;
  background: #F4F2EE;
  color: #5A6275;
  border-radius: 8px;
  padding: 9px 8px;
  font-size: 12.5px;
  font-weight: 600;
  min-width: 0;
}
.sectors-kosmetik-badge-2 {
  flex: 6 1 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 8px;
  padding: 9px 8px;
  font-size: 12.5px;
  font-weight: 700;
  min-width: 0;
}
.sectors-kosmetik-badge-3 {
  flex: 2 1 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 8px;
  padding: 9px 8px;
  font-size: 12.5px;
  font-weight: 700;
  min-width: 0;
}
.sectors-kosmetik-badge-4 {
  flex: 3 1 0;
  color: #7A3E14;
  border-radius: 8px;
  padding: 9px 8px;
  font-size: 12.5px;
  font-weight: 700;
  min-width: 0;
}
.sectors-kosmetik-label {
  flex: 3 1 0;
  background: transparent;
  min-width: 0;
}
.sectors-kosmetik-badge-5 {
  flex: 4 1 0;
  background: #FBE6D4;
  color: #7A3E14;
  border-radius: 8px;
  padding: 9px 8px;
  font-size: 12.5px;
  font-weight: 700;
  min-width: 0;
}
.sectors-kosmetik-label-2 {
  flex: 1 1 0;
  min-width: 0;
}
.sectors-kosmetik-caption {
  margin-top: 14px;
  font-size: 13px;
  color: #5A6275;
}
.sectors-groesse-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 24px 56px;
}
.sectors-groesse-panel {
  background: #ECEFFC;
  border-radius: 28px;
  padding: clamp(28px,5vw,52px);
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap: 28px;
  align-items: center;
}
.sectors-groesse-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sectors-groesse-title {
  margin: 0;
  font-size: clamp(26px,3vw,36px);
  letter-spacing: -.02em;
  font-weight: 800;
}
.sectors-groesse-copy {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: #2A3146;
}
.sectors-groesse-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}
.sectors-groesse-panel-2 {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 20px;
}
.sectors-groesse-emphasis {
  display: block;
  font-size: 18px;
}
.sectors-groesse-label {
  display: block;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -.03em;
  margin-top: 6px;
}
.sectors-groesse-label-2 {
  font-size: 13.5px;
  color: #5A6275;
}
.sectors-groesse-panel-3 {
  background: #FFFFFF;
  border: 2px solid #3555CF;
  border-radius: 18px;
  padding: 20px;
}
.sectors-groesse-emphasis-2 {
  display: block;
  font-size: 18px;
  color: #23399A;
}
.sectors-groesse-label-3 {
  display: block;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -.03em;
  margin-top: 6px;
  color: #23399A;
}
.sectors-groesse-copy-2 {
  margin: 16px 0 0;
}
.demo-hero-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.demo-hero-headline {
  margin: 0;
  font-size: clamp(34px,4.6vw,56px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 800;
  max-width: 820px;
}
.demo-hero-copy {
  margin: 0;
  font-size: clamp(17px,1.6vw,19px);
  line-height: 1.55;
  color: #4A5266;
  max-width: 640px;
}
.demo-content-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 64px;
}
.demo-next-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 24px 64px;
}
.demo-next-title {
  margin: 0 0 24px;
  font-size: clamp(26px,3vw,36px);
  letter-spacing: -.02em;
  font-weight: 800;
}
.demo-next-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap: 16px;
}
.demo-next-button {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 18px;
  padding: 24px;
  text-decoration: none;
  color: #151A2D;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.demo-next-emphasis {
  font-size: 18px;
}
.demo-next-label {
  font-size: 15px;
  line-height: 1.55;
  color: #4A5266;
}
.demo-next-label-2 {
  font-weight: 700;
  color: #3555CF;
  font-size: 15px;
}
.demo-next-button-2 {
  background: #3555CF;
  border-radius: 18px;
  padding: 24px;
  text-decoration: none;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.demo-next-label-3 {
  font-size: 15px;
  line-height: 1.55;
  color: #DCE2FA;
}
.demo-next-label-4 {
  font-weight: 700;
  font-size: 15px;
}
.pricing-hero-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px 36px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
}
.pricing-hero-copy {
  margin: 0;
  font-size: clamp(17px,1.6vw,20px);
  line-height: 1.55;
  color: #4A5266;
  max-width: 620px;
}
.pricing-content-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}
.pricing-rechner-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 56px 24px 0;
}
.pricing-ablauf-section {
  max-width: 960px;
  margin: 0 auto;
  padding: 64px 24px 0;
}
.pricing-ablauf-title {
  margin: 0 0 24px;
  font-size: clamp(24px,2.8vw,32px);
  letter-spacing: -.02em;
  font-weight: 800;
}
.pricing-ablauf-ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr));
  gap: 16px;
}
.pricing-ablauf-item {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pricing-ablauf-label {
  font-weight: 800;
  color: #3555CF;
}
.pricing-ablauf-emphasis {
  font-size: 17px;
}
.pricing-ablauf-label-2 {
  font-size: 14.5px;
  line-height: 1.55;
  color: #4A5266;
}
.contact-hero-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap: 48px;
  align-items: start;
}
.contact-hero-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-hero-headline {
  margin: 0;
  font-size: clamp(34px,4.6vw,54px);
  line-height: 1.05;
  letter-spacing: -.035em;
  font-weight: 800;
}
.contact-hero-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr));
  gap: 12px;
}
.contact-hero-panel {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 16px;
  padding: 18px;
}
.contact-hero-emphasis {
  display: block;
  font-size: 15.5px;
  margin-bottom: 4px;
}
.contact-hero-label {
  font-size: 14.5px;
  line-height: 1.5;
  color: #4A5266;
}
.contact-hero-panel-2 {
  background: #FBE6D4;
  border-radius: 20px;
  padding: 22px 24px;
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.contact-hero-panel-3 {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.contact-hero-detail {
  flex: 1 1 260px;
  min-width: 0;
}
.contact-hero-label-2 {
  font-size: 15px;
  line-height: 1.55;
  color: #3B2A1E;
}
.contact-hero-copy {
  margin: 0;
  font-size: 15px;
  color: #4A5266;
}
.contact-hero-link {
  font-weight: 700;
}
.contact-hero-form {
  background: #FFFFFF;
  border: 1px solid #E7E3DC;
  border-radius: 24px;
  padding: clamp(22px,3vw,34px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  box-shadow: 0 30px 60px -36px rgba(21,26,45,.3);
}
.contact-hero-title {
  margin: 0;
  font-size: 22px;
}
.contact-hero-copy-2 {
  margin: -8px 0 0;
  font-size: 14.5px;
  color: #5A6275;
}
.contact-hero-stack-2 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.contact-hero-copy-3 {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #5A6275;
}
.contact-hero-button {
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  border: 0;
  background: #3555CF;
  color: #FFFFFF;
  border-radius: 14px;
  padding: 15px;
  cursor: pointer;
}

/* Shared interaction, local typography and narrow viewports. */
.sales {
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  background: #faf8f5;
  color: #151a2d;
}
.sales main a:not([class]), .public-footer-nav a { color: #2948b9; }
.public-header a[aria-current="page"] { color: #23399a; text-decoration: underline; text-underline-offset: 4px; }
.public-header, .public-footer-footer { line-height: normal; }
.sales :is(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #2343b0; outline-offset: 3px; }
.sales section { scroll-margin-top: 12px; }
.sales .hatch { background: repeating-linear-gradient(135deg,rgba(181,98,40,.16) 0 6px, transparent 6px 12px) #fbe6d4; }
.sales details summary { cursor: pointer; }
.sales details summary::-webkit-details-marker { display: none; }
.sales details[open] .faq-plus { transform: rotate(45deg); }
.sales figure, .sales [class*="-grid"] > *, .sales section > * { min-width: 0; }
.sales li > svg { flex-shrink: 0; }
.sales img { max-width: 100%; }
.sales figure, .sales main { overflow-wrap: break-word; }
.store-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.store-placeholder { display: flex; flex-direction: column; justify-content: center; width: fit-content; min-height: 48px; padding: 4px 15px; background: white; border: 1.5px solid #d9d4cb; border-radius: 12px; color: #151a2d; line-height: 1.22; }
.store-placeholder span { font-size: 12px; color: #495064; font-weight: 600; }
.store-placeholder strong { font-size: 15px; }
.store-link { display: inline-flex; padding: 12px; }
.store-link img { height: 48px; width: auto; }
.store-attribution { max-width: 1200px; margin: 8px auto 0; padding: 8px 24px; color: #4a5266; font-size: 13px; }
.contact-form input:not([type=hidden]), .contact-form textarea { width:100%; border:1px solid #8c91a0; background:white; color:#151a2d; border-radius:12px; padding:12px 14px; font:inherit; }
.contact-form textarea { resize:vertical; }
.contact-form .errorlist { color:#921e2e; margin:4px 0; }
.contact-form .contact-website { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-success { align-self:start; padding:28px; border:1px solid #c8ddcc; border-radius:18px; background:#e3f2ea; }
.contact-success h2 { font-size:24px; }
.contact-success p { margin:12px 0; }
#demo-app .demo-booking, #demo-app .demo-calendar-panel { border-color:#e7e3dc; }
#demo-app .demo-result { background:#e3f2ea; border-color:#aecfbb; }
#demo-app .demo-result :is(p,h3) { color:#18472d; }
#demo-app .demo-help { color:#525b70!important; }
@media (max-width: 760px) {
  html { scroll-padding-top: 8px; }
  .public-header { position:static; }
  .public-nav-nav { gap:12px; padding:12px 16px; }
  .public-nav-row { order:3; width:100%; gap:3px 14px; }
  .public-nav-row-2 { margin-left:auto; flex-wrap:wrap; }
  .public-nav-row a { min-height:36px; }
  .hero-benefits { grid-template-columns:1fr; }
  .salon-calendar { font-size:12px; }
  .sales main section:not(.legal-center section) { padding-inline:16px; }
  .sales main section#top { padding-top:36px; }
}
@media (max-width:420px) {
  .public-nav-row-2 { gap:6px; }
  .public-nav-row-2 a { padding:8px; font-size:14px; }
  .public-nav-nav { padding-inline:12px; }
  .salon-calendar .home-top-event-3 { position:relative; left:3px; top:78px; width:calc(100% - 6px); }
  .sales .salon-calendar strong { font-size:11px; }
  .sales [class*="panel"] { overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* The local demo keeps one day and an independent calendar for each member. */
#demo-app .demo-calendar-columns { display:grid; grid-template-columns:35px repeat(3,minmax(0,1fr)); gap:4px; }
#demo-app .demo-person-name { margin:0 0 8px; padding:4px; font-size:14px; min-height:26px; background:#f4f2ee; border-radius:7px; }
#demo-app .demo-calendar-track { margin:0; background:repeating-linear-gradient(to bottom,#e7e3dc 0 1px,transparent 1px 60px); }
#demo-app .demo-scale { position:relative; margin-top:34px; }
#demo-app .demo-hour { border:0; font-size:10px; color:#50596c; }
#demo-app .demo-event { left:2px; right:2px; padding:2px; line-height:1.25; }
#demo-app .demo-event.existing { background:#3555cf; color:white; border-color:#23399a; }
#demo-app .demo-event.new { background:#e3f2ea; border-color:#267b4d; color:#17482e; }
#demo-app .demo-result { margin:0 0 18px; }
#demo-app .demo-outside { font-size:9px; padding:2px; overflow-wrap:anywhere; }
