/*  LE GRAND BECK  COLORS 
    DUNKELGRAU: #777168     119/113/104
    MITTELGRAU: #CDC7BC     205/199/188
    HELLGRAU:   #E9E5DD     233/229221 body background color
    BRONZE:     #B88F4E     184/143/78
    MESSING:    #D0B64B     208/182/75
    GOLD:       #BC9C41     188/156/65
    LODENGRÜN:  #465029     70/80/41
    
*/

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      opacity: 0;
      transition: opacity 0.2s ease-in-out; 
      background-color: #e9e5dd; 
      font-family: 'Red Hat Display', sans-serif; /* Ensure input matches */
      font-weight: 800;
      font-size: 12px;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
    }

    body.loaded {
      opacity: 1;
    } 

    .container {
      max-width: 90%;
      width: 100%;
      background: transparent; 
      padding: 1.rem 1.rem 2rem 1.rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    /* ----- LOGO AREA: PNG image, large but balanced, centered ----- */
    .logo-png {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      margin: 0.5rem 0 1rem 0;
    }

    .logo-png img {
      max-width: min(90%, 580px);   /* large, but never too large — respectful on big screens */
      width: auto;
      height: auto;
      max-height: 28vh;              /* keeps it proportional, never overwhelming */
      display: block;
      object-fit: contain;
      filter: drop-shadow(0 2px 4px rgba(0,0,0,0.02)); /* just a whisper */
    }

    /* optional very subtle separator — pure atmosphere */
    .divider {
      width: 120px;
      height: 1px;
      background: #CDC7BC;
      margin: 1.5rem auto 2rem auto; 
      opacity: 0.6;
    }

    /* text block — minimal, elegant */
    .prelude {
      color: #B88F4E ;
	  font-family: 'Red Hat Display', sans-serif; /* Ensure input matches */
      font-weight: 800;
      font-size: 14px;
      font-weight: 330;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-top: 80px; 
      margin-bottom: 2rem;
      line-height: 1.5;
    }

   .form-card {
      width: 100%;
      max-width: 460px;
      margin: 0 auto;
      animation: gentleRise 1s ease;
    }

    @keyframes gentleRise {
      0% { opacity: 0.6; transform: translateY(5px); }
      100% { opacity: 1; transform: translateY(0); }
    }

    .email-group {
      width: 100%;
      border-bottom: 1px solid #CDC7BC; 
      transition: border 0.2s;
      margin-bottom: 2rem;
    }

    .email-group:hover,
    .email-group:focus-within {
      border-bottom-color: #B88F4E;
    }

    .email-input {
      width: 100%;
      background: transparent;
      border: none;
      padding: 0.8rem 0.2rem 0.6rem 0.2rem;
      font-family: 'Red Hat Display', sans-serif; /* Ensure input matches */
      font-weight: 800;
      font-size: 12px;
      outline: none;
      text-align: center;
    }

    .email-input::placeholder {
      color: #b9b2a9;
      font-weight: 290;
      font-size: 1.1rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      opacity: 0.7;
    }

    /* button — bare outline, elegant gesture */
    .button {
      background: transparent;
      border: 1.2px solid #cdc7bc; /* #bbb2aa */
      padding: 0.85rem 2.8rem;
      font-family: 'Red Hat Display', sans-serif; /* Ensure input matches */
      font-weight: 800;
      font-size: 14px;
      letter-spacing: 0.45em;
      text-transform: uppercase;
      color: #777168;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.25s;
      background-color: rgba(205,199,188,1.0);
      backdrop-filter: blur(2px);
      margin-top: 0.8rem;
    }

    .button:hover {
      background-color: #b88f4e;
      border-color: #948c84;
      color: #777168;
    }

    /* Thank You Message - Hidden by default */
    .thank-you-message {
      display: none;
      opacity: 0;
      transition: opacity 0.6s ease-in-out;
      color: #465029; /* Green success color */
      font-family: 'Red Hat Display', sans-serif; /* Ensure input matches */
      font-weight: 800;
      font-size: 14px;
      text-align: center;
      text-transform: uppercase;
      width: 100%;
      margin-top: 10px;
    }

    /* Visible state */
    .thank-you-message.show {
      display: block;
      opacity: 1;
    }

    /* Optional: Hide the form fields after submission */
    .email-form.submitted .email-group,
    .email-form.submitted .button {
      display: none;
    }

    /* Privacy Policy Link */
.privacy-link {
    font-family: 'Red Hat Display Light', sans-serif;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    letter-spacing: 2px;
    color: #777168;
    margin-top: 40px;
    padding-top: 30px;
}

    .privacy-link a { 
        font-family: 'Red Hat Display Light', sans-serif;
        font-size: 11px;
        font-weight: 400;
        color: #777168; 
        text-transform: uppercase;
        letter-spacing: 2px;
        text-decoration: none;
   }

        .privacy-link a:hover {
            font-family: 'Red Hat Display Light', sans-serif;
            font-size: 11px;
            font-weight: 400;
            letter-spacing: 2px;
            color: #D0B64B;
        }

    /* Copyright Footer */
    .footer {
        font-family: 'Red Hat Display Light', sans-serif;
        font-size: 10px;
        font-weight: 100;
        letter-spacing: 0.5px;
        color: #777168;
        margin-top: auto;
        padding-top: 50px;
        text-align: center;
    }

    /* IMPRESSUM PAGE */ 
    .impressum {
      max-width: 90%;
      width: 100%;
      background: transparent; 
      font-family: 'Red Hat Display Light', sans-serif;
      font-weight: 500;
      font-size: 12px;
      line-height: 1.8;
      color:#777168;
      padding: 1.rem 1.rem 2rem 1.rem;
      display: flex;
      flex-direction: column;
      align-items: left;
      text-align: left;
    }


    h1 {
      font-family: 'Red Hat Display', sans-serif;
      font-weight: 800;
      font-size: 24px;
      color: #777168;
      text-align: left;
      margin-top: auto;
      margin-bottom: 60px;
      letter-spacing: 1px;
      text-transform: uppercase;
    }

    .company-info {
      font-family: 'Red Hat Display Light', sans-serif;
      max-width: 100%;
      text-align: left;
      margin-bottom: 60px;
      padding-bottom: 40px;
    }

.company-name {
    font-family: 'Red Hat Display Light', sans-serif;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: 1px;
}
    
    .contact-details {
        font-size: 12pxrem;
        color: #777168;
        text-decoration: none;
    }

    .contact-details a {
        font-family: 'Red Hat Display Light', sans-serif;
        font-size: 12px;
        color: #777168;
        text-decoration: none;
    }

    .contact-details a:hover {
        color: #D0B64B;
    }

    .info-grid {
        margin-bottom: 60px;
    }

    .info-row {
        display: grid;
        grid-template-columns: 250px 1fr;
        padding: 10px 0;
    }

.info-label {
    font-family: 'Red Hat Display Light', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.2;
    text-align: left;
}

    .info-content {
        font-family: 'Red Hat Display Light', sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;
        text-align: right;
    }
        .info-content a {
            font-family: 'Red Hat Display Light', sans-serif;
            font-size: 14px;
            font-weight: 400;
            line-height: 1.2;
            text-align: right;
            color: #777168;
            text-decoration: none;
        }

    .info-content a:hover {
        font-family: 'Red Hat Display Light', sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;
        text-align: right;
        color: #B88F4E;

    }

    .divider {
      border: none;
      background: transparent;
      width: 100%;
      height: 10px;
      margin-top: 10px;
      margin-bottom: 10px;
      border-bottom: 1px dotted #777168;
    }

        .disclaimer {
            text-align: left;
            padding-top: 20px;
            line-height: 1.4;
        }

        .disclaimer h2 {
            font-family: 'Red Hat Display Light', sans-serif;
            font-size: 14px;
            font-weight: 800;
            margin-bottom: 20px;
            line-height: 1.4;
        }

    .disclaimer p {
        font-family: 'Red Hat Display Light', sans-serif;
        margin-bottom: 16px;
        font-size: 12px;
        line-height: 1.4;
    }

    .disclaimer p:last-child {
        margin-bottom: 0;
    }


    /* mobile fine-tuning */
    @media (max-width: 480px) {
      .container {
        padding: 1rem 0.5rem 2.5rem 0.5rem;
      }
      .logo-png img {
        max-width: 95%;
        max-height: 22vh;        
      }
      .email-input {
        font-size: 1.2rem;
      }
      .button {
        padding: 0.7rem 2rem;
        letter-spacing: 0.3em;
      }
      .prelude {
        font-size: 1rem;
      }

      .footer {
        padding-top: 30px;
      }

      h1 {
        font-size: 14px;
      }

      .info-row {
          grid-template-columns: 1fr;
          gap: 10px;
          padding: 5px 0;
      }

      .info-label {
          font-size: 0.8rem;
          margin-bottom: 5px;
      }

      .company-name {
          font-size: 12px;
      }
      
    }

    /* for very tall screens, logo never dominates vertically */
    @media (min-height: 900px) {
      .logo-png img {
        max-height: 220px;
      }
    }