 :root {
   --black: #000000;
   --dark: #454545;
   --grey: #8f8f8f;
   --white: #ffffff;
   --light: #dedede;
   --gold: #d4af37;
 }

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

 body {
   font-family: 'Montserrat', sans-serif;
   /* background: linear-gradient(135deg, #000 0%, #111 100%); */
   background: var(--light);
   color: var(--dark);
   min-height: 100vh;
   display: flex;
   /*align-items: center;*/
   justify-content: center;
   overflow: hidden;
 }

 .container {
   text-align: center;
   padding: 1rem;
   max-width: 800px;
   opacity: 0;
   transform: translateY(20px);
   transition: opacity 1.2s ease, transform 1.2s ease;
 }

 .container.show {
   opacity: 1;
   transform: translateY(0);
 }

 .logo {
   font-family: 'Playfair Display', serif;
   /*font-size: 3rem;*/
   letter-spacing: 3px;
   color: var(--gold);
   /*margin-bottom: 20px;*/
 }

 .logo img {
   width: 9rem;
 }

 .subtitle {
   font-size: 1.1rem;
   letter-spacing: 2px;
   text-transform: uppercase;
   /*margin-bottom: 40px;*/
   /* color: #ddd; */
   color: var(--dark)
 }

 .headline {
   font-family: 'Playfair Display', serif;
   font-size: 2.2rem;
   margin-bottom: 20px;
   color: var(--black);
 }

 .description {
   font-size: 1rem;
   line-height: 1.7;
   max-width: 600px;
   margin: 0 auto 40px;
   /* color: #ccc; */
   color: var(--dark);
 }

 .divider {
   width: 80px;
   height: 2px;
   background: var(--gold);
   margin: 1rem auto;
 }

 .notify {
   margin-top: 30px;
 }

 .notify input {
   padding: 12px 15px;
   width: 250px;
   border: 1px solid var(--dark);
   border-radius: 1rem;
   outline: none;
   font-size: 0.9rem;

 }

 .notify button {
   padding: 12px 25px;
   margin-top: 1rem;
   border: none;
   background: var(--gold);
   color: var(--black);
   font-weight: 600;
   cursor: pointer;
   transition: background 0.3s ease, transform 0.3s ease;
   border-radius: 1rem;
 }

 .notify button:hover {
   background: #c19b2e;
   /* transform: translateY(-2px); */
 }

 footer {
   position: absolute;
   bottom: 20px;
   font-size: 0.8rem;
   /* color: #777; */
   color: var(--dark);
   letter-spacing: 1px;
 }

 .alerts {
   margin-top: 2rem;
   opacity: 0;
   transition-duration: 0.5s;
   transition-property: opacity;
 }

 .alerts.show {
   opacity: 1;
   transition-delay: 0.5s;
   transform: translateY(0);
   transform-origin: top;
 }

 .lang-switcher {
   position: fixed;
   top: 20px;
   right: 20px;
   z-index: 1000;
   font-family: 'Montserrat', sans-serif;
 }

 .lang-btn {
   background: rgba(255, 255, 255, 0.9);
   border: 1px solid rgba(0, 0, 0, 0.1);
   border-radius: 8px;
   padding: 8px 12px;
   cursor: pointer;
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 15px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
   transition: background 0.2s, box-shadow 0.2s;
 }

 .lang-btn:hover {
   background: #fff;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
 }

 .lang-btn .flag {
   font-size: 20px;
   line-height: 1;
 }

 .lang-dropdown {
   display: none;
   position: absolute;
   top: calc(100% + 6px);
   right: 0;
   background: #fff;
   border-radius: 8px;
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
   min-width: 160px;
   overflow: hidden;
   border: 1px solid rgba(0, 0, 0, 0.06);
 }

 .lang-switcher.open .lang-dropdown {
   display: block;
 }

 .lang-option {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 14px;
   cursor: pointer;
   font-size: 14px;
   color: #333;
   transition: background 0.15s;
 }

 .lang-option:hover {
   background: #f5f5f5;
 }

 .lang-option .flag {
   font-size: 20px;
   line-height: 1;
 }

 .lang-option.active {
   background: #f0f0f0;
   font-weight: 600;
 }

 @media (max-width: 600px) {
   .logo img {
     width: 7rem;
     /*   font-size: 2.3rem;*/
   }

   .headline {
     font-size: 1.7rem;
   }

   .notify input {
     width: 100%;
     margin-bottom: 10px;
   }

   .notify button {
     width: 100%;
   }
 }