/* =========================
   YUNEA – Global Styles
   ========================= */
:root{
  --core-blue:#2E5F77;
  --core-light:#66A0B6;
  --bg-light:#E7EEF0;
  --assistent:#5ECAD6;
  --wp:#445F9D;
  --mesh:#53BFA1;
  --learn:#F3C55B;
  --green:#87C17E;
  --ledger:#7B93A2;
  --automation:#E09F3E;
  --font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  --text:#1E2A32;
  --brand-min: 4rem;
  --brand-fluid: 7vw;
  --brand-max: 7rem;
  --kicker-ratio: .22;  /* ~22% der Brand-Größe – nach Geschmack anpassen */ 
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--font);
  background:var(--bg-light);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* Buttons */
.btn{
  background:#fff;color:var(--core-blue);
  padding:.8rem 1.8rem;border-radius:30px;
  font-weight:600;text-decoration:none;display:inline-block;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.btn:hover{background:var(--core-light);color:#fff;transform:translateY(-2px)}

/* Sections */
section{padding:3rem 2rem;max-width:1100px;margin:auto}
h2.section-title{text-align:center;font-size:2rem;color:var(--core-blue);margin-bottom:0.1rem;margin-top:2rem}
.about p{max-width:800px;margin:auto;margin-top:0.1rem;text-align:center;font-size:1.1rem}

/* Modules Grid */
.modules{display:grid;margin-bottom:0.1rem;margin-top:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.module{
  background:#fff;border-radius:16px;padding:2rem 1.5rem;text-align:center;
  transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  margin-bottom:0.1rem
}
.module:hover{transform:translateY(-6px);box-shadow:0 14px 26px rgba(0,0,0,.12)}
.module h3{margin-top:1rem;font-size:1.25rem;color:var(--core-blue)}
.module p{font-size:.95rem;margin-top:.6rem;min-height:60px}
.module .color-bar{height:4px;width:60%;margin:0 auto 1rem;border-radius:2px}

/* Footer */
footer{
  background:var(--core-blue);color:#fff;padding:3rem 1rem;text-align:center
}
footer .color-line{display:flex;height:8px;margin-bottom:2rem}
footer .color-line>div{flex:1}

/* =========================
   HERO Header (neues Layout)
   ========================= */
header.yunea-hero{
  position:relative;
  color:#fff;
  background:url('../img/hintergrund.png') center bottom/100% auto no-repeat, var(--bg-light);
  padding: 0;
  /* Sanfter Übergang ins transparente nach unten */
  -webkit-mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 50%,
    rgba(0,0,0,0.9) 65%,
    rgba(0,0,0,0.6) 80%,
    rgba(0,0,0,0.3) 90%,
    rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,1) 50%,
    rgba(0,0,0,0.9) 65%,
    rgba(0,0,0,0.6) 80%,
    rgba(0,0,0,0.3) 90%,
    rgba(0,0,0,0) 100%
  );
}
.yunea-hero .hero-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:2rem;align-items:center
}
/* linke Spalte */
.yunea-hero .brand{
  font-size: clamp(var(--brand-min), var(--brand-fluid), var(--brand-max));
  font-weight:900;
  line-height:1;
  margin-top:.5rem;
}

.yunea-hero .kicker{
  font-size: clamp(
    calc(var(--brand-min) * var(--kicker-ratio)),
    calc(var(--brand-fluid) * var(--kicker-ratio)),
    calc(var(--brand-max) * var(--kicker-ratio))
  );
  letter-spacing: clamp(0.08rem, 0.2vw, 0.25rem);
  text-transform: uppercase;
  opacity:.95;
  margin-bottom:.25rem;
}

/* rechte Spalte (Portrait) */
.hero-visual{
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}
.hero-visual img{
  width:100%;
  max-width:420px;
  height:auto;
  border-radius:20px;
  object-fit: cover;
  align-self: flex-end;
  margin-bottom: 0;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.35));
}

/* =========================
   (Optional) Orbit-SVG Styles
   ========================= */
.label{font-size:14px;fill:#2E5F77;text-anchor:middle}
.badge circle{stroke-width:2}
.core{fill:#2E5F77;stroke:#66A0B6;stroke-width:5}
svg:not(:root){overflow:visible}
.badge.soon circle{opacity:.3}
.badge.soon text{
  font-size:18px;font-weight:700;fill:#fff;stroke:#1E2A32;stroke-width:3;paint-order:stroke fill
}

/* =========================
   Responsive
   ========================= */
@media(max-width:900px){
  section{padding:3.5rem 1.5rem}
  .yunea-hero .hero-inner{grid-template-columns:1fr}
  .hero-visual{order:-1;justify-content:center}
}
.banner-content{
  position:relative;
  background: rgba(30,42,50,0.35);
  padding: 2.2rem 1.6rem;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.18);
  backdrop-filter: blur(2px);
}
.banner-content h1{font-size:3rem; font-weight:800; letter-spacing:.5px;}
.banner-content p{font-size:1.25rem; margin-top:.6rem; opacity:.95;}
@media(max-width:768px){
  .hero-banner{height:380px; background-position: 65% center;}
  .banner-content h1{font-size:2.2rem;}
  .banner-content p{font-size:1.05rem;}
}
.hero-graphic { margin-top: -15rem;margin-bottom:-15rem}

/* Kontaktformular */
.contact-form {
  max-width: 600px;
  margin: 2rem auto 0;
  padding: 2rem;
  background: #f9f9f9;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.contact-form .form-group {
  margin-bottom: 1.5rem;
}

.contact-form label {
  display: block;
  margin-bottom: 0.4rem;
  font-weight: 600;
  color: var(--core-blue);
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  font-family: inherit;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--core-blue);
  outline: none;
  box-shadow: 0 0 6px rgba(46,95,119,0.25);
}

.contact-form .btn {
  width: 100%;
  padding: 0.9rem;
  font-size: 1.1rem;
  margin-top: 0.5rem;
}
