* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
overflow-x: hidden;
background: linear-gradient(135deg, #000000 0%, #000600 50%, #002200 85%, #003300 100%);

}

:root {
--green: #46A5A7;
--gray:#D5D5D5;
--darkgray: #808080;
--white: white;
--normalgreen: #102D01;
--lightblack: #303030;
--neon-royalblue: #4169E1;  
--neon-glow: rgba(65, 105, 225, 0.75);
}

a {
text-decoration: none;
}

li {
list-style: none;
}

html {
scroll-behavior: smooth;
}


/* HEADER */
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 20px;
background: transparent;
z-index: 1000;
}

.logo img{
width: 180px;
height: 90px;
}
header nav.primary {
display: flex;
gap: 30px;
}

header nav.primary a {
color: var(--darkgray);
text-decoration: none;
font-weight: 500;
position: relative;
transition: color 0.3s;
}

header nav.primary a:hover {
text-decoration: underline;
text-underline-offset: 10px;
text-decoration-thickness: 1px;
}

.hamburger {
display: none;
}
nav.sidebar {
display: none;
}


@media (max-width: 1100px) {
header nav.primary {
display: none;
}

.logo img{
width: 120px;
height: 70px;
}
.hamburger {
display: block;
width: 44px;
height: 44px;
position: absolute;
right: 16px;
top: 45%;
transform: translateY(-50%);
background: transparent;
border: none;
cursor: pointer;
z-index: 2000;
}

.hamburger span,
.hamburger::before,
.hamburger::after {
content: "";
position: absolute;
left: 8px;
right: 8px;
height: 2px;
background: var(--white);
transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;
}

.hamburger span {
top: 50%;
transform: translateY(-50%);
}

.hamburger::before {
top: 12px;
}

.hamburger::after {
top: 30px;
}

.hamburger.active::before {
top: 50%;
transform: translateY(-50%) rotate(45deg);
}

.hamburger.active::after {
top: 50%;
transform: translateY(-50%) rotate(-45deg);
}

.hamburger.active span {
opacity: 0;
}

nav.sidebar {
position: fixed;
top: 0;
right: 0;
height: 100%;
width: 80%;
max-width: 300px;
background: #111;
padding: 100px 24px 24px;
display: flex;
flex-direction: column;
gap: 20px;
transform: translateX(100%);
transition: transform 0.35s ease;
z-index: 1500;
}

nav.sidebar.open {
transform: translateX(0);
}

nav.sidebar a {
color: var(--darkgray);
padding-left: 30px;
font-size: 1.1rem;
}
nav.sidebar a:hover {
text-decoration: underline;
text-underline-offset: 10px;
text-decoration-thickness: 1px;
}

}






/* HOME  */
.home-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 80px 24px;
  overflow: hidden;
}
.home-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.home-hero__wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.home-hero__title {
  color: #fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.02em;
  text-align: left;
  margin: 0 0 24px 0;
  font-size: clamp(40px, 5.6vw, 76px);
}

.home-hero__lead {
  color: rgba(255, 255, 255, 0.85);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.45;
  text-align: left;
  margin: 0 0 28px 0;
  max-width: 820px;
  font-size: clamp(16px, 1.5vw, 18px);
}

.home-hero__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 0 18px 0;
}

.cta {
  appearance: none;
  border: 2px solid rgba(255, 255, 255, 0.8);
  background: transparent;
  color: #fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 999px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

.cta2 {
  border-color: #fff;
  background: #fff;
  color: #000;
}

.home-hero__meta {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-hero__meta-item {
  color: rgba(255, 255, 255, 0.7);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0.02em;
  text-align: left;
}

@media (max-width: 1100px) {
.mobilecta{
margin-right: 60px;
padding: 12px 10px;
font-size: 0.7rem;
}

.home-hero{
margin-top: 80px;}

}






/* REFERENCE */
.reference {
padding: 24px;
max-width: 1600px;
margin: 0 auto;

h2{
color: white;
text-align: center;
font-size: 2rem;
}
}

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

.reference__card {
border: 1px solid #e6e6e6;
padding: 18px;
display: flex;
color: white;
flex-direction: column;
gap: 12px;
border: 2px solid transparent;
border-radius: 14px;
animation: neonBorder 3s linear infinite;
}


.reference__video video {
width: 100%;
display: block;
border-radius: 10px;
}

.reference__card-title {
font-size: 18px;
margin: 0;
}

.reference__card-text {
margin: 0;
line-height: 1.5;
color: white;
}

.reference__card-link {
margin-top: auto;
text-decoration: none;
color: rgb(0, 221, 255);
border: 1px solid #111111;
border-radius: 10px;
padding: 10px 12px;
width: fit-content;
}

.reference__card-link:hover {
background: #111111;
color: #ffffff;
}

@media (max-width: 1100px) {
.reference {


h2{
font-size: 1.7rem;
}
}

.reference__grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 650px) {
.reference__grid {
grid-template-columns: 1fr;
}
}




/* ONLINE-AUFTRITT */
section.online-auftritt {
height: auto;
display: flex;
align-items: center;
justify-content: center;
padding: 4rem 1.5rem;

}
.online-auftritt .contentonline {
text-align: center;
padding: clamp(2.5rem, 6vw, 4rem);
}
.online-auftritt h2 {
margin: 0 0 1rem;
font-size: 7rem;
font-weight: 700;
color: var(--white);
animation: riseIn 3s ease-in-out infinite alternate;
}

.online-auftritt p {
margin: 0 auto 2.2rem;
font-size: clamp(1rem, 1.8vw, 1.1rem);
line-height: 1.7;
color: var(--muted);
max-width: 900px;
color: var(--darkgray);
}

@keyframes riseIn {
0% {
opacity: 0.7;
transform: translateY(20px) scale(0.98);
filter: blur(2px);
}
50% {
opacity: 1;
transform: translateY(0) scale(1);
filter: blur(0);
}
100% {
opacity: 0.7;
transform: translateY(20px) scale(0.98);
filter: blur(2px);
}
}

.online-auftritt .gradient {
background: linear-gradient(90deg, #43e97b 0%, #3bbef5 50%, #ff9ecb 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}

.online-auftritt .features {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.7rem;
margin: 60px auto;
padding: 0;
max-width: 900px;
list-style: none;
}
.online-auftritt .chip {
background: rgb(57, 55, 55);
border-radius: 999px;
padding: 0.55rem 1rem;
font-size: 0.9rem;
color: #d7d9de;
}
.online-auftritt .cta {
display: inline-block;
padding: 12px 30px;
background: rgb(57, 55, 55);
color: var(--white);
border: 2px solid var(--white);
border-radius: 30px;
text-decoration: none;
transition: transform 0.6s ease, box-shadow 0.9s ease-in-out;
}
.online-auftritt .cta:hover {
transform: scale(1.1);
}
.online-auftritt .cta span {
background: rgba(255,255,255,0.06);
border: 1px solid rgba(255,255,255,0.1);
border-radius: 999px;
padding: 0.4rem 0.7rem;
font-size: 0.85rem;
color: #e6e7ea;
}
.fett{
font-weight: bolder;
text-transform: uppercase;
}
.online-auftritt .online-auftritt-flyerwrap {
margin: 9rem auto 0;
max-width: 520px;
width: 100%;
}

.online-auftritt .online-auftritt-flyerlink {
display: block;
border-radius: 22px;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.04);
transition: transform 0.6s ease, box-shadow 0.9s ease-in-out;
}

.online-auftritt .online-auftritt-flyerlink:hover {
transform: scale(1.03);
}

.online-auftritt .online-auftritt-flyerimg {
width: 100%;
height: auto;
display: block;
}
.kostenlos-website-check-section
{
padding: 40px;
display: flex;
justify-content: center;
}

.kostenlos-website-check-button
{
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 6px;
padding: 22px 28px;
border-radius: 22px;
background: linear-gradient(135deg, #1fd1c7, #7b5cff);
color: #ffffff;
text-decoration: none;
font-size: 18px;
width: 230px;
letter-spacing: 0.4px;
overflow: hidden;
}

.kostenlos-website-check-button::before
{
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
transform: translateX(-130%);
transition: transform 700ms ease;
}

.kostenlos-website-check-button:hover::before
{
transform: translateX(130%);
}

.kostenlos-website-check-word
{
position: relative;
z-index: 1;
text-transform: uppercase;
font-weight: 700;
letter-spacing: 1px;
}

.kostenlos-website-check-word-small
{
font-size: 12px;
opacity: 0.85;
letter-spacing: 1.4px;
}

@media (max-width: 1250px) {
section.online-auftritt {
padding: 1rem 1rem;
}
.online-auftritt .contentonline {
padding: 1rem 1.5rem;
border-radius: 22px;
}
.online-auftritt h2 {
font-size: 5rem;
line-height: 1.3;
}
.online-auftritt p {
font-size: 0.95rem;
margin-bottom: 1.8rem;
}
.online-auftritt .features {
gap: 0.5rem;
margin-bottom: 2rem;
}
.online-auftritt .chip {
padding: 0.45rem 0.8rem;
font-size: 0.85rem;
}
.online-auftritt .cta {
flex-direction: column;
gap: 0.4rem;
padding: 0.9rem 1.2rem;
font-size: 0.95rem;
}
.break {
display: block;
}
}


@media (max-width: 650px) {
.online-auftritt h2{
font-size: 4.2rem;
}
.online-auftrittp{
font-size: 0.75rem;
}

}
@media (max-width: 570px) {
.online-auftritt h1{
font-size: 3.2rem;
}
.online-auftrittp{
font-size: 0.55rem;
}
.online-auftritt .cta{
font-size: 0.95rem;
padding: 0.7rem 1.2rem;
}
}





/* SKALA  LAPTOP*/
.lap-wrap {
margin: 0;
height: 100vh;
display: grid;
place-items: center;
}
.lap-section {
position: relative;
width: 1500px;
max-width: 96vw;
}
.lap-image {
width: 100%;
height: auto;
display: block;
}
.lap-screen {
position: absolute;
left: 20.2%;
top: 13.5%;
width: 59.5%;
height: 53%;
overflow: hidden;
}
.skala-wrap {
--skala-bg: #000000;
--skala-fg: #eaeaea;
--skala-neon: #39ff14;
--skala-neon2: #7dffcf;
--skala-muted: #141414;
background: var(--skala-bg);
color: var(--skala-fg);
height: 100%;
padding: 10px;
display: grid;
grid-template-rows: auto 1fr;
gap: 10px;
}
.skala-head {
text-align: center;
}
.skala-head-title {
margin: 0;
font-size: 16px;
color: var(--skala-neon);
letter-spacing: 0.2px;
text-shadow: 0 0 8px rgba(57,255,20,0.45);
}

.skala-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
overflow: auto;
}
.skala-card {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
gap: 10px;
padding: 8px;
border: 1px solid var(--skala-muted);
border-radius: 10px;
}
.skala-ring {
--p: 100;
width: 52px;
height: 52px;
border-radius: 50%;
position: relative;
background: conic-gradient(from -90deg, var(--skala-neon) 0 calc(var(--p) * 1%), #1f1f1f 0 100%);
}
.skala-ring::before {
content: "";
position: absolute;
inset: 8px;
border-radius: 50%;
background: radial-gradient(60% 60% at 50% 35%, rgba(125,255,207,0.22), transparent 60%), #000000;
box-shadow: inset 0 0 14px rgba(57,255,20,0.22);
}
.skala-center {
position: absolute;
inset: 0;
display: grid;
place-items: center;
text-align: center;
padding: 0 6px;
}
.skala-percent {
font-size: 10px;
font-weight: 800;
color: var(--skala-neon);
line-height: 1;
}
.skala-text {
display: flex;
align-items: baseline;
gap: 8px;
flex-wrap: wrap;
}
.skala-title {
font-size: 12px;
font-weight: 800;
color: var(--skala-neon2);
}
.skala-note {
font-size: 11px;
color: #a9a9a9;
}
.scroll-hint{
display: none;
}

@media (max-width: 1200px) { 
.lap-wrap{
position: relative;
}

.scroll-hint {
display: block;
position: absolute;
right: 20%;
top: 42%;
transform: translateY(-50%);
font-size: 13px;
color: #39ff14;
opacity: 0.7;
font-weight: bolder;
z-index: 2000;
pointer-events: none;
writing-mode: vertical-rl;
text-orientation: upright;
}
}

@media (max-width: 1100px) {
.lap-wrap {
padding: 1rem 0;
height: auto;
}
.skala-title{
font-size: 10px;
}
.skala-ring {
width: 38px;
height: 38px;
}
.skala-ring::before {
inset: 3px;
}
.skala-percent {
font-size: 7px;
}

}

@media (max-width: 940px) {
.skala-note{
font-size: 8px;
}
.skala-text{
font-size: 9px;
}
}

@media (max-width: 770px) {
.skala-ring{
width: 25px;
height: 25px;
}
.skala-percent{
font-size: 4px;
}
.skala-title{
font-size: 8px;
}
.skala-note{
font-size: 7px;
}
.skala-card{
gap: 2px;
padding: 2px;
}
}


@media (max-width: 710px) {
.skala-title{
font-size: 6px;
}

}
@media (max-width: 600px) {
.skala-ring{
width: 20px;
height: 20px;
}
.skala-ring::before {
inset: 1px;
}
.skala-percent{
font-size: 4px;
margin-left: -3px;
}
.skala-title{
font-size: 5px;
}
.skala-note{
font-size: 5px;
}
.scroll-hint{
font-size: 7px;
}
}

@media (max-width: 500px) {
.skala-ring{
width: 15px;
height: 15px;
}
.skala-percent{
font-size: 3px;
}
.skala-title{
font-size: 5px;
}
.skala-note{
font-size: 5px;
} 
}
@media (max-width: 350px) {
.skala-title{
font-size: 4px;
}
.skala-ring{
width: 13px;
height: 13px;
}
.skala-percent{
font-size: 2px;
}
}




/* COMPANY */
section.companycontent{
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 106px 20px;
overflow: hidden;
}
.scroller{
position: relative;
width: 100%;
overflow: hidden;
}
.scroller-track{
display: flex;
align-items: stretch;
gap: var(--gap, 18px);
animation: scroll 12s linear infinite;
will-change: transform;
}
.company{
flex: 0 0 calc((100% - (var(--gap, 18px) * 3)) / 4);
display: flex;
align-items: center;
justify-content: center;
height: 50px;
border: 1px solid rgba(255,255,255,.2);
border-radius: 12px;
background: transparent;
color: #fff;
font-size: 16px;
margin-top: 40px;
font-weight: 600;
letter-spacing: .02em;
text-align: center;
transition: transform .25s ease, box-shadow .25s ease;
}
.company:hover{
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(255,255,255,.1);
}
@keyframes scroll{
from{ transform: translateX(0); }
to{ transform: translateX(-50%); }
}

@media (max-width: 1200px){
section.companycontent{
padding: 36px 20px;
}
.company{
flex-basis: calc((100% - (var(--gap, 18px) * 2)) / 3);
}
.scroller-track{
animation: scroll 7s linear infinite;
}
}
@media (max-width: 860px){
section.companycontent{
padding: 0 20px;
}
.company{
flex-basis: calc((100% - var(--gap, 18px)) / 2);
}
.scroller{
padding: 100px 0;
}
.scroller-track{
animation: scroll 5s linear infinite;
}
}

@media (max-width: 670px){
section.companycontent{
padding-top: 120px;
}

}




/* SKALA MOBILE */
.mobileskala-container {
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
overflow: hidden;
background-image: url("img/code\ JS\ .png");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
background-attachment: fixed;
}

.mobileskala-bg {
position: absolute;
top: 50%;
left: 50%;
width: 520px;
transform: translate(-50%, -50%);
z-index: 0;
opacity: 0.25;
}

.mobileskala-card {
position: relative;
z-index: 1;
width: 240px;
text-align: center;
}

.mobileskala-title {
margin-bottom: 10px;
font-size: 18px;
font-weight: 700;
color: #ffffff;
}

.mobileskala-subtitle {
margin-bottom: 20px;
font-size: 13px;
color: #8b8d95;
}

.mobileskala-gauge-wrap {
position: relative;
height: 240px;
}

.mobileskala-gauge-svg {
width: 100%;
height: 100%;
transform: rotate(-90deg);
display: block;
}

.mobileskala-track {
stroke: #2a2d36;
opacity: 0.85;
}

.mobileskala-progress {
stroke-linecap: round;
filter: drop-shadow(0 4px 12px rgba(131, 56, 236, 0.45));
}

.mobileskala-pct {
position: absolute;
inset: 0;
display: grid;
place-items: center;
color: #ffffff;
font-size: 32px;
font-weight: 800;
}

@media (max-width: 1100px) {
.mobileskala-container {
background-position: bottom;
}
.mobileskala-bg{
width: 450px;
}

}








/* ÜBER MICH */
.uber {
padding-bottom: 80px;
color: var(--white);
}

.uber__wrap {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.1fr 0.9fr;
align-items: center;
gap: 26px;
padding: 0 10px;
}

.uber__image {
position: relative;
}

.uber__image img {
width: 100%; 
height: 100%;
object-fit: cover;
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
transform: translateZ(0);
}

.uber__title {
font-size: clamp(25px, 1.8vw, 38px);
line-height: 1.1;
margin: 0 0 24px 0;
color: var(--gray);
}

.uber__subtitle {
font-size: clamp(25px, 1.8vw, 38px);
margin: 32px 0 12px 0;
color: var(--gray);
}

.uber__text {
font-size: clamp(17px, 1.2vw, 19px);
line-height: 1.75;
margin: 0 0 18px 0;
}


@media (max-width: 1100px) {
.uber__text{
font-size: clamp(15px, 1.8vw, 28px);
}
.uber__wrap {
grid-template-columns: 1fr;
gap: 32px;
text-align: left;
}
.uber__content {
margin: 0 auto;
width: 100%;
padding: 0 90px;
}

.uber__image{
width: 100%;
}
.uber__image img {
height: auto;
max-height: none;
}
}

@media (max-width: 700px) {
.uber {
padding-top: 26px;
padding-bottom: 56px;
}
.uber__wrap {
gap: 24px;
}
.uber__title {
margin-bottom: 16px;
}
}

@media (max-width: 530px) {
.uber__content{
font-size: 1rem;
padding: 20px;

}
.uber__subtitle{
padding-bottom: 10px;
}
}






/* FAQ  */
section.faq-section {
position: relative;
min-height: 100vh;
display: grid;
place-items: center;
padding: 60px 20px;
}
section.faq-section::before {
content: "";
position: absolute;
inset: 0;
background: transparent;
}
.faq-wrap {
position: relative;
z-index: 1;
width: 100%;
max-width: 900px;
}
.faq-head {
text-align: left;
margin-bottom: 28px;
}
.faq-title {
font-size: clamp(34px, 5.5vw, 56px);
margin: 0 0 6px 0;
background: linear-gradient(90deg, #43e97b, #3bbef5, #0b6446, #ff9ecb);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.faq-sub {
margin: 0;
font-size: 1rem;
}
.faq-list {
display: grid;
gap: 14px;
}
.faq-item {
position: relative;
border-radius: 14px;
overflow: hidden;
padding: 1px;
transition: all 0.3s ease;
background-image: linear-gradient(135deg, #309d54, #3bbef5, #164e0b, #ff9ecb);
background-size: 300% 300%;
animation: gradientFlow 8s ease infinite;
}
.faq-inner {
border-radius: 13px;
overflow: hidden;
}
@keyframes gradientFlow {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.faq-toggle {
display: none;
}
.faq-question {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 20px;
cursor: pointer;
}
.faq-q-text {
font-weight: 600;
font-size: 1.05rem;
}
.faq-q-icon {
width: 28px;
height: 28px;
display: grid;
place-items: center;
border-radius: 50%;
border: 1px solid rgba(255,255,255,0.2);
color: var(--muted);
transition: transform .25s ease, color .25s ease, border-color .25s ease;
}
.faq-toggle:checked + label .faq-q-icon {
transform: rotate(45deg);
color: #fff;
border-color: #fff;
}
.faq-answer {
max-height: 0;
opacity: 0;
overflow: hidden;
line-height: 1.6;
font-size: 0.95rem;
padding: 0 20px;
border-top: 1px solid rgba(255,255,255,0.08);
transition: all 0.3s ease;
}
.faq-toggle:checked ~ .faq-answer {
max-height: 400px;
opacity: 1;
padding: 0 20px 18px 20px;
}
@media (max-width: 720px) {
.faq-q-text { font-size: 1rem; }
}





/* CONTACT */
.contact {
padding: clamp(2rem, 4vw, 4rem) 1.25rem;
max-width: 1300px;
margin: 0 auto;
}
.contact .cta {
display: inline-block;
background: rgb(57, 55, 55);
color: var(--white);
border: 2px solid var(--white);
border-radius: 30px;
transition: transform 0.6s ease, box-shadow 0.9s ease-in-out;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 14px 22px;
font-size: 16px;

}

.contact .wrap {
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
gap: 2rem;
align-items: start;
color: #ffffff;
}

.contactleft-bereich{
width: 50%;
}
.contactleft-feld {
width: 100%;
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00));
border: 1px solid rgba(255,255,255,0.08);
border-radius: 24px;
box-shadow: 0 20px 60px rgba(0,0,0,0.45);
padding: 40px 32px;
backdrop-filter: blur(6px);
animation: floatIn 600ms ease-out both;
height: 700px;
}

.contactleft-überschrift {
margin: 0 0 20px 0;
font-size: clamp(32px, 6vw, 64px);
line-height: 1.05;
letter-spacing: -0.02em;
font-weight: 800;
color: var(--gray);
}

.contactleft-akzent {
color: var(--green);
}

.contactleft-text {
margin: 0 0 14px 0;
font-size: clamp(16px, 1.7vw, 20px);
color: #b8becc;
}

.contactleft-text-hervorgehoben {
font-size: clamp(12px, 1.5vw, 16px);
color: var(--darkgray);
opacity: 0.95;
}

.contactleft-angaben {
display: grid;
gap: 8px;
margin-top: 10px;
}

.contactleft-infofeld {
font-size: 1rem;
color: #e7e9ee;
}

@keyframes floatIn {
from {
transform: translateY(14px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.contact .right{
width: 50%;
display: flex;
justify-content: center;
align-items: center;
}

.contact .image-wrap {
position: relative;
border-radius: 20px;
overflow: hidden;
height: 700px;
width: 100%;
box-shadow: 0 10px 30px rgba(0,0,0,0.25);
border: 1px solid rgba(255,255,255,0.06);
}

.contact .image-wrap img {
display: block;
width: 100%;
height: 100%;
}

.contact .tag {
position: absolute;
left: 6%;
translate: 0 0;
padding: 0.75rem 1rem;
backdrop-filter: blur(6px);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 14px;
font-size: 0.95rem;
line-height: 1.45;
box-shadow: 0 10px 30px rgba(0,0,0,0.25);
max-width: 86%;
}

.contact .tag-1 {
top: 7%;
}

.contact .tag-2 {
top: 34%;
}

.contact .tag-3 {
top: 56%;
}

.contact .tag-4 {
top: 78%;
}


.contact .dot {
width: 8px;
height: 8px;
border-radius: 50%;
display: inline-block;
margin-right: 0.5rem;
background: #5aa0ff;
box-shadow: 0 0 0 3px rgba(90,160,255,0.25);
}
.ctacontact{
margin-top: 20px;
width: 200px;
}
.instagram-btn-section
{
padding: 30px;
display: flex;
justify-content: center;

}

.instagram-btn
{
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 6px;
width: 200px;
padding: 12px 28px;
border-radius: 22px;
background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
color: #ffffff;
text-decoration: none;
font-size: 18px;
letter-spacing: 1px;
overflow: hidden;
}

.instagram-btn::before
{
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
transform: translateX(-130%);
transition: transform 700ms ease;
}

.instagram-btn:hover::before
{
transform: translateX(130%);
}

.instagram-btn-word
{
position: relative;
z-index: 1;
font-weight: 200;
letter-spacing: 1px;
text-transform: uppercase;
}

.instagram-btn-word-small
{
font-size: 12px;
opacity: 0.9;
letter-spacing: 1.4px;
}

.eckig{
background: rgb(57, 55, 55);
color: var(--white);
border: 2px solid var(--white);
border-radius: 30px;
width: 250px;
padding: 15px 20px;
}
@media (max-width: 1110px) {
.image-wrap{
height: auto;
}
.contactleft-überschrift{
font-size: 3rem;
}
}


@media (max-width: 440px) {
.contact .wrap {
flex-direction: column;
}
.contact .right {
width: 100%;

}
.contactleft-bereich{
width: 100%;
}
.contactleft-infofeld {
font-size: 0.9rem;
}
.contactleft-überschrift{
font-size: 2.2rem;
}

}




/* FOOTER */
footer {
padding: 60px 80px;
}

.footer-container {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 60px; 
max-width: 1100px;
color: white;
}

.footer-column {
display: flex;
flex-direction: column;
gap: 10px;
flex: 1;
min-width: 180px;
}

.footer-column.large {
flex: 1;
}

.footer-column h3 {
font-size: 1.2rem;
margin-bottom: 10px;
letter-spacing: 0.5px;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
padding-bottom: 6px;
}

.footer-column a {
color: white;
transition: color 0.3s, transform 0.3s;
}

.footer-column a:hover {
color: #ddd;
transform: translateX(4px);
}

.footer-column p {
margin: 0;
line-height: 1.6;
opacity: 0.9;
}

.footer-column img {
width: 150px;
margin-bottom: 15px;
border-radius: 8px;
}

.bottomlogo {
padding-top: 30px;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
font-size: 120px;
font-weight: 600;
letter-spacing: 25px;
text-align: center;
color: var(--gray);
}
@media (max-width: 1030px) {
.footer-bottom{
margin-bottom: 200px;
}
.bottomlogo{
font-size: 70px;
}
}

@media (max-width: 890px) {
.bottomlogo{
font-size: 50px;
}
.footer-column h3 {
width: 200px;
}
}

@media (max-width: 480px) {
footer {
padding: 30px 20px;
}

.footer-container {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 100%;
overflow-x: hidden;
}

.footer-column {
min-width: 0;
}

.footer-column h3 {
width: 100%;
box-sizing: border-box;
border-bottom: 1px solid rgba(255,255,255,0.2);
}

.footer-column img {
margin-left: 0;
max-width: 100%;
height: auto;
}

.bottomlogo {
padding-top: 30px;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
font-size: 30px;
font-weight: 600;
letter-spacing: 10px;
text-align: center;
color: var(--gray);
}

}

.footer-bottom {
width: 100%;
border-top: 1px solid #e5e5e7;
color: white;
padding-bottom: 10px;
}

.footer-bottom p {
margin: 0;
padding-top: 6px;
text-align: center;
font-size: 14px;
line-height: 1.6;
opacity: 0.9;
}







/* ===========IMPRESSUM UND DATENSCHUTZ============== */
section#impressum,
section#datenschutz {
background: linear-gradient(135deg, #000000 0%, #000600 50%, #002200 85%, #003300 100%);
color: white;
padding: 180px 10%;
line-height: 1.7;
}

section#impressum h2,
section#datenschutz h2 {
font-size: 2rem;
margin-bottom: 30px;
border-bottom: 2px solid rgba(255, 255, 255, 0.2);
display: inline-block;
padding-bottom: 6px;
letter-spacing: 0.5px;
}

section#impressum h3,
section#datenschutz h3 {
font-size: 1.2rem;
margin-top: 30px;
margin-bottom: 10px;
color: #f0f0f0;
}

section#impressum p,
section#datenschutz p,
section#datenschutz ul {
margin-bottom: 15px;
opacity: 0.9;
}

section#datenschutz ul {
list-style: disc;
padding-left: 25px;
}

section#impressum a,
section#datenschutz a {
color: #fff;
text-decoration: underline;
transition: color 0.3s;
}

section#impressum a:hover,
section#datenschutz a:hover {
color: #ddd;
}

@media (max-width: 900px) {
section#impressum,
section#datenschutz {
padding: 180px 6%;
}

section#impressum h2,
section#datenschutz h2 {
font-size: 1.6rem;
}

section#impressum h3,
section#datenschutz h3 {
font-size: 1.1rem;
}
}


/* AGB */
.agb {
background: linear-gradient(135deg, #000000 0%, #000600 50%, #002200 85%, #003300 100%);
color: var(--white);
padding: 180px 10%;
line-height: 1.7;
min-height: 100vh;
}

.agb h1,
.agb h2 {
font-size: clamp(20px, 1.8vw, 29px);
margin: 0 0 30px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.2);
display: inline-block;
padding-bottom: 6px;
letter-spacing: 0.5px;
color: var(--gray);
}

.agb h3 {
font-size: clamp(15px, 1.8vw, 28px);
margin: 30px 0 10px 0;
color: #f0f0f0;
}

.agb p {
margin: 0 0 15px 0;
opacity: 0.9;
max-width: 980px;
}

.agb ul {
list-style: disc;
padding-left: 25px;
margin: 0 0 15px 0;
opacity: 0.9;
max-width: 980px;
}

.agb li {
list-style: disc;
margin: 0 0 8px 0;
}

.agb a {
color: #ffffff;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.3s;
}

.agb a:hover {
color: #ddd;
}

.agb .agb-box {
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00));
border: 1px solid rgba(255,255,255,0.08);
border-radius: 24px;
box-shadow: 0 20px 60px rgba(0,0,0,0.45);
padding: 40px 32px;
backdrop-filter: blur(6px);
max-width: 1100px;
}

@media (max-width: 900px) {
.agb {
padding: 180px 6%;
}

.agb h1,
.agb h2 {
font-size: 1.6rem;
}

.agb h3 {
font-size: 1.1rem;
}

.agb .agb-box {
padding: 28px 22px;
}
}

@media (max-width: 480px) {
.agb {
padding: 160px 6%;
}

.agb h1,
.agb h2 {
font-size: 1.35rem;
}

.agb .agb-box {
padding: 22px 16px;
border-radius: 18px;
}
}



/* DANKE */
.danke {
min-height: 100vh;
padding: 180px 10%;
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
}

.danke-box {
max-width: 700px;
text-align: center;
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
border: 1px solid rgba(255,255,255,0.08);
border-radius: 24px;
padding: 40px 32px;
}

.danke-box h1 {
margin-bottom: 20px;
}

.danke-link {
display: inline-block;
margin-top: 20px;
color: var(--white);
}


/* CONTACT FORM */
.nf-contact {
color: #ffffff;
min-height: 70vh;
display: flex;
justify-content: center;
padding-top: 0;
}

.nf-contact .nf-contact__card {
width: 100%;
max-width: 640px;
border-radius: 18px;
background: transparent;
border: 1px solid rgba(170, 120, 255, 0.22);
box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
backdrop-filter: blur(10px);
padding: 52px;
}

.nf-contact .nf-contact__title {
margin: 0 0 6px 0;
font-size: 22px;
letter-spacing: 0.2px;
color: #f4f2ff;
}

.nf-contact .nf-contact__sub {
margin: 30px 0;
font-size: 14px;
color: rgba(236, 234, 243, 0.76);
}

.nf-contact .nf-contact__label {
font-size: 13px;
color: rgba(236, 234, 243, 0.86);
}

.nf-contact .nf-contact__input,
.nf-contact .nf-contact__textarea {
width: 100%;
box-sizing: border-box;
border-radius: 12px;
border: 1px solid rgba(170, 120, 255, 0.22);
background: transparent;
color: #f4f2ff;
padding: 12px 12px;
outline: none;
appearance: none;
-webkit-appearance: none;
transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.nf-contact .nf-contact__textarea {
resize: vertical;
min-height: 130px;
}

.nf-contact .nf-contact__input:focus,
.nf-contact .nf-contact__textarea:focus {
border-color: rgba(190, 140, 255, 0.62);
box-shadow: 0 0 0 4px rgba(155, 92, 255, 0.18);
}

.nf-contact .nf-contact__actions {
display: flex;
align-items: center;
gap: 12px;
margin-top: 2px;
flex-wrap: wrap;
}

.nf-contact .nf-contact__button {
border: 1px solid rgba(190, 140, 255, 0.42);
background: linear-gradient(180deg, rgba(155, 92, 255, 0.22), rgba(155, 92, 255, 0.12));
color: #f4f2ff;
padding: 12px 18px;
border-radius: 12px;
cursor: pointer;
transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease, border-color 160ms ease;
}

.nf-contact .nf-contact__button:hover:enabled {
transform: translateY(-1px);
box-shadow: 0 10px 28px rgba(155, 92, 255, 0.18);
border-color: rgba(210, 170, 255, 0.62);
}

.nf-contact .nf-contact__button:disabled {
opacity: 0.45;
cursor: not-allowed;
}

.nf-contact .nf-contact__hp {
position: absolute;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}

/* ARROW */
.fsbe-scrolltop {
position: fixed;
left: 16px;
bottom: 16px;
z-index: 9999;
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
border-radius: 999px;
background: #000;
color: #fff;
font-size: 22px;
line-height: 1;
}







/* SOCIAL ICONS 
.social_fixed_box {
position: fixed;
top: 45%;
right: 24px;
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 18px;
z-index: 99999;
}
.social_icon_wrap {
width: 46px;
height: 46px;
border-radius: 50%;
background: rgba(237, 171, 250, 0.079);
backdrop-filter: blur(4px);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: opacity 0.18s ease-in-out, transform 0.05s ease-in-out;
}
.social_icon_wrap:hover {
opacity: 0.82;
}
.social_icon_wrap:active {
transform: scale(0.94);
}
.social_svg {
width: 22px;
height: 22px;
fill: #ffffff;
} */