:root {
      --orange:#FF6600;
      --grey:#B4B4B4;
      --blue:#1482BE;
      --green:#009933;
      --navy-dark:#15223A;
      --navy-mid:#10192B;
      --white:#FFFFFF;

      --bg:#0b1320;
      --bg-soft:#101a2b;
      --surface:#111c30;
      --surface-2:#16243b;
      --text:#e9f2ff;
      --muted:#9ab1d1;
      --accent:#1fd4a1;
      --accent-2:#85f0d3;
      --risk:#f3a35f;
      --border:#233551;
      --ring:#3a86ff;

      --max-w:1200px;

      --header-max:130px;
      --header-min:70px;

      --t-fast:.18s cubic-bezier(.2,.75,.2,1);
      --t-mid:.26s cubic-bezier(.2,.75,.2,1);
    }

    html,body {height:100%;}
    body {
      margin:0;
      background:var(--navy-dark);
      color:var(--text);
      font:15px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }

    a {color:inherit;text-decoration:none;}
    img {max-width:100%;display:block;}

    .container {
      max-width:var(--max-w);
      margin:0 auto;
      padding:0 20px;
    }

    /* HEADER + NAV */

    .site-header {
      position:sticky;
      top:0;
      z-index:1000;
      height:var(--header-max);
      background:rgba(17,28,48,0.94);
      backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(255,255,255,0.08);
      display:flex;
      align-items:center;
      transition:none;
    }

    .header-inner {
      width:100%;
      max-width:var(--max-w);
      margin:0 auto;
      padding:0 20px;
      display:flex;
      align-items:center;
      gap:16px;
    }

    .brand {
      display:flex;
      align-items:center;
      gap:12px;
      cursor:pointer;
    }

    .brand-logo {
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .brand-logo img {
      height:90px;
      width:auto;
      display:block;
      transition:none;
    }

    .brand-title {
      display:flex;
      flex-direction:column;
      gap:2px;
    }

    .brand-title strong {
      font-size:20px;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .brand-title span {
      font-size:12px;
      color:var(--grey);
    }

    nav.primary {
      margin-left:auto;
      display:flex;
      align-items:center;
      gap:6px;
    }

    .nav-item {
      position:relative;
    }

    .nav-btn {
      border-radius:999px;
      border:1px solid transparent;
      padding:8px 14px;
      font-size:14px;
      background:transparent;
      color:var(--grey);
      display:inline-flex;
      align-items:center;
      gap:6px;
      cursor:pointer;
      transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast),transform var(--t-fast);
    }

    .nav-btn:hover,
    .nav-item.open .nav-btn {
      border-color:rgba(255,255,255,0.18);
      background:rgba(15,23,42,0.9);
      color:#fff;
    }

    .login-btn {
      margin-left:10px;
      border-radius:999px;
      border:none;
      padding:8px 18px;
      background:var(--green);
      color:#02140a;
      font-size:13px;
      font-weight:700;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;

      transition:transform var(--t-fast),box-shadow var(--t-fast);
    }

    .login-btn:hover {
      box-shadow:0 0 14px rgba(0,153,51,0.55);
    }

    .tool-btn {
      border-radius:999px;
      border:1px solid rgba(148,163,184,0.4);
      padding:8px 11px;
      background:rgba(15,23,42,0.85);
      color:#e2e8f0;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      margin-left:8px;
      font-size:15px;
      transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);
    }

    .wissenschaft {
      border:1px solid rgba(148,163,184,0.4);
      padding:8px 11px !important;
      background:rgba(15,23,42,0.85) !important;
      color:#e2e8f0;
      min-height:750px;
    }

    .wissenschaft>.section-col {
      color: rgba(15,23,42,0.85) !important;
    }

    .wissenschaft>div>h2 {
      color:rgba(125,125,125,1) !important;
      margin-top:30px;
    }

    .tool-btn:hover {
      background:rgba(125,125,125,1);
      box-shadow:0 12px 32px rgba(15,23,42,0.8);
    }

    .hamburger {
      display:none;
      font-size:20px;
    }

    /* MEGA MENU */

    .mega {
      position:fixed;
      left:0;
      right:0;
      top:100%;
      background:#0b1320;
      border-bottom:1px solid rgba(148,163,184,0.18);
      box-shadow:0 18px 50px rgba(15,23,42,0.95);
      display:none;
      opacity:0;
      transform:translateY(10px);
      transition:opacity var(--t-mid),transform var(--t-mid);
      z-index:900;
    }

    .nav-item.open .mega {
      display:block;
      opacity:1;
      transform:translateY(0);
    }

    .site-header.shrink + .mega {
      top:var(--header-min);
    }

    .mega-inner {
      max-width:var(--max-w);
      margin:0 auto;
      padding:16px 20px 20px;
      display:grid;
      grid-template-columns:280px 1fr;
      gap:20px;
    }

    .mega-col {
      max-height:60vh;
      overflow:auto;
      padding-right:8px;
    }

    .mega-col + .mega-col {
      border-left:1px dashed rgba(148,163,184,0.35);
      padding-left:16px;
      padding-right:0;
    }

    .sub-link {
      display:flex;
      gap:10px;
      align-items:flex-start;
      border-radius:12px;
      padding:10px 10px;
      margin-bottom:6px;
      cursor:pointer;
      transition:background var(--t-fast),transform var(--t-fast);
    }

    .sub-link:hover {
      background:rgba(15,23,42,0.9);
      transform:translateY(-1px);
    }

    .sub-link-title {
      font-size:14px;
      font-weight:600;
      margin-bottom:3px;
      color:#e2e8f0;
    }

    .sub-link-desc {
      font-size:12px;
      color:var(--muted);
    }

    .tertiary {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      padding: 2px;
    }

    .t-card {
      border-radius:12px;
      border:1px solid rgba(148,163,184,0.35);
      background:rgba(15,23,42,0.95);
      padding:10px 10px 10px 10px;
      display:flex;
      gap:8px;
      align-items:flex-start;
      transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);
      cursor:pointer;
    }

    .t-card:hover {
      border-color:var(--accent);
      background:rgba(15,23,42,1);
      transform:translateY(-1px);
      box-shadow:0 18px 46px rgba(15,23,42,0.85);
    }

    .t-card h4 {
      margin:0 0 4px;
      font-size:13px;
      font-weight:600;
      color:#e2e8f0;
    }

    .t-card p {
      margin:0;
      font-size:11px;
      color:var(--muted);
    }

    /* MOBILE NAV */

    .scrim {
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.55);
      display:none;
      z-index:800;
    }

    .scrim.open {display:block;}

    .mobile-panel {
      position:fixed;
      top:var(--header-max);
      right:0;
      left:0;
      background:#0b1320;
      border-top:1px solid rgba(148,163,184,0.4);
      box-shadow:0 18px 50px rgba(15,23,42,0.9);
      display:none;
      padding:14px 18px 18px;
      z-index:850;
      max-height:calc(100vh - var(--header-max));
      overflow:auto;
    }

    .mobile-panel.open {display:block;}

    .mobile-group {
      margin-bottom:12px;
    }

    .mobile-group h4 {
      margin:6px 0 6px;
      font-size:13px;
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.12em;
    }

    .mobile-link {
      display:block;
      padding:8px 6px;
      border-radius:10px;
      font-size:14px;
      color:#e2e8f0;
    }

    .mobile-link:hover {
      background:rgba(15,23,42,0.9);
    }

    /* HERO */

    .hero {
      padding:72px 0 80px;
      background:
              radial-gradient(circle at 120% -10%, rgba(148,163,184,0.25), transparent 60%),
              radial-gradient(circle at 0% 110%, rgba(100,116,139,0.25), transparent 60%),
              var(--navy-dark);
      border-bottom:1px solid rgba(148,163,184,0.24);
    }

    .hero-inner {
      max-width:var(--max-w);
      margin:0 auto;
      padding:0 20px;
      display:grid;
      grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
      gap:32px;
      align-items:center;
    }

    .hero h1 {
      font-size:clamp(32px,4vw,46px);
      margin:0 0 16px;
    }

    .hero p {
      font-size:17px;
      margin:0 0 22px;
      color:#cbd5f5;
      max-width:520px;
    }

    .hero-meta {
      font-size:12px;
      color:var(--grey);
      margin-top:10px;
    }

    .hero-cta {
      display:flex;
      flex-wrap:wrap;
      gap:12px;
    }

    .btn {
      border-radius:999px;
      border:1px solid rgba(148,163,184,0.45);
      padding:9px 16px;
      font-size:14px;
      cursor:pointer;
      background:rgba(15,23,42,0.9);
      color:#e2e8f0;
      display:inline-flex;
      align-items:center;
      gap:8px;
      transition:background var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast);
      text-decoration:none;
    }

    .btn:hover {
      background:rgba(15,23,42,1);
      transform:translateY(-1px);
      box-shadow:0 18px 40px rgba(15,23,42,0.8);
    }

    .btn-primary {
      background:linear-gradient(120deg,var(--accent),var(--accent-2));
      color:#021b14;
      border-color:transparent;
      box-shadow:0 0 28px rgba(31,212,161,0.6);
      font-weight:700;
    }

    .btn-primary:hover {
      box-shadow:0 0 28px rgba(2,27,20,0.6);
      color:var(--accent);
    }

    .hero-visual {
      border-radius:22px;
      border:1px solid rgba(148,163,184,0.3);
      background:radial-gradient(circle at 0 0,rgba(148,163,184,.1),transparent 60%),rgba(15,23,42,0.96);
      padding:16px;
      box-shadow:0 22px 60px rgba(15,23,42,0.9);
      display:flex;
      flex-direction:column;
      gap:10px;
    }


    /* WIND VALUE SECTION */

    .value-section {
      position:relative;
      margin:56px auto 80px;
      max-width:var(--max-w);
      padding:0 20px;
    }

    .value-inner {
      position:relative;
      border-radius:22px;
      border:1px solid rgba(148,163,184,0.35);
      overflow:hidden;
      background:
              radial-gradient(circle at 120% -10%, rgba(148,163,184,0.18), transparent 60%),
              radial-gradient(circle at -10% 110%, rgba(100,116,139,0.18), transparent 60%),
              var(--navy-mid);
      box-shadow:0 24px 70px rgba(15,23,42,0.95);
      padding:64px 24px 70px;
    }

    .wind-simulation {
      position:absolute;
      inset:0;
      opacity:.7;
      pointer-events:none;
      overflow:hidden;
    }

    .wind-layer {
      position:absolute;
      inset:0;
      opacity:.16;
      background:linear-gradient(45deg, transparent 0%, rgba(148,163,184,.35) 40%, transparent 70%);
      animation:windFlow 8s ease-in-out infinite;
    }

    .wind-layer:nth-child(1) {
      animation-duration:7s;
      animation-delay:0s;
    }

    .wind-layer:nth-child(2) {
      animation-duration:9s;
      animation-delay:-2s;
      background:linear-gradient(45deg, transparent 0%, rgba(148,163,184,.35) 40%, transparent 70%);

    }

    .wind-layer:nth-child(3) {
      animation-duration:11s;
      animation-delay:-4s;
      background:linear-gradient(45deg, transparent 0%, rgba(148,163,184,.35) 40%, transparent 70%);
    }

    .wind-particles {
      position:absolute;
      inset:0;
    }

    .particle {
      position:absolute;
      width:4px;
      height:4px;
      border-radius:999px;
      background:#94a3b8;
      opacity:0;
      animation:particleFlow 12s linear infinite;
    }

    .particle:nth-child(1){top:20%;animation-delay:0s;}
    .particle:nth-child(2){top:38%;animation-delay:-1.4s;}
    .particle:nth-child(3){top:55%;animation-delay:-2.8s;}
    .particle:nth-child(4){top:72%;animation-delay:-4.2s;}
    .particle:nth-child(5){top:28%;animation-delay:-5.6s;background:#94a3b8;}
    .particle:nth-child(6){top:46%;animation-delay:-7s;background:#94a3b8;}
    .particle:nth-child(7){top:64%;animation-delay:-8.4s;background:#94a3b8;}
    .particle:nth-child(8){top:82%;animation-delay:-9.8s;background:#94a3b8;}

    .wind-landscape {
      position:absolute;
      left:20px;
      right:20px;
      bottom:6px;
      height:70px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      pointer-events:none;
    }

    .wind-landscape svg {
      height:52px;
      width:auto;
    }

    .tree {
      transform-origin:bottom center;
      animation:treeSway 5.5s ease-in-out infinite;
    }
    .tree:nth-child(1){animation-delay:0s;}
    .tree:nth-child(2){animation-delay:-1.3s;}
    .tree:nth-child(3){animation-delay:-2.1s;}
    .tree:nth-child(4){animation-delay:-2.9s;}
    .tree:nth-child(5){animation-delay:-3.7s;}

    .tree-snap .crown-collision {
      transform-origin:bottom center;
      animation:crownCollision 8s ease-in-out infinite;
    }

    .house-main {
      transform-origin:bottom center;
      animation:houseShake 4s ease-in-out infinite;
    }

    .roof-main {
      transform-origin:center bottom;
      animation:roofCollisionFly 8s ease-in-out infinite;
    }

    .tree-fly {
      transform-origin:bottom center;
      animation:treeFly 9s ease-in-out infinite;
    }

    .value-content {
      position:relative;
      max-width:720px;
      margin:0 auto;
      text-align:center;
      z-index:2;
    }

    .value-content h2 {
      margin:0 0 18px;
      font-size:clamp(28px,3.4vw,40px);
      background:linear-gradient(120deg,#e5edff,#e5edff);
      -webkit-background-clip:text;
      background-clip:text;
      -webkit-text-fill-color:transparent;
    }

    .value-subtitle {
      margin:0 auto 32px;
      max-width:640px;
      font-size:16px;
      color:#cbd5f5;
    }

    .value-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      max-width:720px;
      margin:0 auto;
    }

    .value-item {
      border-radius:14px;
      border:1px solid rgba(148,163,184,0.35);
      background:rgba(15,23,42,0.92);
      padding:10px 12px;
      text-align:left;
      font-size:13px;
    }

    .value-item strong {
      display:block;
      margin-bottom:4px;
      font-size:13px;
      color:#e5edff;
    }

    /* WHITE SECTIONS */

    .section {
      background:#ffffff;
      color:#020617;
      padding:100px 0;
    }

    .section-inner {
      max-width:var(--max-w);
      margin:0 auto;
      padding:0 20px;
    }

    .section h2 {
      font-size:30px;
      margin:0 0 24px;
    }

    .section p {
      font-size:16px;
      max-width:720px;
      margin:0;
      color:#4b5563;
    }

    .section-row {
      display:flex;
      flex-wrap:wrap;
      gap:32px;
      align-items:flex-start;
      margin-top:16px;
    }

    .section-col {
      flex:1 1 260px;
    }

    .section-img {
      flex:1 1 260px;
      max-width:420px;
      border-radius:18px;
      height:260px;
    }

    /* FOOTER */

    footer {
      background:var(--navy-mid);
      border-top:1px solid rgba(15,23,42,0.9);
      padding:32px 0 26px;
      color:#e2e8f0;
    }

    .footer-inner {
      max-width:var(--max-w);
      margin:0 auto;
      padding:0 20px;
    }

    .footer-grid {
      display:grid;
      grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr));
      gap:18px;
      margin-bottom:16px;
    }

    .footer-brand {
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:6px;
    }

    .footer-logo {
      width:32px;
      height:32px;
      border-radius:9px;
      display:flex;
      justify-content:center;
      align-items:center;
      background:radial-gradient(circle at 0 100%,rgba(16,185,129,0.9),transparent 60%),radial-gradient(circle at 120% 0,rgba(248,113,113,0.95),transparent 60%),#020617;
    }

    .footer-logo svg {
      width:18px;
      height:18px;
      color:#e5e7eb;
    }


    .footer-col h5 {
      margin:0 0 8px;
      font-size:13px;
      color:#9ca3af;
      text-transform:uppercase;
      letter-spacing:.12em;
    }

    .footer-link {
      display:block;
      font-size:13px;
      margin-bottom:4px;
      color:#e5e7eb;
      opacity:.85;
      transition:opacity var(--t-fast),color var(--t-fast),transform var(--t-fast);
    }

    .footer-link:hover {
      opacity:1;
      color:var(--accent);
      transform:translateY(-1px);
    }

    .footer-copy {
      border-top:1px solid rgba(15,23,42,0.9);
      padding-top:12px;
      font-size:11px;
      color:#9ca3af;
      display:flex;
      justify-content:space-between;
      flex-wrap:wrap;
      gap:8px;
    }

    /* RESPONSIVE */

    @media (max-width:1024px) {
      nav.primary {
        display:none;
      }
      .hamburger {
        display:inline-flex;
      }
      .mobile-panel {
        top:var(--header-max);
      }
      .site-header.shrink + .mega {
        top:var(--header-min);
      }
    }

    @media (max-width:900px) {
      .hero-inner {
        grid-template-columns:1fr;
      }
      .hero-visual {
        order:-1;
      }
    }

    @media (max-width:800px) {
      .mega-inner {
        grid-template-columns:1fr;
      }
      .mega-col + .mega-col {
        border-left:none;
        border-top:1px dashed rgba(148,163,184,0.35);
        padding-left:0;
        padding-top:12px;
      }
      .value-inner {
        padding:56px 18px 64px;
      }
      .value-grid {
        grid-template-columns:1fr;
      }
    }

    @media (max-width:720px) {
      .section {
        padding:80px 0;
      }
      .section-row {
        flex-direction:column;
      }
      .footer-grid {
        grid-template-columns:1fr 1fr;
      }
    }

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

    @keyframes windFlow {
      0% {transform:translateX(-110%) skewX(-10deg);opacity:0;}
      20% {opacity:.16;}
      50% {transform:translateX(0) skewX(0deg);opacity:.26;}
      80% {opacity:.14;}
      100% {transform:translateX(110%) skewX(10deg);opacity:0;}
    }

    @keyframes particleFlow {
      0% {left:-20px;opacity:0;transform:translateY(0) scale(.6);}
      10% {opacity:1;transform:translateY(-16px) scale(1);}
      50% {transform:translateY(-38px) scale(1.12);}
      90% {opacity:1;transform:translateY(-18px) scale(1);}
      100% {left:calc(100% + 20px);opacity:0;transform:translateY(0) scale(.6);}
    }

    @keyframes treeSway {
      0%,100% {transform:rotate(0deg);}
      25% {transform:rotate(8deg);}
      55% {transform:rotate(16deg);}
      80% {transform:rotate(6deg);}
    }

    @keyframes crownCollision {
      0%,50% {transform:rotate(0deg) translateX(0);}
      60% {transform:rotate(10deg) translateX(2px);}
      70% {transform:rotate(22deg) translateX(7px);}
      75% {transform:rotate(30deg) translateX(11px);}
      85% {transform:rotate(40deg) translateX(18px) translateY(-2px);opacity:.7;}
      100% {transform:rotate(55deg) translateX(30px) translateY(-4px);opacity:0;}
    }

    @keyframes houseShake {
      0%,100% {transform:rotate(0deg);}
      25% {transform:rotate(-1.6deg);}
      50% {transform:rotate(1.2deg);}
      75% {transform:rotate(-0.8deg);}
    }

    @keyframes roofCollisionFly {
      0%,70% {transform:translateY(0) rotate(0);opacity:.9;}
      72% {transform:translateY(-2px) rotate(-1.5deg);}
      74% {transform:translateY(0) rotate(1deg);}
      78% {transform:translateY(-4px) rotate(-0.8deg);}
      82% {transform:translateY(-12px) translateX(10px) rotate(10deg);}
      88% {transform:translateY(-32px) translateX(30px) rotate(26deg);opacity:.6;}
      94% {transform:translateY(-62px) translateX(60px) rotate(46deg);opacity:.3;}
      100% {transform:translateY(-94px) translateX(90px) rotate(68deg);opacity:0;}
    }

    @keyframes treeFly {
      0%,78% {transform:translateY(0) rotate(0);opacity:1;}
      88% {transform:translateY(-20px) translateX(10px) rotate(18deg);opacity:.7;}
      100% {transform:translateY(-40px) translateX(24px) rotate(40deg);opacity:.25;}
    }

    /* ============================================================
       GLOBAL ROUNDING RESET — REMOVE ALL ROUNDED CORNERS
       ============================================================ */

    *,
    *::before,
    *::after {
      border-radius: 0 !important;
    }

    /* Hero image frames, cards, modals, boxes */
    .hero-visual,
    .hero-visual-map,
    .value-inner,
    .value-item,
    .section-img,
    .section,
    .section-inner,
    .section-col,
    .footer-logo,
    .footer-col,
    .footer-link,
    .footer-brand,
    .footer,
    .footer-inner,
    .footer-grid,
    .footer-copy,
    .card,
    .product-card,
    .feature,
    .feature-highlight,
    .feature-vertical,
    .card-img,
    .pricing-card,
    .team-card,
    .testimonial,
    .faq-item,
    .widget,
    .contact-card,
    .timeline-item,
    .alert,
    .newsletter,
    .video-player,
    .video-overlay,
    .gallery-item,
    .comparison-col,
    .step-number,
    .accordion-item,
    .accordion-header,
    .accordion-content,
    .cta-banner,
    .modal,
    .search-input,
    .form-input,
    .table,
    .breadcrumb-enhanced,
    .progress,
    .progress-bar,
    .dropdown-content,
    .t-card,
    .sub-link,
    .mega,
    .mega-col,
    .mobile-panel,
    .mobile-group,
    .mobile-link,
    .login-btn,
    .nav-btn,
    .tool-btn,
    .btn,
    .btn-primary,
    .btn-secondary,
    .social-link,
    .badge,
    .tag,
    .tag-cloud,
    .spinner,
    .house-main,
    .roof-main,
    .tree,
    .tree-snap,
    .tree-fly {
      border-radius: 0 !important;
    }

    #produkt {
      background: #072344;
    }
    #produkt p {
      color: #ffffff;
    }
    #produkt h2, #produkt h3 {
      color: #f8fafc;
    }
    #branchen {
      background: #4b668b;
    }
    #branchen p,
    #branchen h1,
    #branchen h2,
    #branchen h3,
    #branchen h4 {
      color: #ffffff;
    }
    #integration {
      background: #0a396f;
    }
    #integration p,
    #integration h1,
    #integration h2,
    #integration h3,
    #integration h4 {
      color: #ffffff;
    }
    #wissenschaft {
      background: #8ea9d1;
    }
    #wissenschaft p,
    #wissenschaft h1,
    #wissenschaft h2,
    #wissenschaft h3,
    #wissenschaft h4,
    #wissenschaft li,
    #wissenschaft span {
      color: #fff;
    }

    #comandments {
      background-color: #8ea9d1;
      color: black;
    }

    #comandments p,
    #comandments h1,
    #comandments h2,
    #comandments h3,
    #comandments h4,
    #comandments li,
    {
      color: black;
    }

    img[src*="potsdam_uni_logo.png"] {
      -webkit-filter: invert(1);
      filter: invert(1);
    }
    img[src*="gfz-logo.png"],
    img[src*="uaaustin-logo.png"] {
      -webkit-filter: invert(1);
      filter: invert(1);
    }

    #kontakt {
      background: #e0e1df;
    }





